CobaltStrike基本功能與使用

君子藏器于身待時而動,安全不露圭角覆盂之安。
——AnonySec
https://payloads.cn


55B71DC6-89EC-4F34-A342-36C176E8C523

前言

Cobalt Strike 一款以Metasploit為基礎的GUI框架式滲透測試工具,集成了端口轉發(fā)、服務掃描,自動化溢出,多模式端口監(jiān)聽,exe、powershell木馬生成等。

釣魚攻擊包括:站點克隆,目標信息獲取,java執(zhí)行,瀏覽器自動攻擊等。

Cobalt Strike 主要用于團隊作戰(zhàn),可謂是團隊滲透神器,能讓多個攻擊者同時連接到團體服務器上,共享攻擊資源與目標信息和sessions。

Cobalt Strike 作為一款協(xié)同APT工具,針對內(nèi)網(wǎng)的滲透測試和作為apt的控制終端功能,使其變成眾多APT組織的首選。

image-20191101191551808
image-20191031214110757

基本功能

安裝

Cobalt Strike 分為客戶端和服務端,可分布式操作、協(xié)同作戰(zhàn)。服務器端只能運行在Linux系統(tǒng)中,可搭建在VPS上。

服務端

服務端關鍵的文件是teamserver以及cobaltstrike.jar,將這兩個文件放到服務器上同一個目錄,然后運行:

chmod +x teamserver
./teamserver 10.11.42.202 test123  
# 服務端真實IP(不能使用0.0.0.0或127.0.0.1)和連接密碼
31C02820-E5DA-492F-8E75-76F7CFE4FE98

客戶端

客戶端在Windows、Linux、Mac下都可以運行 (需要配置好Java環(huán)境)。啟動Cobalt Strike客戶端,輸入服務端的IP以及端口、連接密碼,用戶名可以任意設置。

image

在控制臺所有操作指令都會被記錄保留在Cobalt Strike目錄logs下。

參數(shù)詳情

Cobalt Strike

image
New Connection #新的連接(支持連接多個服務器端)
Preferences #偏好設置(設置Cobal Strike界面、控制臺、以及輸出報告樣式、TeamServer連接記錄等)
Visualization #窗口視圖模式(展示輸出結果的形式)
VPN Interfaces #VPN接入
Listenrs #監(jiān)聽器(創(chuàng)建Listener)
Script Manager #腳本管理
Close #關閉

View

image
Applications #應用(顯示受害者機器的應用信息)
Credentials #憑證(通過hashdump或Mimikatz抓取過的密碼都會儲存在這里)
Downloads #下載文件
Event Log #事件日志(主機上線記錄以及團隊協(xié)作聊天記錄)
Keystrokes #鍵盤記錄
Proxy Pivots #代理模塊
Screenshots #截圖
Script Console #腳本控制臺(可以加載各種腳本,增強功能https://github.com/rsmudge/cortana-scripts)
Targets #顯示目標主機
Web Log #Web日志

Attacks

Packages
image
HTML Application #生成惡意的HTA木馬文件
MS Office Macro #生成office宏病毒文件
Payload Generator #生成各種語言版本的payload
USB/CD AutoPlay #生成利用自動播放運行的木馬文件
Windows Dropper #捆綁器,能夠對文檔類進行捆綁
Windows Executable #生成可執(zhí)行Payload
Windows Executable(S) #把包含payload,Stageless生成可執(zhí)行文件(包含多數(shù)功能)
Web Drive-by
image
Manage #對開啟的web服務進行管理
Clone Site #克隆網(wǎng)站(可記錄受害者提交的數(shù)據(jù))
Host File #提供Web以供下載某文件
Scripted Web Delivery #提供Web服務,便于下載和執(zhí)行PowerShell Payload,類似于Metasploit的web_delivery 
Signed Applet Attack #啟動一個Web服務以提供自簽名Java Applet的運行環(huán)境
Smart Applet Attack #自動檢測Java版本并利用已知的exploits繞過security
System Profiler #用來獲取一些系統(tǒng)信息,比如系統(tǒng)版本,F(xiàn)lash版本,瀏覽器版本等

Reporting

image
0. Activity report #活動報告
1. Hosts report #主機報告
2. Indicators of Compromise #威脅報告
3. Sessions report #會話報告
4. Social engineering report #社會工程學報告
5. Tactics, Techniques, and Procedures #策略、技巧和程序  
Reset Data #重置數(shù)據(jù)
Export Data #導出數(shù)據(jù)

Help

image
Homepage #官方主頁
Support #技術支持
Arsenal #開發(fā)者
System information #版本信息
About #關于

右鍵菜單

image

Access

Dump Hashes #獲取hash
Elevate #提權
Golden Ticket #生成黃金票據(jù)注入當前會話
Make token #憑證轉換
Run Mimikatz #運行 Mimikatz 
Spawn As #用其他用戶生成Cobalt Strike偵聽器

Explore

Browser Pivot #劫持目標瀏覽器進程
Desktop(VNC) #桌面交互
File Browser #文件瀏覽器
Net View #命令Net View
Port Scan #端口掃描
Process List #進程列表
Screenshot #截圖

