“驗(yàn)證器”(Validator)— 美國國家安全局NSA(APT-C-40)的木馬尖兵【轉(zhuǎn)載】

作者:360政企安全
原文:https://www.anquanke.com/post/id/275517

背景
在360前期發(fā)布的“量子”(Quantum)攻擊行動報告《Quantum(量子)攻擊系統(tǒng)–美國國家安全局“APT-C-40”黑客組織高端網(wǎng)絡(luò)攻擊武器技術(shù)分析報告(一)》(https://mp.weixin.qq.com/s?__biz=MzU4Nzg2MzIxMA==&mid=2247487479&idx=1&sn=6475fcf9a348ec121bc9a2d96886bca8&chksm=fde4ca32ca93432463a87c389287b11391fa112855dc6dfe4ffbff2e74bf7c745eaea3310d36&scene=21#wechat_redirect)中,我們利用360安全大腦,對具有美國官方背景的黑客組織“APT-C-40”的量子注入攻擊實(shí)例進(jìn)行技術(shù)分析,揭示了美國情治部門利用先進(jìn)網(wǎng)絡(luò)武器,對中國和世界各國的政府機(jī)構(gòu)、重要組織和信息基礎(chǔ)設(shè)施實(shí)施復(fù)雜、精密、持續(xù)性APT攻擊行動的事實(shí)。
根據(jù)可考的美國國家安全局(NSA)機(jī)密文檔顯示,NSA的實(shí)戰(zhàn)化網(wǎng)絡(luò)攻擊武器體系極其復(fù)雜,可以根據(jù)不同的攻擊任務(wù)配置多種攻擊武器和攻擊方式組織,攻擊的不同階段會針對特定目標(biāo)植入不同類型的木馬程序。
其中,一款名為“驗(yàn)證器”(Validator)的木馬程序是NSA在網(wǎng)絡(luò)攻擊活動中最先植入目標(biāo)的輕量級后門,主要功能是對攻擊目標(biāo)的網(wǎng)絡(luò)系統(tǒng)環(huán)境進(jìn)行探查,被認(rèn)為是NSA專門開展的“木馬尖兵”?!膀?yàn)證器”木馬具備對攻擊目標(biāo)開展系統(tǒng)環(huán)境信息收集的能力,同時也為更為復(fù)雜的木馬程序的安裝(植入)提供條件。
該款木馬可以通過網(wǎng)絡(luò)遠(yuǎn)程和物理接觸兩種方式進(jìn)行安裝,具有7X24小時在線運(yùn)行能力,使NSA的系統(tǒng)操控者和數(shù)據(jù)竊密者可以上傳下載文件、遠(yuǎn)程運(yùn)行程序、獲取系統(tǒng)信息、偽造ID,并在特定情況下緊急自毀。
?
簡介
根據(jù)斯諾登曝光文檔描述,“驗(yàn)證器”(Validator)是與美國國家安全局(NSA)接入技術(shù)行動處(TAO)“酸狐貍”(FOXACID)攻擊武器平臺相配套的專用木馬程序,它基于基本C/S架構(gòu),為NSA向敏感目標(biāo)發(fā)動更為復(fù)雜的網(wǎng)絡(luò)攻擊提供輕便易用的潛伏工具。一份網(wǎng)上流傳的“絕密”文件對“驗(yàn)證器”進(jìn)行了如下描述。

