公眾號:白帽子左一
安裝使用
安裝
系統環境:需要java環境Oracle Java 1.8,Oracle Java 11
下載解壓就可以使用
使用
首先要運行服務端,如果你有個外網的機器,可以把服務端運行于外網的機器上,也可以運行于本地
服務端啟動命令
windows
運行teamserver.bat
teamserver.bat 1.1.1.1 123456
linux
需要有足夠權限,可以通過chmod +x teamserver 來提高權限
./teamserver 1.1.1.1 123456
這里為設定一個服務端,前面為服務端所在機器的ip ,后面為密碼
啟動服務端后,我們就可以啟動客戶端去連接了
運行
windows
雙擊start.bat運行客戶端,選擇相應服務器連接
linux
需要有足夠權限,可以通過chmod +x start.sh 來提高權限
切換到相應目錄下,使用start.sh來運行客戶端
監聽器 listner
cobaltstrike里的監聽器類似于msf里的exploit,一個監聽器是一個payload配置資訊,同時也用于cobaltstrike起的一個用于接受來自這個payload的連接指示,beacon 是cobaltstrike的內置監聽器
使用
點擊配置監聽,就會列舉出所有配置的payload和監聽器
Add
添加新的監聽
edit
編輯已有監聽
remove
洗掉監聽
restart
重啟監聽

要添加監聽器可以點擊Add,這里的監聽器根據所通過的協議和監聽器位置分為8種
不同監聽介紹
1.beacon dns
2.beacon http
3.beacon https
4.beacon smb
5.beacon tcp
6.external c2
7.foreign reverse_http
8.foreign reverse_https
這里選擇不同協議的監聽器就是讓這個beacon通過不同的協議和方式去出口網路
beacon dns
beacon dns通過使用dns來進行通信,傳達命令,攻擊機將請求資訊這些通過dns域名中轉發送給被攻擊者

DNS host中填入所用到的dns域名,host(stager) 處也同樣填入dns域名資訊,port處填入埠,用于重定向
beacon http
通過http來進行通信,傳達命令

http hosts 和 http host(stager) 都填寫攻擊機的ip或C2域名,http port處填寫埠,bind處的埠用于系結web服務埠,一般用于重定向,host header用于域前置技術,用于隱藏C2,proxy 用于代理設定
beacon https
通過https來進行通信,傳達命令,和http的區別在于https加密了資訊

beacon smb
beacon smb使用命名管道進行通信,將流量封裝在smb協議里,smb這個一般不用于直接生成可用載荷,一般結合PsExec 或 stageless payload使用
beacon tcp
通過tcp協議進行通信,可以通過cobaltstrike里的stageless payload去運行,其他的和beacon smb 差不多,但是tcp的可以直接生成載荷去運行
external c2
external c2允許第三方程式充當cobaltstrike的teamserver 和beacon之間處理C2通信的介面,通常用于目標無法出網的情況,第三方程式使用外置的C2服務器和cobaltstrike服務器互動
foreign reverse_http
把會話資訊傳遞給msf,將目標權限通過http的方式傳給msf
foreign reverse_https
和foreign reverse_http利用方式類似,只不過通過https去傳遞會話資訊
木馬
生成后門
常用生成后門方法有
HTML Application
MS Office Macro
Payload Generator
Windows Executable
Windows Executables
1.HTML Application
一個html應用程式型別的后門,有三種檔案生成方式,分別為VBA,Powershell,Executable這三種方式

2.MS Office Macro
MS Office Macro生成一個宏檔案,該宏檔案用于嵌入Microsoft word 或 Microsoft execl檔案里,生成該宏檔案并提供嵌入的方法
首先選擇MS Office Macro

選擇好監聽器

直接生成利用的代碼

復制下來,然后放到檔案的宏里去
這里用Microsoft Office Word 2003去測驗,首先打開word檔案,點擊工具找到宏
然后添加進去

然后在檔案里啟用該宏,得到會話
3.Payload Generator
使用不同的格式語言匯出cobaltstrike的shellcode,然后使用其他語言去編譯生成,
使用時選擇好監聽器,并選擇不同的輸出格式

選擇監聽器,再選擇相應輸出的語言
4.Windows Executable
生成一個可執行的exe木馬

