風炫安全之CobaltStrike系列視頻教程
https://www.bilibili.com/video/BV1P64y1f7e1?p=1
個人介紹
主攻方向:Web安全、網絡安全、安全開發。
ID:風炫
這節課講解: 定制化Cobalt Strike配置文件
教程只是為了提供學習和研究,所有技術切勿用於非法用途!
Cobalt Strike 介紹
Cobalt Strike是一款滲透測試神器,常被業界人稱為CS神器。Cobalt Strike已經不再使用MSF而是作為單獨的平台使用,它分為客戶端與服務端,服務端是一個,客戶端可以有多個,可被團隊進行分布式協團操作。 Cobalt Strike集成了端口轉發、掃描多模式端口Listener、Windows exe程序生成、Windows dll動態鏈接庫生成、java程序生成、office宏代碼生成,包括站點克隆獲取瀏覽器的相關信息等。 早期版本Cobalt Srtike依賴Metasploit框架,而現在Cobalt Strike已經不再使用MSF而是作為單獨的平台使用1。 這個工具的社區版是大家熟知的Armitage(一個MSF的圖形化界面工具),而Cobalt Strike大家可以理解其為Armitage的商業版。
本文講解4.0版本
官方網站: https://www.cobaltstrike.com/
CS的發展
Armitage [2010-2012]
Armitage是一個紅隊協作攻擊管理工具,它以圖形化方式實現了Metasploit框架的自動化攻擊。Armitage采用Java構建,擁有跨平台特性。
Cobalt Strike 1.x [2012-2014]
Cobalt Strike 增強了Metasploit Framework在執行目標攻擊和滲透攻擊的能力。
Cobalt Strike 2.x [2014-?]
Cobalt Strike 2是應模擬黑客攻擊的市場需求而出現的,Cobalt Strike 2是以malleable C2技術的需求為定位的,這個技術使Cobalt Strike的能力更強了一些。
Cobalt Strike 3.x [2015-?]
Cobalt Strike 3的攻擊和防御都不用在Metasploit Framework平台(界面)下進行
Cobalt Strike 4.x [2019-?]
這個版本改進了Cobalt Strike的分布式操作模型,修改了開發后的工作流程以減少一些歷史包袱,並為特權升級和橫向移動添加了“自帶武器”工作流。
Cobalt Strike的C/S架構
- 客戶端(Client GUI) Swing
- 團隊成員使用的圖形化界面
- 服務器(Team Server)
- 控制 - Team Server是Cobalt Strike中所有payload的主控制器,與victim的所有連接
bind/reverse
都由Team Server管理。 - 日志記錄 - Cobalt Strike中發生的所有事件 保存在
logs
文件夾 - 信息搜集 - 收集在后滲透階段發現的、或攻擊者在目標系統上用於登錄的所有憑據
credentials
- 自定義腳本 -
cat teamserver
可看到該文件是一個簡單的bash腳本(可根據自己要求修改) 調用Metasploit RPC服務msfrpcd
並啟動服務器cobaltstrike.jar
- 控制 - Team Server是Cobalt Strike中所有payload的主控制器,與victim的所有連接
運行環境
-
Team Server 推薦運行環境
- Kali Linux 1.0, 2.0 – i386 and AMD64
- Ubuntu Linux 12.04, 14.04 – x86, and x86_64
-
Client GUI 運行環境
- Windows 7 and above
- macOS X 10.10 and above
- Kali Linux 1.0, 2.0 – i386 and AMD64
- Ubuntu Linux 12.04, 14.04 – x86, and x86_64
功能了解
Listenrs
任何行動的第一步都是建立基礎設施。就 Cobalt Strike 而言,基礎設施由一個或多個團隊服務器、重定向器以及指向你的團隊服務器和重定向器的 DNS 記錄組成。一旦團隊服務器啟動並運行,你將需要連接到它並將其配置為接收來自受害系統的連接。監聽器就是 Cobalt Strike 中用來執行這種任務的機制。
一個監聽器既是一個 payload 的配置信息,同時又是 Cobalt Strike 起一個服務器來接收來自這個payload 的連接的指示。一個監聽器由用戶定義的名稱、payload 類型和幾個特定於 payload 的選項組成。
使用Cobalt Strike
首先需要創建一個Listener
,依次點擊 Cobalt Strike -> Listeners
,然后點擊Add便可以創建自己想要的Listeners
除了以下標為x86/x64
,其它只支持32位
windows/beacon_dns/reverse_dns_txt
windows/beacon_dns/reverse_http x86/x64
windows/beacon_http/reverse_http x86/x64
windows/beacon_https/reverse_https x86/x64
windows/beacon_smb/bind_pipe x86/x64
windows/foreign/reverse_dns_txt
windows/foreign/reverse_http
windows/foreign/reverse_https
windows/foreign/reverse_tcp
其中windows/beacon為內置監聽器,包括dns、http、https、smb四種方式的監聽器;windows/foreign為外部監聽器,配合Metasploit或者Armitage的監聽器。
通常被控制的主機每60秒發送一心跳,如果平常不用基本是沒有什么流量。

View
Applications -> 獲取瀏覽器版本信息
Credentials -> 憑證,當通過hashdump或者Mimikatz抓取過的密碼都會儲存在這里。
Downloads -> 下載文件
Event Log -> 主機上線記錄,以及團隊協作聊天記錄
Keystrokes -> 鍵盤記錄
Proxy Pivots -> 代理模塊
Screenshots -> 進程截圖
Script Console -> 控制台
Targets -> 顯示目標
Web Log -> Web訪問記錄
Attack
Packages
HTML Application # 生成(executable/VBA/powershell)這三種原理實現的惡意HTA木馬文件
MS Office Macro # 生成office宏病毒文件
Payload Generator # 生成各種語言版本的payload
USB/CD AutoPlay # 生成利用自動播放運行的木馬文件
Windows Dropper # 捆綁器能夠對任意的正常文件進行捆綁(免殺效果差)
Windows Executable # 生成可執行exe木馬
Windows Executable(Stageless) # 生成無狀態的可執行exe木馬
Web Drive-by
Manage # 對開啟的web服務進行管理
Clone Site # 克隆網站,可以記錄受害者提交的數據
Host File # 提供文件下載,可以選擇Mime類型
Scripted Web Delivery # 為payload提供web服務以便下載和執行,類似於Metasploit的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 # 魚叉釣魚郵件