CobaltStrike的使用


CobaltStrike的使用

01CobaltStrike

CobaltStrike是一款滲透測試神器,被業界人稱為CS神器。CobaltStrike分為客戶端與服務端,服務端是一個,客戶端可以有多個,可被團隊進行分布式協團操作。

CobaltStrike集成了端口轉發、服務掃描,自動化溢出,多模式端口監聽,windows exe 木馬生成,windows dll 木馬生成,java 木馬生成,office 宏病毒生成,木馬捆綁。釣魚攻擊包括:站點克隆,目標信息獲取,java 執行,瀏覽器自動攻擊等等強大的功能!

02CobaltStrike的安裝

我這里以Kali安裝為例:

先去下載jdk版本

上傳到Kali中,解壓:tar -xzvf jdk-8u191-linux-x64.tar.gz
移動到opt目錄下:mv jdk1.8.0_191/ /opt/
進入jdk目錄:cd  /opt/jdk1.8.0_191
 
執行 vim  ~/.bashrc , 並添加下列內容
# install JAVA JDK
export JAVA_HOME=/opt/jdk1.8.0_191
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存退出
執行: source ~/.bashrc
 
執行:
update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_191/bin/java 1
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_191/bin/javac 1
update-alternatives --set java /opt/jdk1.8.0_191/bin/java
update-alternatives --set javac /opt/jdk1.8.0_191/bin/javac
 
查看結果:
update-alternatives --config java
update-alternatives --config javac

安裝好了java之后,我們就去安裝CobaltStrike了!

上傳到Kali中,解壓:unzip cobaltstrike-linux.zip
進入cobalstrike中:cd cobaltstrike-linux/

啟動服務端:

啟動服務端:./teamserver   192.168.10.11  123456    #192.168.10.11是kali的ip地址,123456是密碼
后台運行,關閉當前終端依然運行:nohup  ./teamserver   192.168.10.11  123456  &

這里CobaltStrike默認監聽的是50050端口,如果我們想修改這個默認端口的話,可以打開teamserver文件,將其中的50050修改成任意一個端口號

啟動客戶端:

./cobaltstrike

這里host填kali的ip,密碼就是剛剛我們啟動的密碼。

啟動后的客戶端:

我們也可以打開windows下的cobaltstrike客戶端,然后把ip設置為我們的啟動時候的ip即可。

03CobaltStrike的使用

創建監聽器:

點擊左上方CobaltStrike選項——>在下拉框中選擇 Listeners ——>在下方彈出區域中單機add

name:為監聽器名字,可任意
payload:payload類型
Host: shell反彈的主機,也就是我們kali的ip
Port: 反彈端口

這里Payload有9種選項,如下:

內部的Listener

  • windows/beacon_dns/reverse_dns_txt
  • windows/beacon_dns/reverse_http
  • windows/beacon_http/reverse_http
  • windows/beacon_https/reverse_https
  • windows/beacon_smb/bind_pipe

外部的Listener

  • windows/foreign/reverse_dns_txt
  • windows/foreign/reverse_http
  • windows/foreign/reverse_https
  • windows/foreign/reverse_tcp

Beacon為內置的Listener,即在目標主機執行相應的payload,獲取shell到CS上;其中包含DNS、HTTP、HTTPS、SMB。Beacon可以選擇通過DNS還是HTTP協議出口網絡,你甚至可以在使用Beacon通訊過程中切換HTTP和DNS。其支持多主機連接,部署好Beacon后提交一個要連回的域名或主機的列表,Beacon將通過這些主機輪詢。目標網絡的防護團隊必須攔截所有的列表中的主機才可中斷和其網絡的通訊。通過種種方式獲取shell以后(比如直接運行生成的exe),就可以使用Beacon了。

Foreign為外部結合的Listener,常用於MSF的結合,例如獲取meterpreter到MSF上。

不同的beacon支持的系統位數也不同,如下:

創建Attacks:

點擊中間的Attacks——>Packages

這里Attacks有幾種,如下:

  • HTML Application        生成一個基於powershell的惡意HTML Application木馬,后綴格式為 .hta
  • MS Office Macro        生成office宏病毒文件;
  • Payload Generator       生成各種語言版本的payload;
  • USB/CD AutoPlay        生成利用自動播放運行的木馬文件;
  • Windows Dropper        捆綁器,能夠對文檔類進行捆綁;
  • Windows Executable      生成可執行exe木馬;
  • Windows Executable(S)    生成無狀態的可執行exe木馬