選擇好監聽器和輸出的檔案格式
分別有
windows exe,windows server exe,windwos DLL 32位,windwos DLL 64位
windows exe
生成一個windwos可執行檔案
windows server exe
windows server exe也是一個windwos可執行檔案,和上面的區別在于,windows server exe可回應Service Control Manager 命令,windows server exe可作為服務器自啟動的exe,而一般生成的windows exe則不能
windwos DLL 32位,windwos DLL 64位
分別生成不同位數的dll檔案
生成的dll檔案可以通過捆綁等方式進行利用
5.Windows ExecutableS
和Windows Executable區別在于,它是直接匯出一個beacon,這個beacon是直接寫好的32或64位的dll,直接和監聽器連接,傳輸資料和命令,它還可以匯出powershell腳本,還可以通過raw選項調出.bin 檔案,使用和Windows Executable差不多

生成payload,目標機點擊觸發上線

釣魚攻擊
cobaltstrike里有多種釣魚攻擊的方式,適用于不同環境
web服務管理
用于管理cobaltstrike web服務器上的可用程式,通過檔案下載去添加管理
克隆網站

通過克隆復制站點,誘使受害者訪問
克隆網址:添加目標站點的URL,此處需要添加完整的url,包含http協議和埠
local url:本地站點的克隆路徑
local host:本地站點主機ip
local port:本地站點埠
Attack: 此處用于添加克隆站點后執行的漏洞腳本
點擊clone后,會回傳生成的克隆站點地址

訪問測驗站點地址

開啟鍵盤記錄后就可以在web日志中看到輸入記錄

attack處可以結合Scripted Web Delivery攻擊,通過Scripted Web Delivery生成的payload來在克隆站點添加payload去攻擊,也可以通過在生成后門處的HTML Application
生成一個后門去結合使用
檔案下載
作用是提供一個檔案管理,并且我們可以修改里面的mine資訊,上傳的檔案會發送到團隊服務器里,供團隊成員使用
實際使用時,可以上傳后門等攻擊檔案,結合克隆站點里的attack使用
Scripted Web Delivery
生成一個payload(類似Windows Executable生成的),放在cobaltstrike的服務器上,并生成一個下載運行的命令陳述句,方式有powershel,python, bitsadmin(windows下載命令)
以powershell舉例


目標機執行后,就會從設定的cobaltstrike的服務器的站點上下載并運行,生成新的會話

簽名applet攻擊
啟動一個web服務器來托管一個自簽名的java applet,被攻擊者會被提示給這個applet權限來運行,一但允許就可以獲得權限

選擇相應的監聽器進行攻擊
智能攻擊
在一個程式里包含多種漏洞利用方式,啟動一個web服務器去托管applet,可以分析環境并決定使用哪種漏洞利用方式

注:此攻擊在目前新的環境中難以發揮作用
郵件釣魚

內容
targets
選擇保存有發送目標的檔案
tmplate
郵件模板,在郵箱里匯出一個郵件檔案
attachment
附件,可以通過上傳惡意附件來進行攻擊,典型的可以通過和MS Office Macro結合發送惡意的word檔案來結合攻擊
Embed URL
需要嵌入的站點地址,此處可嵌入釣魚站點的地址
Mail server
用于配置smtp郵件服務,用于向郵件服務器進行身份驗證,或將郵件服務器設定為目標的開放中繼或郵件交換記錄

SMTP Host和Port填入郵件服務器地址,埠
Username和password處填入用戶名和密碼
Random Delay處填入設定的延時發送郵件時間
Bounce to
用于模仿發件人,提高釣魚的成功率
設定完之后就可以發送進行攻擊了

可以先通過Preview先預覽下效果
功能
常用功能有很多
上部選項欄
攻擊部分已在上面的木馬處寫了相關功能及使用方式

cobaltstrike選項

新建連接:
用于一個新的cobaltstrike服務端進行連接
設定:cobaltstrike的設定,里面有多種選項
1.cobalt strike
用于配置cobalt strike

標簽處用于設定標簽顏色
工具列處用于設定是否顯示工具列
VNC埠處用于設定VNC埠的范圍
字體設定處用于設定字體
2.Console
用于 Console的界面設定

3.Fingerprints
用于設定服務器SSL證書的SHA-1哈希值的串列,可以操作洗掉

4.Graph
設定cobaltstrike的視圖外表
選擇字體及顏色,還可以選擇界面布局方式(建議默認)

5.報告
用于自定義報告模板,設定顏色,logo并加載自定義報告