圖片內(nèi)容譯文:VALIDATOR是FOXACID項目下的后門訪問系統(tǒng)的一部分。
VALIDATOR基于客戶端/服務(wù)器提供對國家利益目標(biāo)(包括但不限于恐怖分子)的個人電腦進(jìn)行后門訪問。VALIDATOR是一種小型木馬植入,用作針對各種Windows系統(tǒng)的后門,它可以遠(yuǎn)程部署,也可以手動部署在任何Windows系統(tǒng)上,從Windows 98到Windows Server 2003都適配。
監(jiān)聽站 LP是24/7在線的,所有任務(wù)都需要“排隊”,即任務(wù)需要按順序等待目標(biāo)的調(diào)用,然后被依次發(fā)送(每次一個)到目標(biāo)側(cè)進(jìn)行執(zhí)行。命令包括投置文件、獲取文件、投置并執(zhí)行文件、獲取系統(tǒng)信息、更改VALIDATOR ID和自刪除。?
將VALIDATOR部署到目標(biāo)系統(tǒng),并與它們的監(jiān)聽站(LP)進(jìn)行通信(每個VALIDATOR都會綁定一個唯一ID和特定的IP地址,以呼叫它在基地的LP); SEPI的分析師會驗(yàn)證目標(biāo)的身份和位置(USSIS -18檢查),然后向Olympus的操作人員發(fā)送部署列表來加載更復(fù)雜的木馬植入(目前是Olympus,后來是UNITEDRAKE)。然后,Olympus操作人員根據(jù)SEPI提供的Validator ID將相應(yīng)命令加入任務(wù)隊列。?此過程循環(huán)往復(fù)。一旦更復(fù)雜的植入成功與目標(biāo)設(shè)備連接,VALIDATOR的操作就會停止。?
有時候,操作人員會根據(jù)SEPI或SWO的指示,讓VAIDATOR進(jìn)行自刪除。在另外兩份關(guān)于美國國家安全局(NSA)“酸狐貍”(FOXACID)攻擊武器平臺的“絕密級”描述文檔中,也提到了“驗(yàn)證器”(Validator)木馬程序,三分文件在對“驗(yàn)證器”的功能描述上基本一致。

圖片內(nèi)容譯文:絕密//通信情報//非海外Validator(驗(yàn)證器)
?Validator是一個可以通過多種方式安裝在目標(biāo)電腦上的程序。
?它主要是作為下載Olympus安裝程序的代理,也可以作為植入與過濾程序使用。
?這些功能包括從目標(biāo)側(cè)上傳/下載文件,獲取限制性系統(tǒng)信息,找到進(jìn)出目標(biāo)設(shè)備的路徑(撥號或直接連接)。
?Validator也可以通過命令或內(nèi)置的計時器來進(jìn)行自刪除。
圖片來源:《FOXACID-OVERALL-BRIEFING-Third-Revision-Redacted.pdf》(文件名稱直譯:FOXACID整體介紹 – 第三版修訂)

圖片內(nèi)容譯文:3.6(絕密//信號情報)載荷載荷是在漏洞利用成功后投遞的后門程序,使用不同的載荷對漏洞利用沒有幫助。
請求使用非默認(rèn)的其他載荷時,必須謹(jǐn)慎。
每個針對默認(rèn)載荷的修改都會更改配置文件。配置文件中的每一處改動都會導(dǎo)致FOXACID服務(wù)器重新進(jìn)行檢查操作。每個檢查都會拖延漏洞利用過程。變慢的漏洞利用過程對于你和其他分析師都是不利的。
當(dāng)前載荷Validator 8.2.1.1 (默認(rèn))
圖片來源:《FOXACID-OVERALL-BRIEFING-Third-Revision-Redacted.pdf》(文件名稱直譯:FOXACID服務(wù)器標(biāo)準(zhǔn)作業(yè)流程 – 修訂版)
如上述文檔所述,“驗(yàn)證器”(Validator)是一款基于 C/S架構(gòu)的基礎(chǔ)木馬程序。在360近期提取的“驗(yàn)證器”木馬樣本中發(fā)現(xiàn)了相應(yīng)的配置區(qū),位于該木馬程序中名為“BINRES”的資源下,可通過異或0x79進(jìn)行解密(如下圖所示)。

360研究團(tuán)隊提取了“驗(yàn)證器”木馬程序的負(fù)載標(biāo)識(ClientID)、通信測試地址、C&C地址和版本號等信息。

在被感染的目標(biāo)系統(tǒng)中,會存在如下的注冊表路徑:\Registry\Machine\SOFTWARE\Classes\CLSID\{77032DAA-B7F2-101B-A1F0-01C29183BCA1}其中保存了“驗(yàn)證器”(Validator)木馬程序的相關(guān)信息。
通過對注冊表項最后修改時間屬性的分析,可以大致推斷出相關(guān)用戶被木馬程序感染的時間。
在“影子經(jīng)紀(jì)人”(The Shadow Brokers)披露的美國國家安全局(NSA)“方程式”黑客組織網(wǎng)絡(luò)攻擊工具中,也存在著與“驗(yàn)證器”功能相似的木馬腳本。
其中,一款名為check_va.py的木馬腳本中,存在著與“驗(yàn)證器”木馬相對應(yīng)的注冊表信息,內(nèi)容包含版本號、客戶端標(biāo)識(ClientID)[與“酸狐貍”攻擊武器平臺負(fù)載標(biāo)識(Payload ID)相對應(yīng)]和程序自毀狀態(tài)等信息。

綜上所述,“驗(yàn)證器”(Validator)木馬程序是美國國家安全局(NSA)“量子”(Quamtum)攻擊平臺的重要組件。
在本地網(wǎng)絡(luò)服務(wù)器或上網(wǎng)終端中發(fā)現(xiàn)“驗(yàn)證器”樣本,表明這些設(shè)備已經(jīng)遭受美國國家安全局(NSA)的網(wǎng)絡(luò)攻擊,系統(tǒng)中的重要信息已被NSA竊取,并且目標(biāo)系統(tǒng)內(nèi)網(wǎng)中的其他節(jié)點(diǎn)均可能被NSA滲透遠(yuǎn)控。
樣本分析
3.1功能簡述
該木馬程序的主體為DLL COM劫持器,其核心功能位于DllMain中,對特定DLL進(jìn)行劫持,接受CC控制,導(dǎo)出控制函數(shù)轉(zhuǎn)發(fā)到正常DLL中以保持受控端主機(jī)功能正常運(yùn)行。近期在中國科研機(jī)構(gòu)提取的“驗(yàn)證器”木馬程序樣本會被微軟explorer.exe或avp.exe加載啟動。該樣本的更高版本,也可被一些常見的服務(wù)進(jìn)程加載啟動,如:svchost.exe、wuauserv(Windows更新服務(wù))、LanmanServer(Windows共享服務(wù))等。
3.2“驗(yàn)證器”木馬程序功能指令
現(xiàn)已發(fā)現(xiàn)的“驗(yàn)證器”木馬程序指令匯總?cè)缦拢?/p>
3.3回傳信息
“驗(yàn)證器”(Validator)木馬程序在竊取目標(biāo)系統(tǒng)信息后,會通過上述結(jié)構(gòu)組包加密回傳:

每個代號之間內(nèi)容用\r\n進(jìn)行分隔,例如: “000:xxxxx\r\n001:xxxxx\r\n”。
3.4詳細(xì)功能分析
在“驗(yàn)證器”(Validator)木馬加載到DllMain后,會首先創(chuàng)建線程,執(zhí)行初始化動作,主要包含以下行為:
3.4.1線程函數(shù)1
使用異或運(yùn)算動態(tài)加解密字符串,在使用時解密,使用完后加密回去,其使用的異或值有兩種:0x3C和0x7F。

獲取受控目標(biāo)系統(tǒng)當(dāng)前版本,根據(jù)系統(tǒng)版本不同,后續(xù)劫持DLL的名稱也會有所不同,主要針對win9x、win2000、winxp、win7等微軟系列操作系統(tǒng)。

判斷本模塊名是否為ee.dll,若不是則執(zhí)行清理動作后退出。若當(dāng)前模塊是ee.dll,則繼續(xù)執(zhí)行,清除系統(tǒng)目錄下指定dll(上面表格中的劫持DLL),比較本模塊資源解密出的配置信息版本與寫入注冊表中的配置信息版本,若本模塊版本較新,則安裝新的DLL以替換舊版本,該替換的DLL即為本模塊自身,其替換策略如下:

其中,獲取資源中的配置信息的操作如下,讀取資源“BINRES”,并異或0x79進(jìn)行解密。


如果該樣本運(yùn)行在Windows NT平臺,會為后續(xù)的注冊表操作設(shè)置安全描述符:KEY_ALL_ACCESS,若該樣本運(yùn)行于Windows 9.x平臺,則不會執(zhí)行該操作。
。


以上對注冊表設(shè)置安全描述符,使得每個用戶即便在低權(quán)限下也可讀寫該注冊表項。
上述操作完成后,將配置信息寫回注冊表項HKLM\SOFTWARE\Classes\CLSID\{6AF33D21-9BC5-4f65-8654-B8059B822D91}中,如下表所示:




在生成ClinetID編號時,采用異或位移的方式,如下圖所示:

該后門程序第一次啟動時,注冊表中并不會存在上述表項,“驗(yàn)證器”會直接使用資源中的缺省數(shù)據(jù),然后寫入上述注冊表項中。

