日前,,滲透測(cè)試工具Cobalt Strike爆出一個(gè)有趣的漏洞,由于該漏洞的補(bǔ)丁僅發(fā)送給正版用戶,,因此對(duì)那些使用該工具的盜版用戶,,包括數(shù)量龐大的僵尸網(wǎng)絡(luò)系統(tǒng),將會(huì)因?yàn)槲茨芗皶r(shí)修復(fù)漏洞而面臨被“攻擊”的威脅,。
眾所周知,,Cobalt Strike是滲透測(cè)試人員用來模擬網(wǎng)絡(luò)中惡意活動(dòng)的合法安全工具。在過去幾年中,,各種黑客團(tuán)伙正在越來越多地使用該軟件,。對(duì)于防御者和攻擊者來說,Cobalt Strike提供了一個(gè)完整的軟件包集合,,允許受感染的計(jì)算機(jī)和攻擊者服務(wù)器以高度可定制的方式進(jìn)行交互,。
Cobalt Strike的主要組件是Cobalt Strike客戶端(也稱為 Beacon)和Cobalt Strike團(tuán)隊(duì)服務(wù)器(Team Server),后者向受感染的計(jì)算機(jī)發(fā)送命令并接收它們泄露的數(shù)據(jù),。攻擊者首先啟動(dòng)一臺(tái)運(yùn)行Team Server的機(jī)器,,該機(jī)器已配置為使用特定的“延展性”自定義,例如自定義客戶端向服務(wù)器報(bào)告的頻率或定期發(fā)送特定數(shù)據(jù),。
然后攻擊者在利用漏洞,、欺騙用戶或通過其他方式獲取訪問權(quán)限后,將客戶端安裝在目標(biāo)機(jī)器上,。接下來,,客戶端將使用這些自定義來保持與運(yùn)行Team Server機(jī)器的持久聯(lián)系,。
將客戶端連接到服務(wù)器的鏈接稱為Web服務(wù)器線程,它處理兩臺(tái)機(jī)器之間的通信,。通信中的主要內(nèi)容是服務(wù)器發(fā)送的“任務(wù)”,,以指示客戶端運(yùn)行命令、獲取進(jìn)程列表或執(zhí)行其他操作,。然后客戶端以“回復(fù)”進(jìn)行響應(yīng),。
安全公司SentinelOne的研究人員Gal Kristal在Team Server中發(fā)現(xiàn)了一個(gè)嚴(yán)重的漏洞,可以很容易地使服務(wù)器脫機(jī),。該研究員表示:“該漏洞的工作原理是發(fā)送服務(wù)器虛假回復(fù),,從C2的Web服務(wù)器線程中榨取所有可用內(nèi)存?!?/p>
執(zhí)行攻擊所需的只是了解一些服務(wù)器配置。這些設(shè)置有時(shí)會(huì)嵌入到VirusTotal等服務(wù)提供的惡意軟件樣本中,。任何可以物理訪問受感染客戶端的人都可以獲得這些配置,。
為了簡(jiǎn)化這一過程,Sentinel One發(fā)布了一個(gè)解析器,,可以捕獲從惡意軟件樣本,、內(nèi)存轉(zhuǎn)儲(chǔ)以及客戶端用于連接服務(wù)器的URL中獲取的配置。一旦掌握了這些設(shè)置,,攻擊者就可以使用解析器附帶的通信模塊偽裝成屬于服務(wù)器的Cobalt Strike客戶端,。
據(jù)了解,該工具能夠:
解析Beacon的嵌入式Malleable配置文件說明
直接從活動(dòng)的C2解析信標(biāo)的配置(如流行的nmap腳本)
作為假信標(biāo)與C2通信的基本代碼
即使服務(wù)器沒有先發(fā)送相應(yīng)的任務(wù),,假客戶端也可以發(fā)送服務(wù)器回復(fù),。Team Server軟件中的一個(gè)漏洞(編號(hào)為CVE-2021-36798)阻止其拒絕包含格式錯(cuò)誤的數(shù)據(jù)的回復(fù)。一個(gè)例子是客戶端上傳到服務(wù)器的屏幕截圖附帶的數(shù)據(jù),。
“通過操縱屏幕截圖的大小,,我們可以讓服務(wù)器分配任意大小的內(nèi)存,其大小完全由我們控制,,通過將Beacon通信流的所有知識(shí)與我們的配置解析器相結(jié)合,,我們擁有偽造Beacon所需的一切?!盞ristal寫道,。
雖然這個(gè)漏洞理論上可以同時(shí)用來攻擊白帽黑客和黑帽黑客,但有趣的是,,后者可能最容易受到漏洞的威脅,。這是因?yàn)榇蠖鄶?shù)專業(yè)的安全維護(hù)者都購(gòu)買了Cobalt Strike的許可證,而相比之下,,許多惡意黑客都在使用該軟件的盜版版本,。