6.狀態欄

用于設定cobaltstrike里控制臺的狀態欄外觀,可以設定它的顏色
7.服務器

顯示組態檔里已有的服務器地址串列,此處可洗掉操作
可視化:用于設定可視化選項,cobaltstrike有三種可視化的視圖選項
分別為樞紐視圖,會話串列,目標串列
樞紐視圖
可以非常清楚的看到主機之間的聯系,在大規模的滲透中非常有用(這里我只是在測驗靶機)

會話串列
顯示當前可用的會話

顯示目標內部和外部的ip地址,所用監聽器,用戶權限,設備名稱,行程名,行程的pid值,payload的位數(x64或x86)及相應時間
目標串列
顯示所有的目標

VPN 介面
設定VPN介面,用于添加和洗掉vpn介面(后面關于對會話的操作里會介紹到的)
監聽器
設定監聽器(前面監聽器這塊有介紹)
腳本管理器
用于管理功能擴展腳本
load為讀取腳本,unload為移除腳本,reload為重新加載腳本

下載可用的腳本,選擇cna檔案并加載
就可以使用擴展腳本

視圖

此處的視圖為cobaltstrike下面的視圖顯示欄里的

這里只挑一部分,后面的會在會話的目標操作處講到
應用資訊
顯示目標機器的應用資訊
憑證資訊
顯示已有的目標的憑證(賬戶密碼這些)
檔案下載
(后面檔案管理處會介紹到的)
日志
顯示服務器的日志資訊
代理資訊
顯示當前目標的代理,和socks server結合使用

stop為停止目標介面,tunnel 為在metasploit框架中使用此命令,通過此信標對漏洞利用和輔助模塊進行隧道攻擊,使用未設定的代理停止通過信標的隧道
腳本控制臺
用于管理腳本,對腳本進行除錯和修改

標
列舉所有目標,作用和目標串列作用相似
web日志
cobaltstrike 可以把一些服務托管到一個web服務器上,web日志用于記錄cobaltstrike web服務器上的記錄
報告
用于生成各類報告

活動報告
活動報告用于提供紅隊的活動資訊及時間,記錄在后滲透時的活動,可匯出為word或pdf
主機報告
用于提供cobaltstrike所收集的主機資訊,服務,憑據和會話
目標報告
類似于威脅情報報告里的侵害指表附錄,包括了上傳檔案的hash值
會話報告
記錄了每個會話的指標和活動,包括了會話的通信路徑,攻擊目標的檔案的md5哈希值,用于獲取紅隊的活動資訊
社會工程報告
用于記錄釣魚行動的電子郵件,點擊情況及從用戶中收集的資訊
TTPs
用于把Cobalt Strike 行動映射到 MITRE 的 ATT&CK 矩陣里的戰術,MITRE ATT&CK是一個攻擊策略知識庫
重置資料
用于重置現有的資料
資料出口
用于匯出資料,有兩種格式,分為TSV和xml
下部工具列
選項數字按照下部選項欄順序相對應

1.1號為連接到cobaltstrike服務器
點擊后選擇一個新的cobaltstrike服務端進行連接
2.2號為斷開與服務器之間的連接
3.3號為配置監聽(前面監聽器這塊有介紹)
4.4號為切換到樞紐視圖
切換為樞紐視圖(上部選項欄里介紹視圖部分講到)
5.5號為切換到會話串列
切換視圖為會話串列(上部選項欄里介紹視圖部分講到)
6.6號切換到目標串列
切換視圖為目標串列(上部選項欄里介紹視圖部分講到)
7.7號為顯示憑證資訊,顯示已有的目標的憑證(賬戶密碼這些)
8.8號為檔案下載(后面檔案管理處會介紹到的)
9.9號為鍵盤記錄,記錄鍵盤的輸入資訊
10.10號為螢屏截圖,截取目標當前螢屏
11.11號為Windows Executables,用于生成一個后門檔案(前面關于木馬處講到)
12.12為設定java簽名的applet攻擊,上面的釣魚攻擊處講到
13.13為MS Office 宏攻擊,用于生成一個office宏病毒檔案,上面生成后門處有講到
14.14Scripted web Delivery
生成一個payload(類似Windows Executable生成的),釣魚攻擊處會講到
15.Host file 就是釣魚攻擊處的檔案下載功能,釣魚攻擊功能處會講到
16.web服務管理處,用于管理cobaltstrike web服務器上的可用程式,釣魚攻擊功能處會講到
17.幫助,用于打開幫助檔案
18.關于,用于查看當前cobaltstrike的版本資訊
beacon的使用
cobaltstrike 的beacon有許多功能,可以執行各種命令
注意,cobaltstrike有默認的60s心跳時間,導致執行命令或其他操作回應很慢,這里可以通過sleep命令去修改心跳時間