Pivoting

SOCKS Server #代理服務
Listener #反向端口轉發(fā)
Deploy VPN #部署VPN

Spawn

外部監(jiān)聽器(如指派給MSF,獲取meterpreter權限)

Session

Note #備注
Remove #刪除
Sleep #指定被控端休眠時間,默認60秒一次回傳,讓被控端每10秒來下載一次任務。實際中頻率不宜過快,容易被發(fā)現(xiàn)。
Exit #退出

Interact(打開beacon)

beacon> help

Beacon Commands
===============

Command                   Description
-------                   -----------
argue                     進程參數(shù)欺騙
blockdlls                 阻止子進程加載非Microsoft DLL
browserpivot              注入受害者瀏覽器進程
bypassuac                 繞過UAC提升權限
cancel                    取消正在進行的下載
cd                        切換目錄
checkin                   強制讓被控端回連一次
clear                     清除beacon內(nèi)部的任務隊列
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                   在目標上執(zhí)行程序(無輸出)
execute-assembly          在目標上內(nèi)存中執(zhí)行本地.NET程序
exit                      終止beacon會話
getprivs                  Enable system privileges on current token
getsystem                 嘗試獲取SYSTEM權限
getuid                    獲取用戶ID
hashdump                  轉儲密碼哈希值
help                      幫助
inject                    在注入進程生成會話
jobkill                   結束一個后臺任務
jobs                      列出后臺任務
kerberos_ccache_use       從ccache文件中導入票據(jù)應用于此會話
kerberos_ticket_purge     清除當前會話的票據(jù)
kerberos_ticket_use       Apply 從ticket文件中導入票據(jù)應用于此會話
keylogger                 鍵盤記錄
kill                      結束進程
link                      Connect to a Beacon peer over a named pipe
logonpasswords            使用mimikatz轉儲憑據(jù)和哈希值
ls                        列出文件
make_token                創(chuàng)建令牌以傳遞憑據(jù)
mimikatz                  運行mimikatz
mkdir                     創(chuàng)建一個目錄
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執(zhí)行命令
powershell                通過powershell.exe執(zhí)行命令
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                  在特定進程中執(zhí)行PowerShell命令
pth                       使用Mimikatz進行傳遞哈希
pwd                       當前目錄位置
reg                       Query the registry
rev2self                  恢復原始令牌
rm                        刪除文件或文件夾
rportfwd                  端口轉發(fā)
run                       在目標上執(zhí)行程序(返回輸出)
runas                     以其他用戶權限執(zhí)行程序
runasadmin                在高權限下執(zhí)行程序
runu                      Execute a program under another PID
screenshot                屏幕截圖
setenv                    設置環(huán)境變量
shell                     執(zhí)行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轉儲明文憑據(jù)
winrm                     使用WinRM橫向滲透
wmi                       使用WMI橫向滲透

使用

Listeners簡介

在本版本Cobalt Strike 3.14中,提供了如圖9種 Listener (監(jiān)聽器)。

image
windows/beacon_dns/reverse_dns_txt
windows/beacon_dns/reverse_http
windows/beacon_http/reverse_http
windows/beacon_https/reverse_https
windows/beacon_smb/bind_pipe
windows/beacon_tcp/bind_tcp
windows/foreign/reverse_http
windows/foreign/reverse_https
windows/foreign/reverse_tcp (3.13版后增加,支持linuxSSH會話)
  • beacon_xx 系列為Cobalt Strike自身,包括 dns、http、https、smb 四種方式的監(jiān)聽器。
  • foreign 系列為外部監(jiān)聽器,通常與MSF或者Armitage聯(lián)動。

在Cobalt Strike 3.13版本后增加了一個新的 Listeners (windows/beacon_tcp/bind_tcp) ,它支持linuxSSH會話。具體更新內(nèi)容可以查閱 官網(wǎng) 。

創(chuàng)建一個服務

首先配置一個監(jiān)聽器

image

選擇 Attacks > Packages > Windows Executable

image

上線成功,在 Event Log 處出現(xiàn)上線信息。

image

Beacon

右鍵目標interact來使用Beacon,用它來執(zhí)行各種命令。在Cobalt Strike中,默認心跳為60s,執(zhí)行命令的響應很慢,在下載文件時更加明顯,所以根據(jù)實戰(zhàn)環(huán)境把時間降低,建議不要太快,否則流量會相對明顯。

D4883587-7593-468B-85C7-2C5AC6135A63

在這里設置sleep 10,同時在beacon中,如果想對目標進行命令管理,需要在前面加上shell,如shell whoami、shell ipconfig等。

總結

這里只是簡單描述CobaltStrike的用法,其中還有很多功能的使用,需要實際操作中去發(fā)現(xiàn)。更核心的地方在于理解CobaltStrike的Beacon在內(nèi)網(wǎng)中的通信過程,這對于滲透者能否更進一步深入內(nèi)網(wǎng)起到重要作用,也是神器的價值所在。

在滲透過程中,不要僅限于單一模式的思路,根據(jù)實際的情況,選擇更優(yōu)的方法來進行下一步的滲透測試。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容