taibeihacker
Moderator
Cobalt Strike 3.13現已推出。此版本添加了TCP Beacong,進程參數欺騙,並將Obfuscate和Sleep功能擴展到SMB和TCP Beacons。
Cobalt Strike 3.13中的Pivot Listeners現在是stageless的反向TCPBeacon listeners。您可以從Beacon會話綁定一個pivot listener,並導出一個連接到它的stageless TCP Beacon artifact。
Cobalt Strike的SSH會話也能夠控制TCP Beacon會話!是的,您現在可以通過SSH連接到數據pivot主機並使用它來恢復對Beacon網格的控制。
反向TCPBeacon的Pivot Listeners也可以通過SSH會話運行,但有一點需要注意:SSH守護進程通常僅限制反向端口轉發到本地主機。您可以使用SSH配置中的GatewayPorts選項更改此設置。對於那些使用dropbear作為* NIX RAT的人,這是一個很好的附加pivoting選項
beacon的argu命令允許您向內部列表添加一個命令和一組偽參數。當Beacon啟動其中一個命令[需要完全匹配]時,它將以掛起狀態下的偽參數啟動它。然後,beacon用實參更新進程內存並恢復執行。訂閱新進程創建事件的工具將看到舊參數。子進程將使用欺騙參數執行。這種技術是一種回退查找惡意進程參數的方法。
像往常一樣,這並不是100%適用於紅隊的新技術。此技術依賴於在遠程進程中讀取和寫入內存。這是不好的一個指標。
正如我所實現的,這種技術可以運行x86 - x86和x64 - x64。此外,這種技術要求偽參數與實際參數一樣長或更長。最後,通過讀取進程PEB來確定進程參數的程序將看到您的真實參數,而不是我們的偽參數。
儘管如此,當您絕對需要在目標上運行一個進程來完成某項任務時,這種技術是另一種掩蓋您的動作的方法。
進程欺騙演示:
此視頻演示了Cobalt Strike 3.13中的過程參數欺騙。這項技術基於Will Burgess在Wild West Hackin’Fest 2018的EDR Age Talk中提出的想法:
Cobalt Strike 3.13也將此功能擴展到SMB和TCP Beacons。現在,這些Beacons會在等待新連接時混淆自己。當他們等待從父Beacon讀取信息時,他們也會混淆自己。實際上,這些Beacons將花費大量時間進行混淆。
要啟用此行為,請在Malleable C2配置文件中將stage - sleep_mask選項設置為true。為了獲得最乾淨的內存體驗,我建議將stage - cleanup設置為true,並主要使用stageless payloads
查看發行說明,可看到Cobalt Strike 3.13中新功能的完整列表。授權用戶可以使用更新程序獲取最新信息。一個21天的Cobalt Strike trial也可用。
wiz_tmp_tag id='wiz-table-range-border' contenteditable='false' style='display: none;'
TCP Beacon
Cobalt Strike長期以來能夠繞過命名管道。 Cobalt Strike 3.13使用TCP Beacon擴展了這種點對點的pivot模型。現在,您可以使用綁定TCPBeacon作為權限提升和橫向移動的目標。與SMBBeacon一樣,您可以斷開與TCPBeacon的連接,稍後再從另一個Beacon(在同一個Cobalt Strike實例中)重新連接到它。Cobalt Strike 3.13中的Pivot Listeners現在是stageless的反向TCPBeacon listeners。您可以從Beacon會話綁定一個pivot listener,並導出一個連接到它的stageless TCP Beacon artifact。
Cobalt Strike的SSH會話也能夠控制TCP Beacon會話!是的,您現在可以通過SSH連接到數據pivot主機並使用它來恢復對Beacon網格的控制。
反向TCPBeacon的Pivot Listeners也可以通過SSH會話運行,但有一點需要注意:SSH守護進程通常僅限制反向端口轉發到本地主機。您可以使用SSH配置中的GatewayPorts選項更改此設置。對於那些使用dropbear作為* NIX RAT的人,這是一個很好的附加pivoting選項
进程参数欺骗
對於紅隊職業選手而言,2018年的演講者之一是EDR Age紅隊的Will Burgess。本次演講討論了EDR規避的一些技巧,包括:欺騙父進程,進程參數欺騙和隱藏內存。在Will的演講之後,我選擇瞭如何在Cobalt Strike中添加進程參數欺騙作為會話準備選項。我想到的是:beacon的argu命令允許您向內部列表添加一個命令和一組偽參數。當Beacon啟動其中一個命令[需要完全匹配]時,它將以掛起狀態下的偽參數啟動它。然後,beacon用實參更新進程內存並恢復執行。訂閱新進程創建事件的工具將看到舊參數。子進程將使用欺騙參數執行。這種技術是一種回退查找惡意進程參數的方法。
像往常一樣,這並不是100%適用於紅隊的新技術。此技術依賴於在遠程進程中讀取和寫入內存。這是不好的一個指標。
正如我所實現的,這種技術可以運行x86 - x86和x64 - x64。此外,這種技術要求偽參數與實際參數一樣長或更長。最後,通過讀取進程PEB來確定進程參數的程序將看到您的真實參數,而不是我們的偽參數。
儘管如此,當您絕對需要在目標上運行一個進程來完成某項任務時,這種技術是另一種掩蓋您的動作的方法。
進程欺騙演示:
此視頻演示了Cobalt Strike 3.13中的過程參數欺騙。這項技術基於Will Burgess在Wild West Hackin’Fest 2018的EDR Age Talk中提出的想法:






内存混淆
我一直認為擁有一個可以在內存中混淆自身的有效載荷會很酷。這是一個很好的方法來推回到尋找靜態字符串的時間點分析上。 Cobalt Strike 3.12為HTTP/HTTPS和DNS Beacon有效載荷引入了此功能。Cobalt Strike 3.13也將此功能擴展到SMB和TCP Beacons。現在,這些Beacons會在等待新連接時混淆自己。當他們等待從父Beacon讀取信息時,他們也會混淆自己。實際上,這些Beacons將花費大量時間進行混淆。
要啟用此行為,請在Malleable C2配置文件中將stage - sleep_mask選項設置為true。為了獲得最乾淨的內存體驗,我建議將stage - cleanup設置為true,並主要使用stageless payloads
Obfuscate and Sleep演示:
Obfuscate and Sleep是一個Malleable C2選項,在Cobalt Strike 3.12.引入。啟用後,Beacon將在進入Sleep狀態之前在內存中混淆自身。當它運行的時候,它會自己去混淆。










令牌魔术
執行execute-assembly、net、portscan和powerpick命令,現在使用您當前的令牌。此版本還更新make_token命令。它現在將您提供的憑證存儲在Beacon中。當Beacon沒有使用新創建的令牌運行新進程的權限時,它將使用這些憑據回退到CreateProcessWithLogonw。這使得make-token在很大程度上可以從非特權上中使用。查看發行說明,可看到Cobalt Strike 3.13中新功能的完整列表。授權用戶可以使用更新程序獲取最新信息。一個21天的Cobalt Strike trial也可用。
wiz_tmp_tag id='wiz-table-range-border' contenteditable='false' style='display: none;'