beacon常用命令
可以通過help命令去查詢beacon常用指令

常用命令漢化
argue 匹配行程的欺騙引數audit_uac 審查關于bypass uac 的方法blockdlls 在子行程中阻止非Microsoft DLLbrowserpivot 設定瀏覽器透視會話cancel 取消正在進行的下載cd 更改目錄checkin 呼叫總部并發布資料clear 清除信標佇列connect 通過TCP連接到信標對等方covertvpn 部署隱蔽VPN客戶端cp 復制檔案dcsync 從DC中提取密碼哈希desktop 查看目標的桌面并與之互動dllinject 將反射DLL注入行程dllload 使用LoadLibrary()將DLL加載到行程中download 下載檔案downloads 列出正在進行的檔案下載drives 列出目標上的驅動器elevate 在提升的背景關系中生成會話execute 在目標上執行程式(無輸出)execute-assembly 在目標上的記憶體中執行本地.NET程式exit 終止信標會話getprivs 在當前令牌上啟用系統權限getsystem 嘗試獲取系統getuid 獲取用戶IDhashdump 轉儲密碼哈希help 幫助選單inject 在特定行程中生成會話jobkill 殺死長時間運行的利用后任務jobs 列出長期運行的利用后任務jump 在遠程主機上生成會話kerberos_ccache_use 將kerberos票證從快取應用到此會話kerberos_ticket_purge 從此會話中清除kerberos票證kerberos_ticket_use 將kerberos票證應用于此會話keylogger 將擊鍵記錄器注入行程kill 終止行程link 通過命名管道連接到信標對等點logonpasswords 使用mimikatz轉儲憑據和哈希ls 列出檔案make_token 創建令牌以傳遞憑據mimikatz 運行mimikatz命令mkdir 制作目錄mode dns 使用DNS A作為資料通道(僅DNS信標)mode dns-txt 使用DNS TXT作為資料通道(僅DNS信標mode dns6 使用DNS AAAA作為資料通道(僅DNS信標)mv 移動檔案net 網路和主機列舉工具note 為該信標指定一個注釋portscan 掃描網路中的開放服務powerpick 通過非托管PowerShell執行命令powershell 通過powershell.exe執行命令powershell-import 匯入powershell腳本ppid 為衍生的事后交貨作業設定父PIDps 顯示行程串列psinject 在特定行程中執行PowerShell命令pth 使用Mimikatz傳遞散列pwd 列印當前目錄reg 查詢注冊表remote-exec 在遠程主機上運行命令rev2self 還原為原始令牌rm 洗掉檔案或檔案夾rportfwd 設定反向埠前進run 在目標上執行程式(回傳輸出)runas 以另一個用戶的身份執行程式runasadmin 在提升的背景關系中執行程式runu 在另一個PID下執行程式screenshot 截圖setenv 設定環境變數shell 通過cmd.exe執行命令shinject 將外殼代碼注入行程shspawn 生成行程并將外殼代碼注入其中sleep 設定信標睡眠時間socks 啟動SOCKS4a服務器以中繼流量socks stop 停止SOCKS4a服務器spawn 生成會話spawnas 作為另一個用戶生成會話spawnto 將可執行檔案設定為將行程生成到spawnu 在另一行程下生成會話ssh 使用SSH在主機上生成SSH會話ssh-key 使用SSH在主機上生成SSH會話steal_token 從行程中竊取訪問令牌timestomp 將時間戳從一個檔案應用到另一個檔案unlink 斷開與父信標的連接upload 上傳檔案
我用的是4.0版本的cobaltstrike, 命令和3版本的不同
會話功能
建立連接后,有許多會話功能可以供我們使用
在和目標建立的會話出右鍵,即可看到會話功能

執行
首先看執行處所有的功能

執行處的功能分別有
轉儲HASH,提權,黃金票據,制作令牌,one-liner,run mimikatz(運行mimikatz),spawn As(用其他用戶去生成cobaltstrike監聽器)
1.轉儲HASH
這里的轉儲HASH就是獲取hash值
測驗效果如下

得到了密碼的hash值
2.提權
這里的提權利用了各種方式來提權

選擇好相應的監聽器和exploit進行提權
2.1 uac-token-duplication
是一種繞過uac方式的攻擊,吧地權限提高到高權限,利用一個UAC漏洞,允許非提升行程使用提升行程中竊取的令牌來啟動,適用于win7
2.2 svc-exe
用于提升權限,用法類似getsystem命令
2.3 ms14-058|ms15-015|ms16-016|ms16-032|ms16-032|ms16-315
這幾種方式都差不多,通過windows的本地提權漏洞來提權
2.4 juicypotato
在cobaltstrike中使用爛土豆來提權,相對可靠
2.5 compmgmt
了解不多,似乎是通過windows的compmgmt去提權
2.6 rottenpotato
從Windows服務帳戶到系統的本地權限升級
2.7 uac-eventvwr
通過注冊表,利用eventvwr.exe 會自動加載我們的exp,這時的eventvwr.exe為高權限,達到提權效果
2.8 uac-dll
利用UAC漏洞,把我們的exp生成的dll復制到特定位置來達到提權效果,可繞過UAC
uac-wscript
這是一個empire中的繞過UAC模塊,通過利用wscript.exe 去執行payload,以管理員權限去運行payload,只限于win7上使用
3.黃金票據
用于生成黃金票據

填入通過mimikatz得到的資料,去生成黃金票據
4.制作令牌
在當前的beacon上進行身份偽造

填入用戶名,密碼和Domain值來制作token
5.one-liner
為PowerShell one liner功能的會話,在beacon中承載一個運行有效負載的powershell腳本
powershell one-liner通常用于管理檔案系統

選擇監聽器
隨后會生成一段powershell命令,放到目標靶機上去運行,得到會話

在cobaltstrike通過beacon去運行powershell命令

得到了新的會話
6.run mimikatz
運行mimikatz,,會直接運行mimikatz得到結果
得到靶機的資料

7.spawn As
用于獲取beacon后獲取一個新的beacon,防止權限丟失,還可以和msf,empire等工具結合使用

填入資訊,選擇監聽器

得到新的beacon
目標
對于目標操作
cobaltstrike上有許多對于目標的操作方式
瀏覽器代理

配置好埠資訊后點擊開始,然后cobaltstrike就會開始注入dll到行程里,隨后我們就可以把目標機器作為瀏覽器代理
遠程VNC
可以直接與目標的桌面進行互動


1.重繪頁面
2.僅查看
3.減小縮放
4.增大縮放
5.調整到適合的標簽頁
6.發送ctrl + Escape
7.鎖定 Ctrl鍵
8.鎖定 Alt鍵
檔案管理
可以列出目標機器上的所有檔案

upload
用于上傳檔案
make directory
用于創建檔案夾
list drives
用于顯示盤符
refresh
重繪當前目錄
下載檔案
如果要下載檔案的話,點擊檔案,右鍵dowload即可下載
復制檔案
如果要復制檔案的話,點擊檔案,右鍵copy即可
執行檔案
點擊檔案,右鍵excute即可執行檔案
洗掉檔案
點擊檔案,右鍵delete即可洗掉檔案
net view
用于查看目標所在域內的其他目標
(由于靶機沒有設定域,故不作展示)
埠掃描
用于掃描目標機器的埠,起到nmap的作用

行程串列
可以列出當前機器所有運行中的行程

螢屏截圖
直接點擊螢屏截圖,就可以獲得目標機器當前螢屏畫面

中轉
中轉分為3個部分
SOCKES SERVER
SOCKES SERVER是cobaltstrike的內置sock,用于穿透目標機進入內網

運行成功

連接teamserver 的 36111埠即可進入內網
Listener

用于建立一個新的會話,將目標作為內網里其他beacon會話的中轉器
設定好會話名稱,選擇相應的payload,再設定ip和埠,選擇一個會話
Deploy vpn client
用于部署vpn連接

設定好MAC地址和埠,在channel處選擇相應的通信協議
增加會話
在當前會話的基礎上,再生成一個會話,增加對目標的控制

點擊后,選擇一個payload,選擇后新增一個會話
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/340362.html
標籤:其他
下一篇:推薦幾款遠控軟體