點擊中間的Attacks——>Web Drive-by(網站釣魚攻擊)

  • Manage           對開啟的web服務進行管理;
  • Clone Site           克隆網站,可以記錄受害者提交的數據;
  • Host File           提供一個文件下載,可以修改Mime信息;Host File 可以配合DNS欺騙實現掛馬效果使用
  • Scripted Web Delivery 類似於msf 的web_delivery ;
  • Signed Applet Attack    啟動一個Web服務以提供自簽名Java Applet的運行環境;
  • Smart Applet Attack      自動檢測Java版本並l利用已知的exploits繞過security;
  • System Profiler       用來獲取一些系統信息,比如系統版本,Flash版本,瀏覽器版本等。
  • Spear Phish         用來郵件釣魚的模塊

視圖View:

點擊中間的View

  • Applications    顯示受害者機器的應用信息;
  • Credentials     顯示受害者機器的憑證信息,能更方便的進行后續滲透;
  • Downloads     文件下載;
  • Event Log     可以看到事件日志,清楚的看到系統的事件,並且團隊可以在這里聊天;
  • Keystrokes     查看鍵盤記錄;
  • Proxy Pivots    查看代理信息;
  • Screenshots    查看屏幕截圖;
  • Script Console   在這里可以加載各種腳本以增強功能,腳本地址:https://github.com/rsmudge/cortana-scripts
  • Targets      查看目標;
  • Web Log      查看web日志。
  • Reporting     主要就是出報告用的

04對被控主機的操作

Interact       打開beacon
Access 
  dump hashes   獲取hash
  Elevate       提權
  Golden Ticket 生成黃金票據注入當前會話
  MAke token    憑證轉換
  Run Mimikatz  運行 Mimikatz 
  Spawn As      用其他用戶生成Cobalt Strike的beacon
Explore
  Browser Pivot 劫持目標瀏覽器進程
  Desktop(VNC)  桌面交互
  File Browser  文件瀏覽器
  Net View      命令Net View
  Port scan     端口掃描
  Process list  進程列表
  Screenshot    截圖
Pivoting
  SOCKS Server 代理服務
  Listener     反向端口轉發
  Deploy VPN   部署VPN
Spawn            新的通訊模式並生成會話
Session          會話管理,刪除,心跳時間,退出,備注

抓取hash和dump明文密碼

這兩項功能都需要管理員或System權限

抓取密碼哈希:右鍵被控主機——>Access——>Dump Hashes

利用mimikatz抓取明文密碼:右鍵被控主機——>Access——>Run Mimikatz

默認有三個提權payload可以使用,分別是MS14-058、uac-dll、uac-token-duplication 。

我們選中MS14-058,點擊Launch

之后就彈回來一個system權限的beacon

我們也可以自己加入一些提權腳本進去。在Github上有一個提權工具包,使用這個提權工具包可以增加幾種提權方法:https://github.com/rsmudge/ElevateKit 。我們下載好該提權工具包后

如下:

再打開我們的提權,可以看到多了幾種提權方式了

利用被控主機建立Socks4代理

當我們控制的主機是一台位於公網和內網邊界的服務器 ,我們想利用該主機繼續對內網進行滲透,於是,我們可以利用CS建立socks4A代理

右鍵被控主機——>Pivoting——>SOCKS Server

這里是SOCKS代理運行的端口,任意輸入一個未占用的端口即可,默認CS會給出一個,我們直接點擊Launch即可

於是,我們在自己的主機上設置Socks4代理。代理ip是我們CS服務端的ip,端口即是 38588。

如果我們想查看整個CS代理的設置,可以點擊View——>Proxy Pivots

進程列表(注入進程,鍵盤監控)

右鍵被控主機——>Explore——>Process List

即可列出進程列表

選中該進程,Kill為殺死該進程,Refresh為刷新該進程,Inject 則是把beacon注入進程,Log Keystrokes為鍵盤記錄,Screenshot 為截圖,Stea Token為竊取運行指定程序的用戶令牌

這里着重講一下注入進程和鍵盤記錄

Inject注入進程

選擇進程,點擊Inject,隨后選擇監聽器,點擊choose,即可發現CobaltStrike彈回了目標機的一個新會話,這個會話就是成功注入到某進程的beacon會話。該功能可以把你的beacon會話注入到另外一個程序之中,注入之后,除非那個正常進程被殺死了,否則我們就一直可以控制該主機了。

鍵盤記錄

任意選擇一個進程,點擊Log Keystrokes,即可監聽該主機的鍵盤記錄

查看鍵盤記錄結果:點擊鑰匙一樣的按鈕,就可以在底下看到鍵盤記錄的詳細了,會監聽所有的鍵盤記錄,而不只是選中的進程的鍵盤記錄

鍵盤監聽記錄,也可以直接輸入 keylogger

待更新生成黃金票據注入當前會話(Golden Ticket)憑證轉換(Make Token)以及CobaltStrike更多的用法。


免責聲明!

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



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