在上述操作過程中,“驗(yàn)證器”木馬會枚舉注冊表項HKLM\System\CurrentControlSet\Services和HKLM\SYSTEM\CurrentControlSet\Services\VxD,將注冊表項名異或計算后進(jìn)行比較,若找到符合表項,則會讀取注冊表項HKLM\SOFTWARE\Classes\CLSID\{77032DAA-B7F2-101B-A1F0-01C29183BCA1}\TypeLib的內(nèi)容,作為客戶端(Clinet)ID值寫入HKLM\SOFTWARE\Classes\CLSID\{6AF33D21-9BC5-4f65-8654-B8059B822D91}\TypeLib注冊表項,并設(shè)置異常碼。
分析認(rèn)為此部分內(nèi)容為“驗(yàn)證器”木馬程序的容錯機(jī)制。隨后,校驗(yàn)當(dāng)前模塊是否由explorer.exe或avp.exe加載,若是,則忽略前述異常錯誤繼續(xù)執(zhí)行。

隨后“驗(yàn)證器”木馬程序創(chuàng)建匿名互斥體,若創(chuàng)建成功,則再次創(chuàng)建線程執(zhí)行后續(xù)操作。

3.4.2線程函數(shù)2
在該線程中,首先會更新配置文件時間用以刷新配置,隨后創(chuàng)建命名互斥體HtmlInternetParser,其中會檢查一個存在于本地磁盤的文件,該文件由后續(xù)遠(yuǎn)端命令指定。

互斥體HtmlInternetParser對象創(chuàng)建成功后,開始輪詢連接配置信息中的測試域名是否能夠連通,使用的測試域名為:www.microsoft【.】com和www.yahoo【.】com。

若輪詢連接測試域名成功,則后續(xù)獲取本機(jī)MAC地址和IP,以及ClientID、本組件版本號進(jìn)行組包操作。


對該數(shù)據(jù)包進(jìn)行rc6與base64加密,rc6的key為:8B 4C 25 04 56 85 C9 75 06 33 C0 5E C2 08 31 F6,并通過標(biāo)志位來選擇使用配置信息中的CC。

最后,連接CC發(fā)送并接收數(shù)據(jù)包,設(shè)置本次連接CC的時間,對數(shù)據(jù)包進(jìn)行base64和rc6解密后,進(jìn)行解析并執(zhí)行功能,使用的CC地址為:www.frontadtime【.】com和195.128.235【.】229。

“驗(yàn)證器”木馬程序的網(wǎng)絡(luò)通信,采用HTTP/HTTPS協(xié)議,默認(rèn)端口號為80/443,并采用了POST請求。

在發(fā)送數(shù)據(jù)包時,會附帶請求頭信息:EIag: 0d1975bf********9c:eac\r\n,其中”*”代表配置中的Client ID。

若網(wǎng)絡(luò)通信失敗,“驗(yàn)證器”木馬程序會判斷本次連接服務(wù)器的時間是否超過設(shè)定的時間間隔(默認(rèn)為30天),若超過設(shè)定的時間間隔,則表明“驗(yàn)證器”木馬程序在設(shè)定的時段沒有正常工作?!膀?yàn)證器”后續(xù)將會卸載該組件,創(chuàng)建文件C:\Windows\wininit.ini并寫入錯誤信息后退出。
重要預(yù)警
在成功提取國內(nèi)某科研機(jī)構(gòu)重要信息系統(tǒng)中的“驗(yàn)證器”(Validator)木馬程序樣本的基礎(chǔ)上,360第一時間在國內(nèi)開展掃描檢測。
令人遺憾的是,這款美國國家安全局(NSA)的標(biāo)配木馬的不同版本曾在中國上百個重要信息系統(tǒng)中運(yùn)行,其植入時間遠(yuǎn)遠(yuǎn)早于“酸狐貍”攻擊武器平臺及其組件被公開曝光時間,說明NSA對至少上百個中國國內(nèi)的重要信息系統(tǒng)實(shí)施網(wǎng)絡(luò)攻擊。
時至今日,多個“驗(yàn)證器”木馬程序仍在一些信息系統(tǒng)中運(yùn)行,向NSA總部傳送情報??梢灶A(yù)見的是,世界各地的重要信息基礎(chǔ)設(shè)施中,正在運(yùn)行的“驗(yàn)證器”木馬程序數(shù)量會遠(yuǎn)遠(yuǎn)超過中國。
本文由360政企安全原創(chuàng)發(fā)布
轉(zhuǎn)載,請參考轉(zhuǎn)載聲明,注明出處:?https://www.anquanke.com/post/id/275517