2017年3月,ShadowBrokers放出了一份震驚世界的機密文檔,其中包括兩個框架:DanderSpritz和FuzzBunch。
DanderSpritz完全由插件組成,用于收集情報、利用漏洞和操控已接管的設備。它基于Java編寫,提供類似于僵尸網絡管理面板的圖形界面以及類似Metasploit工具的控制面板。它還整合了用于非FuzzBunch受控設備的后門和插件。

DanderSprit界面
概述
Fuzzbunch為不同的實用程序提供了一個用于交互和協同工作的框架,包含各種類型的插件,其目的是分析對象、利用漏洞、植入任務等。FuzzBunch框架插件包中的文件分為三種類型:
%pluginName%-version.fb
這是框架的實用程序文件。它從XML復制標頭并包含插件的ID。
%pluginName%-version.exe
當FuZZbuNch收到執行命令時,運行此可執行文件。
%pluginName%-version.xml
此配置文件描述了插件的輸入和輸出參數的名稱、類型和描述。這些信息都可以通過FuzzBunch界面顯示。這種文件類型劃分規范了默認參數的設置,從而提升了框架的可用性。
ImplantConfig是一個Fuzzbunch可調用的工具包,包含一個名為DarkPulsar的管理模塊,用于管理受控設備的插件,用于控制名為“sipauth32.tsp”的遠程控制后門。
它支持以下命令:
Burn
RawShellcode
EDFStagedUpload
DisableSecurity
EnableSecurity
UpgradeImplant
PingPong
Burn、RawShellcode、UpgradeImplant和PingPong支持移除/升級植入軟件、運行任意代碼和檢查后門是否已安裝在遠程機器上,其他命令的目的暫不明確。
卡巴斯基實驗室在分析DarkPulsar時發現了幾個用于加密C&C和植入軟件之間流量的常量:

卡巴斯基認為這些常量可以作為進一步深入調查的抓手,所以構建了一個檢測器。幾個月后,神秘的DarkPulsar后門浮出水面,而且包含32位和64位版本。研究人員發現大約50個案例,分別位于俄羅斯、伊朗和埃及,常見感染Windows 2003/2008服務器,涉及核能、電信、IT、航空航天和研發等領域。
DarkPulsar技術亮點
DarkPulsar植入的是一個動態庫文件,從其工作負載導出的函數來看可以實現以下幾類功能:
兩個匿名函數用于在系統中安裝后門。
名稱與TSPI(電話服務提供程序接口)操作相關的函數,用于確保后門存在于自動運行列表中并自動啟動。
名稱與SSPI(安全支持提供程序接口)操作相關的函數,主要用于運行惡意代碼。
SSPI和TSPI接口的實現很簡單,使得DarkPulsar導出的函數與接口函數的名稱相同即可,只不過用惡意代碼替代了正確的電話服務。
這個動態庫通過匿名函數安裝在系統中,調用具有管理員權限的Secur32.AddSecurityPackage以及參數中它自己庫的路徑來啟動后門,使得lsass.exe將DarkPulsar加載為SSP/AP并調用其導出的函數SpLsaModeInitialize,由DarkPulsar初始化后門。其中AddSecurityPackage用于將代碼注入到lsass.exe。它還在HKLM\Software\Microsoft\Windows\CurrentVersion\Telephony\Providers中添加了其庫文件名。
這樣一來Telephony API(TapiSrv)開始加載隨著遠程訪問連接管理器(RasMan)服務啟動開始加載,將該啟動類型設置為“自動”。加載電話服務提供商的庫時,TapiSrv調用TSPI_lineNegotiateTSPIVersion,其中包含AddSecurityPackage調用以將惡意代碼注入到lsass.exe中。
DarkPulsar通過為SpAcceptLsaModeContext(負責身份驗證的函數)安裝鉤子來實現惡意功能。此類注入行為在進程lsass.exe中的多個系統身份驗證數據包中進行,并允許Darkpulsar根據以下協議控制身份驗證過程:
1、Msv1_0.dll – 用于NTLM協議,
2、Kerberos.dll – 用于Kerberos協議,
3、Schannel.dll – 用于TLS / SSL協議,
4、Wdigest.dll – 用于摘要協議,
5、Lsasrv.dll-用于談判協議。
在完成這個過程之后,Darkpulsar能夠將惡意軟件流量嵌入到系統協議中。由于此類網絡活動是根據系統標準進行的,因此它只會反映在系統進程中,也就是說它使用了為上述協議保留的系統端口,而不會妨礙其正常運行。

