1. CS簡介
cs是一個內網滲透中最常見的一種工具。它擁有多種協議主機上線方式,集成了提權,憑證導出,端口轉發,socket代理,office攻擊,文件捆綁,釣魚等多種功能。同時,Cobalt Strike還可以調用Mimikatz等其他知名工具,因此廣受黑客喜愛。
項目官網:https://www.cobaltstrike.com
CS分為客戶端組件和服務端組件。CS客戶端需要運行在Linux系統之上,具體安裝過程網上教程比較多,自行查看。
安裝好之后客戶端與服務端分別如圖下所示:
客戶端:
服務端:
2. CS 框架詳解
2.1 Cobalt Strike
New Connection # 新建連接,支持連接多個服務器端
Preferences # 設置Cobal Strike界面、控制台、以及輸出報告樣式、TeamServer連接記錄
Visualization # 主要展示輸出結果的視圖
VPN Interfaces # 設置VPN接口
Listenrs # 創建監聽器
Script Manager # 腳本管理,可以通過AggressorScripts腳本來加強自身,能夠擴展菜單欄,Beacon命令行,提權腳本等
Close # 退出連接
2.2 視圖
Applications # 顯示受害主機的應用信息
Credentials # 顯示所有以獲取的受害主機的憑證,如hashdump、Mimikatz
Downloads # 查看已下載文件
Event Log # 主機上線記錄以及團隊協作聊天記錄
Keystrokes # 查看鍵盤記錄結果
Proxy Pivots # 查看代理模塊
Screenshots # 查看所有屏幕截圖
Script Console # 加載第三方腳本以增強功能
Targets # 顯示所有受害主機
Web Log # 所有Web服務的日志
2.3 攻擊
2.3.1 生成后門
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木馬
2.3.2 釣魚攻擊
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 # 魚叉釣魚郵件
2.4 報告
Activity Report # 活動報告
Hosts Report # 主機報告
Indicators of Compromise # IOC報告:包括C2配置文件的流量分析、域名、IP和上傳文件的MD5 hashes
Sessions Report # 會話報告
Social Engineering Report # 社會工程報告:包括魚叉釣魚郵件及點擊記錄
Tactics, Techniques, and Procedures # 戰術技術及相關程序報告:包括行動對應的每種戰術的檢測策略和緩解策略
Reset Data # 重置數據
Export Data # 導出數據,導出.tsv文件格式
2.5 工具欄
1.新建連接 2.斷開當前連接 3.監聽器 4.改變視圖為Pivot Graph(視圖列表) 5.改變視圖為Session Table(會話列表) 6.改變視圖為Target Table(目標列表) 7.顯示所有以獲取的受害主機的憑證 8.查看已下載文件 9.查看鍵盤記錄結果 10.查看屏幕截圖 11.生成無狀態的可執行exe木馬 12.使用java自簽名的程序進行釣魚攻擊 13.生成office宏病毒文件 14.為payload提供web服務以便下載和執行 15.提供文件下載,可以選擇Mime類型 16.管理Cobalt Strike上運行的web服務 17.幫助 18.關於
2.6 beacon處help命令說明
Beacon Commands =============== Command Description ------- ----------- argue 進程參數欺騙 blockdlls 在子進程中阻止非Microsoft的DLLs文件 browserpivot 注入受害者瀏覽器進程 bypassuac 繞過UAC cancel 取消正在進行的下載 cd 切換目錄 checkin 強制讓被控端回連一次 clear 清除beacon內部的任務隊列 connect 通過TCP連接到Beacon covertvpn 部署Covert VPN客戶端 cp 復制文件 dcsync 從DC中提取密碼哈希 desktop 遠程VNC dllinject 反射DLL注入進程 dllload 使用LoadLibrary將DLL加載到進程中 download 下載文件 downloads 列出正在進行的文件下載 drives 列出目標盤符 elevate 嘗試提權 execute 在目標上執行程序(無輸出) execute-assembly 在目標上內存中執行本地.NET程序 exit 退出beacon getprivs 對當前令牌啟用系統權限 getsystem 嘗試獲取SYSTEM權限 getuid 獲取用戶ID hashdump 轉儲密碼哈希值 help 幫助 inject 在特定進程中生成會話 jobkill 殺死一個后台任務 jobs 列出后台任務 kerberos_ccache_use 從ccache文件中導入票據應用於此會話 kerberos_ticket_purge 清除當前會話的票據 kerberos_ticket_use 從ticket文件中導入票據應用於此會話 keylogger 鍵盤記錄 kill 結束進程 link 通過命名管道連接到Beacon logonpasswords 使用mimikatz轉儲憑據和哈希值 ls 列出文件 make_token 創建令牌以傳遞憑據 mimikatz 運行mimikatz mkdir 創建一個目錄 mode dns 使用DNS A作為通信通道(僅限DNS beacon) mode dns-txt 使用DNS TXT作為通信通道(僅限D beacon) mode dns6 使用DNS AAAA作為通信通道(僅限DNS beacon) mode http 使用HTTP作為通信通道 mv 移動文件 net net命令 note 給當前目標機器備注 portscan 進行端口掃描 powerpick 通過Unmanaged PowerShell執行命令 powershell 通過powershell.exe執行命令 powershell-import 導入powershell腳本 ppid 為生成的post-ex任務設置父PID ps 顯示進程列表 psexec 使用服務在主機上生成會話 psexec_psh 使用PowerShell在主機上生成會話 psinject 在特定進程中執行PowerShell命令 pth 使用Mimikatz進行傳遞哈希 pwd 當前目錄位置 reg 查詢注冊表 rev2self 恢復原始令牌 rm 刪除文件或文件夾 rportfwd 端口轉發 run 在目標上執行程序(返回輸出) runas 以另一個用戶權限執行程序 runasadmin 在高權限下執行程序 runu 在另一個PID下執行程序 screenshot 屏幕截圖 setenv 設置環境變量 shell cmd執行命令 shinject 將shellcode注入進程 shspawn 生成進程並將shellcode注入其中 sleep 設置睡眠延遲時間 socks 啟動SOCKS4代理 socks stop 停止SOCKS4 spawn 生成一個會話 spawnas 以其他用戶身份生成會話 spawnto 將可執行程序注入進程 spawnu 在另一個PID下生成會話 ssh 使用ssh連接遠程主機 ssh-key 使用密鑰連接遠程主機 steal_token 從進程中竊取令牌 timestomp 將一個文件時間戳應用到另一個文件 unlink 斷開與Beacon的連接 upload 上傳文件 wdigest 使用mimikatz轉儲明文憑據 winrm 使用WinRM在主機上生成會話 wmi 使用WMI在主機上生成會話
3. CS內網穿透
新建監聽
生成攻擊程序
最后將生成的文件上傳至目標機運行后,即可在本地看到成功上線。