Cobalt Strike 4.0系列(三) --- 主機上線
概念引入
開始之前,需要引入幾個概念。
stager:
定義 - 本身是一段儘可能小的手工優化過的彙編程式 參考 功能 - 連線到主控端,按照主控端的要求對大的payload (即
stage)進行下載、注入記憶體、執行
payload (即 stage):
定義 - 理論上是一段任意大小的、與位置無關的程式碼,被stager執行 功能 - 具體功能的實現,Cobalt
Strike的許多攻擊和工作流程都將payload用多個stage實現投遞
stageless payload
可理解為包含了payload的"全功能"被控端程式
Listener:
我的理解是:生成的木馬將執行相應的指令,Listener則負責在服務端開啟相應的監聽程式,類似於MSF中handler,等待木馬傳送的反彈shell,一旦收到木馬傳送的資料,雙方開始建立會話,CS客戶端上線。
Beacon:
為cs內建監聽器,也就是說,當我們在目標系統成功執行payload以後,會彈回一個beacon的shell給cs
Foreign:
主要是提供給外部使用的一些監聽器,比如你想利用cs派生一個meterpreter或者armitage的shell回來,來繼續後面的內網滲透,這時就選擇使用外部監聽器
主機上線
CS的攻擊方式眾多,今天主要了解以下以下三種:
Payload Generator
用該模組可以生成不同語言的payload用於執行,從而在不同的應用環境下執行並反彈SHELL到服務端完成上線。
以Windows環境下的power shell為例,我們先點選箭頭所指的按鈕,在彈出的對話方塊中選擇Add新建一個Listener,引數如下。
點選Save後即可看到剛才的對話窗中出現了我們剛才新建的Listener,點選choose選擇。
設定好了Listener,在output中選擇powershell command。因為我們的測試靶機為Windows7 X64位,所以我們勾選上Use x64 payload。
點選generate,程式會將產生的程式碼放到payload.txt,選擇位置儲存後,開啟payload.txt便得到power shell命令。複製命令到靶機的power shell執行後,CS便可以看到靶機已經上線。
在CS客戶端可以看到靶機的內網外網IP、listener的名稱、靶機作業系統當前的使用者、系統名稱、反彈shell的程式、程式號、持續時間。
在靶機資訊上右鍵,點選interact便可獲得一個和meterpreter相似的互動式的命令介面。
輸入help檢視可用的命令以及命令的解釋。
在這裡貼上各種命令的解釋
beacon> help
Beacon Commands
===============
Command Description
------- -----------
argue 程式引數欺騙
blockdlls 阻止子程式載入非Microsoft DLL
browserpivot 注入受害者瀏覽器程式
bypassuac 繞過UAC提升許可權
cancel 取消正在進行的下載
cd 切換目錄
checkin 強制讓被控端回連一次
clear 清除beacon內部的任務佇列
connect Connect to a Beacon peer over TCP
covertvpn 部署Covert VPN客戶端
cp 複製檔案
dcsync 從DC中提取密碼雜湊
desktop 遠端桌面(VNC)
dllinject 反射DLL注入程式
dllload 使用LoadLibrary將DLL載入到程式中
download 下載檔案
downloads 列出正在進行的檔案下載
drives 列出目標碟符
elevate 使用exp
execute 在目標上執行程式(無輸出)
execute-assembly 在目標上記憶體中執行本地.NET程式
exit 終止beacon會話
getprivs Enable system privileges on current token
getsystem 嘗試獲取SYSTEM許可權
getuid 獲取使用者ID
hashdump 轉儲密碼雜湊值
help 幫助
inject 在注入程式生成會話
jobkill 結束一個後臺任務
jobs 列出後臺任務
kerberos_ccache_use 從ccache檔案中匯入票據應用於此會話
kerberos_ticket_purge 清除當前會話的票據
kerberos_ticket_use Apply 從ticket檔案中匯入票據應用於此會話
keylogger 鍵盤記錄
kill 結束程式
link Connect to a Beacon peer over a named pipe
logonpasswords 使用mimikatz轉儲憑據和雜湊值
ls 列出檔案
make_token 建立令牌以傳遞憑據
mimikatz 執行mimikatz
mkdir 建立一個目錄
mode dns 使用DNS A作為通訊通道(僅限DNS beacon)
mode dns-txt 使用DNS TXT作為通訊通道(僅限D beacon)
mode dns6 使用DNS AAAA作為通訊通道(僅限DNS beacon)
mode http 使用HTTP作為通訊通道
mv 移動檔案
net net命令
note 備註
portscan 進行埠掃描
powerpick 通過Unmanaged PowerShell執行命令
powershell 通過powershell.exe執行命令
powershell-import 匯入powershell指令碼
ppid Set parent PID for spawned post-ex jobs
ps 顯示程式列表
psexec Use a service to spawn a session on a host
psexec_psh Use PowerShell to spawn a session on a host
psinject 在特定程式中執行PowerShell命令
pth 使用Mimikatz進行傳遞雜湊
pwd 當前目錄位置
reg Query the registry
rev2self 恢復原始令牌
rm 刪除檔案或資料夾
rportfwd 埠轉發
run 在目標上執行程式(返回輸出)
runas 以其他使用者許可權執行程式
runasadmin 在高許可權下執行程式
runu Execute a program under another PID
screenshot 螢幕截圖
setenv 設定環境變數
shell 執行cmd命令
shinject 將shellcode注入程式
shspawn 啟動一個程式並將shellcode注入其中
sleep 設定睡眠延遲時間
socks 啟動SOCKS4代理
socks stop 停止SOCKS4
spawn Spawn a session
spawnas Spawn a session as another user
spawnto Set executable to spawn processes into
spawnu Spawn a session under another PID
ssh 使用ssh連線遠端主機
ssh-key 使用金鑰連線遠端主機
steal_token 從程式中竊取令牌
timestomp 將一個檔案的時間戳應用到另一個檔案
unlink Disconnect from parent Beacon
upload 上傳檔案
wdigest 使用mimikatz轉儲明文憑據
winrm 使用WinRM橫向滲透
wmi 使用WMI橫向滲透
至此主機完成上線,後續對主機的滲透直接在beacon介面 輸入命令即可。不過有個提示的地方,在Cobalt Strike中它的心跳預設是60s(即sleep時間為60s,每一分鐘目標主機與teamserver通訊一次), 這會讓我們執行命令或進行其他操作響應很慢。
一般在獲得beacon後都會先執行sleep命令重新設定睡眠時間,比如sleep5 即為每五秒與伺服器通訊一次。切記不可將sleep時間設定的太短,頻繁的通訊容易被目標察覺。
Windows Executable
該模組是用來生成Windows可執行檔案,生成的檔案中包含惡意語句,當目標主機執行了該檔案後CS便可獲得beacon。
選擇該模組,listener依舊選擇剛才設定的pwtest,output選擇常用的Windows EXE檔案。點選generate即可產生名為artifact.exe的可執行檔案,將其儲存並放到靶機執行即可上線獲得beacon。
Windows Executable(stageless)
相比於Windows Excutable,Windows Executable(stageless)生成的是stageless版本(無狀態Windows後門木馬),Staged 和 Stageless 的區別. 前者的實際功能只是和 C2 建立連線並接收 Payload, 然後載入執行, 而 Stageless 直接省去了接收 Payload 的步驟. Stageless 生成除了的 Payload 都會比 Staged 型別的要大很多, 而且包含了特徵明細。配置方法和Windows Executable一樣,生成的檔名為beacon.exe。
將其放到靶機執行即可上線。
相關文章
- Cobalt Strike 4.0系列(二) --- 初識CS
- Cobalt Strike 4.0 Updates You Should Know
- BadUsb配合Cobalt-Strike免殺上線
- Cobalt Strike使用
- Cobalt Strike環境搭建
- Cobalt Strike特徵隱藏特徵
- Cobalt Strike 與 MSF 聯動
- Cobalt strike3.0使用手冊
- Cobalt strike與內網滲透內網
- Cobalt Strike使用的一些技巧
- Cobalt-Strike Office巨集利用與免殺
- 滲透利器Cobalt Strike在野利用情況專題分析
- 駭客改造滲透測試工具Cobalt Strike相容Linux信標Linux
- Cobalt Strike 之團隊伺服器的搭建與DNS通訊演示伺服器DNS
- 新的Cobalt Strike 漏洞允許關閉攻擊者的伺服器伺服器
- DNS欺騙並與Cobalt Strike結合構建釣魚網站實驗DNS網站
- CobaltStrike上線Linux主機(CrossC2)LinuxROS
- 三點助力Zilliqa主網上線安全無憂
- Sealos 雲主機正式上線,便宜,便宜,便宜!
- Zabbix 4.0 API 實踐,主機/主機群組 批量新增模板和刪除模板API
- Natasha 4.0 探索之路系列(三) 基本的動態編譯編譯
- 【線上公開課】Kubernetes實戰系列三??原理篇
- linux主機-初始化參考配置模板 V4.0Linux
- MySQL能力全開放,OceanBase 社群版 4.0 正式上線MySql
- vnc連線雲主機,如何在Windows中用vnc連線雲主機VNCWindows
- web專案部署上線(無虛擬主機,待學習)Web
- WordPress主題:Zibll子比主題 V4.0
- Microsoft Azure News(4) Azure新D系列虛擬機器上線ROS虛擬機
- mac透過網線連線主機(fnOS)Mac
- Varnish(三)設定後端主機後端
- OceanBase社群版4.0正式上線,2分鐘內可完成快速部署
- Natasha 4.0 探索之路系列(一) 概況
- Natasha 4.0 探索之路系列(四) 模板 APIAPI
- MariaDB系列之三:基於日誌(binlog)主主複製(Master-Master)AST
- Docker部署系列之Docker Compose安裝Redis三主三從叢集DockerRedis
- 使用GoDaddy虛擬主機,輕鬆上線你的第1個網站Go網站
- 電腦主機板跳線怎麼接?電腦機箱與主機板跳線接法圖解教程圖解
- TiKV 原始碼解析系列文章(三)Prometheus(上)原始碼Prometheus