CobaltStrike簡介與使用
0x00 簡介
1. 什么是CobaltStrike?可以用來做什么?
CobatStrike是一款基於java編寫的全平台多方協同后滲透攻擊框架。CobaltStrike集成了端口轉發、端口掃描、socket代理、提權、釣魚、遠控木馬等功能。該工具幾乎覆蓋了APT攻擊鏈中所需要用到的各個技術環節。
2. CobaltStrike的文件結構
│ agscript 拓展應用的腳本 │ c2lint 檢查profile的錯誤異常 │ cobaltstrike │ cobaltstrike.jar 客戶端程序 │ icon.jpg │ license.pdf │ readme.txt │ releasenotes.txt │ teamserver 服務端程序 │ update │ update.jar │ └─third-party 第三方工具 README.vncdll.txt vncdll.x64.dll vncdll.x86.dll
3. CobaltStrike支持個人定制
- 修改源碼進行深度的裁剪定制(如免殺)
- 修改c2配置,改變協議原本流量特征以躲避各種ids/ips攔截
- 使用AggressorScript腳本來加強自身,能夠擴展菜單欄,Beacon命令行,提權腳本等
- 可以引用其他的通訊框架ExternalC2,ExternalC2是由Cobalt Strike提出的一套規范/框架,它允許黑客根據需要對框架提供的默認HTTP(S)/DNS/SMB C2 通信通道進行擴展。
0x01 使用CobaltStrike
以下為CobaltStrike軟件包里面所包含的內容,要開始使用運行軟件包里的程序,需要在服務器和客戶端都安裝並配置好java運行環境
1. 啟動CobaltStrike
CobaltStrike分為客戶端和服務端。Cobalt Strike 需要團隊服務器才能使用,服務端被稱為團隊服務器,是Beacon有效負載的控制器,團隊服務器還會存儲CobaltStrike收集的數據,並管理日志記錄teamserver就為服務端的運行程序。
1) 啟動teamserver
CobaltStrike團隊服務器teamserver必須以root身份運行在所支持的操作系統上。 需要文件 teamserver 與 cobaltstrike.jar。
要啟動團隊服務器,必須以root方式啟動運行,如下:
sudo ./teamserver <host> <password> [/path/to/c2.profile] [YYYY-MM-DD]
# 執行./teamserver的時候,有兩個必要參數和兩個可選參數
# <host> :是團隊服務器的 IP 地址。Cobalt Strike 使用此值作為其默認的服務器主機
# <password> :是團隊成員用於將 Cobalt Strike 客戶端連接到團隊服務器的密碼
# [/path/to/c2.profile] :指定 Malleable C2 通信配置文件
# [YYYY-MM-DD] :此參數指定以 YYYY-MM-DD 為格式的結束日期。團隊服務器會將此結束日期嵌入其生成的每個 Beacon 中。 Beacon 有效負載將拒絕在此結束日期或之后運行。如果 Beacon 有效載荷在此結束日期或之后喚醒,它也將被運行退出。
備注:如上截圖,當團隊服務器啟動時,它將發布團隊服務器 SSL 證書的 SHA256 哈希值。您應 該將此哈希值分發給您的團隊成員。當您的團隊成員連接時, Cobalt Strike 客戶端會在向團隊服務器進行身份驗證之前詢問是否驗證此哈希。這是防止中間人攻擊的重要保護。
2) 啟動Cobalt Strike Client
使用Cobalt Strike 客戶端(也就是安裝包里的cobaltstrike.jar程序)連接到團隊服務器 ,運行的時候不用添加任何參數。具體方式如下:
java -jar cpbaltstrike.jar # 直接雙擊或者執行該命令
備注:客戶端需要填入參數的含義
Host:指定團隊服務器的 ip 地址
Port: 默認端口是 50050.很少有人更改此設置。
User:團隊服務器上的用戶名稱,此處可任意填寫自己想使用的用戶名。
Password:填入團隊服務器的密碼,也就是我們啟動團隊服務器使得第二個參數值。
點擊Connect 連接到 CobaltStrike 團隊服務器。如果這是您與此團隊服務器的第一次連接, Cobalt Strike將詢問您是否識別此團隊服務器的 SSL 證書的 SHA256 哈希值。如果需要,請點擊 OK, Cobalt Strike 客戶端將連接到服務器。 Cobalt Strike 還會記住這個SHA256 哈希,以便以后方便連接。
可以通過 Cobalt Strike - > Preferences - > Fingerprints 管理這些哈希值。
Cobalt Strike 會跟蹤您連接的團隊服務器並記住您的信息。從連接對話框的左側選擇其中一個團隊服務器配置文件,以使用其信息自動填充連接對話框。我們也可以通過 Cobalt Strike - > Preferences - > Team Servers 修改此連接。
到此呢,對於CobaltStrike的服務端和客戶端都已經啟動完成。接下來就是對CobaltStrike的各個功能模塊進行詳細的了解。
0x02 參考來源
404師傅:https://github.com/aleenzz/Cobalt_Strike_wiki
backlion師傅:https://www.cnblogs.com/backlion/
klion師傅:https://t.zsxq.com/JufyZzj
