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