- .NET安全攻防指南(上冊)
- 李寅 莫書棋
- 1026字
- 2025-06-11 10:22:18
1.4 滲透測試平臺
1.4.1 Cobalt Strike
Cobalt Strike是一款由Java編寫的全平臺多方協同滲透測試框架,早期版本依賴Metasploit框架,3.0版本之后獨立成一個滲透測試平臺,分為多個客戶端Client與一個服務端Teamserver,因而可進行團隊分布式協作。
Cobalt Strike集成了端口轉發、端口掃描、多模式端口監聽、Socket代理、提權、釣魚、遠控木馬等功能。該工具幾乎覆蓋了APT攻擊鏈中的各個技術環節,且其最大的優點在于可以進行團隊分布式協作和擁有優越的UI。
1.部署服務端
Cobalt Strike服務端需要Java運行環境,建議安裝JDK 8以上的版本。我們可以在終端中輸入“java-version”查看自己是否已經安裝Java運行環境,如圖1-49所示。

圖1-49 安裝Java運行環境
如果未返回信息,則表示服務器還未安裝Java運行環境。在命令行下輸入“Java”,根據提示安裝合適的版本。將Cobalt Strike的壓縮文件上傳至服務器的cobalt目錄下,實驗環境以Cobalt Strike 4.5版本為例。輸入解壓縮命令“rar x CobaltStrike4.5.rar”,得到Cobalt Strike安裝目錄,目錄結構如表1-4所示。
表1-4 Cobalt Strike目錄結構

Cobalt Strike服務端的關鍵文件是teamserver,服務端一般運行在Linux操作系統上,客戶端則運行在Windows或Linux操作系統上。運行前需要給teamserver賦權,輸入下面的命令。

賦予teamserver可執行權限之后,在命令行下顯示為綠色,這樣就可以通過輸入“./teamserver”來運行它了,如圖1-50所示。

圖1-50 賦予teamserver可執行權限
然后運行./teamserver 192.168.101.104 123456。圖1-51所示的返回信息表示服務端已經成功開啟,從圖中可以看到開啟的端口為50050。

圖1-51 teamserver成功啟動
因為虛擬機Kali作為teamserver,卻經常出現自動刷新DHCP獲取新IP地址的情況,所以需要將Kali配置成靜態IP地址。具體操作是:在終端命令行輸入“leafpad /etc/network/interfaces”,然后添加以下內容。

配置成靜態IP地址192.168.101.104,再修改DNS配置文件/etc/resolv.config。添加如下內容后重啟Kali,配置即可生效。

2.配置客戶端
在Windows 10中解壓縮CobaltStrike4.5.rar,打開cobaltstrike.bat文件,在彈出的“連接”窗口中輸入主機IP地址192.168.101.104,端口默認為50050,用戶默認為neo,密碼處輸入服務端配置的密碼123456,如圖1-52所示。

圖1-52 配置客戶端
單擊“連接”按鈕后彈出查看服務器指紋是否一致的提示信息,默認選擇“是”,出現如圖1-53所示的界面,表示已經成功連接至服務端。
3.會話交互
Beacon會話交互是Cobalt Strike的核心功能,用于與遠程控制被控端建立加密通道以進行執行命令、上傳和下載文件、執行PowerShell腳本等各種任務。
shell命令用于執行DOS命令,如圖1-54所示。

圖1-53 成功連接服務端

圖1-54 執行DOS命令
upload命令用于上傳文件,如圖1-55所示。

圖1-55 上傳文件
sleep命令用于減少通信延遲時間。因為Cobalt Strike默認目標主機與teamserver的通信時間為60s,這讓執行命令或其他的操作響應變得很慢,所以可利用此命令進行修改,此處修改成10s,如圖1-56所示。

圖1-56 減少通信延遲時間
另外,可以用help命令查看更多的Beacon命令,如圖1-57所示。

圖1-57 help命令