成功連接到DarkPulsar植入軟件的網絡流量
控制身份驗證過程的第二個優勢是可以繞過輸入用戶名和密碼保護,以獲取對需要身份驗證的對象的訪問權限,例如進程列表、遠程注冊表、SMB文件系統。發送Darkpulsar的DisableSecurity命令后,受控設備的后門鉤子將調用SpAcceptLsaModeContext函數,使得該函數傳遞的憑據有效,然后系統將提供對客戶端的受保護對象的訪問權限。
使用DarkPulsar
Darkpulsar-1.1.0.exe提供基于“一個命令+一次啟動”原則構建的管理界面。要執行的命令必須在配置文件Darkpulsar-1.1.0.9.xml中指定,或者作為命令行參數指定,至少詳細說明:
目標機器是使用32位還是64位系統;
協議(支持SMB、NBT、SSL、RDP協議)以提供命令和端口號;
用于解密會話AES密鑰的私有RSA密鑰。
Darkpulsar-1.1.0是Fuzzbunch框架的插件,可以管理參數和協調不同的組件。以下是Fuzzbunch中的DisableSecurity命令實例:

下面是運行DisableSecurity之后的進程表實例,允許執行任何沒有有效憑據的插件,并通過常規系統功能(遠程注冊表服務)進行操作:
DanderSpritz
DanderSpritz是用于控制受感染機器的框架,與FuZZbuNch不同,因為后者為具有特定功能的后期開發階段提供了部分工具包,例如DisableSecurity和DarkSeuls的EnableSecurity。
DanderSpritz適用于更大范圍的后門,在受控設備中使用PeedleCheap來啟動攻擊者的惡意軟件。PeddleCheap是DanderSpritz的插件,可用于配置植入軟件并連接到受感染的機器。建立連接后,所有DanderSpritz后期開發功能均可用。
這就是EDFStagedUpload模式中的DarkPulsar通過植入惡意軟件感染設備的渠道:PCDllLauncher(Fuzzbunch的插件)在受控設備一側部署PeddleCheap植入軟件,DanderSpritz提供用戶友好的開發界面。所以,PCDllLauncher的全名是’PeddleCheap DLL Launcher’。
整合DanderSpritz方案、PeddleCheap插件、DarkPulsar插件和PCDllLauncher到一起實現惡意功能共包含四個步驟:
通過FuZZbuNch,運行命令EDFStagedUpload以啟動DarkPulsar。
在DanderSpritz中,運行命令pc_prep(PeedelCheap Preparation)以準備惡意代碼和要啟動的庫文件。
在DanderSpritz中,運行命令pc_old(這是命令pc_listen -reuse -nolisten -key默認的別名),這會將其設置為等待來自Pcdlllauncher的socket。
通過FuZZbuNch啟動Pcdlllauncher并指定使用ImplantFilename參數中的命令pc_prep準備的有效路徑。

DanderSpritz

文件系統插件
總結
FuzzBunch和DanderSpritz框架提供了很大的靈活性,包含諸多專為不同任務設計的插件,比如說FuzzBunch插件負責監控和攻擊設備,DanderSpritz框架中的插件則是為管理已感染的受害者而開發的。
DarkPulsar后門的發現有助于理解它作為兩個泄露框架之間的橋梁作用,以及它們如何成為同一攻擊平臺的一部分。這些平臺是為長期潛伏攻擊而設計的,從DarkPulsar的持久性和潛伏能力(例如將其流量封裝到合法協議中并繞過密碼保護以通過身份驗證)可以看出背后的開發者非常之專業。
檢測惡意網絡活動
在受感染的計算機中執行EDFStagedUpload時,會建立永久連接,這是出現端口445流量的原因。lsass.exe中還出現了一對綁定的socket:

當DanderSpritz通過PcDllLauncher插件部署PeddleCheap的惡意代碼時,網絡活動會急劇增加:

當終止與受感染計算機的連接時,網絡活動將停止,并且只保留lsass.exe中兩個綁定socket:

IOC
植入 – 96f10cfa6ba24c9ecd08aa6d37993fe4
文件路徑 – %SystemRoot%\ System32 \ sipauth32.tsp
注冊表 – HKLM \Software\Microsoft\Windows\CurrentVersion\Telephony\Providers
|