Cylance SPEAR發現了一起針對日本、韓國、美國、歐洲以及其他幾個東南亞國家的威脅行動,在上述國家中,有大量的行業部門都遭到了攻擊。
我們研究發現DustStorm最早從2010年開始活動,使用了大量不同的作戰技術,包括釣魚、水坑攻擊和0-day漏洞。最初,有幾家殺毒公司還能檢測到他們使用的一些早期木馬樣本-被標記為Misdat,但是,經過多年的發展,現在已經很難再檢測到他們的蹤跡。
攻擊數據表明,DustStorm小組不再像以前一樣收集政府和國防情報,而是更加集中的尋找與日本關鍵基礎設施和資源相關的組織機構信息。
近期,這個攻擊小組大范圍攻擊了下面的這些行業:電力,石油和天然氣,金融,運輸和建筑。SPEAR研究發現,DustStorm小組當前的唯一關注點是日本企業和大型的日本外資機構。
與DustStorm相關的活動信息,最早是根據Misdat樣本中可執行資源部分的編譯時間確定的。所有的早期后門都是使用某個版本的Delphi編譯的,這個版本的Delphi會把編譯時間戳修改成June 19, 1992 22:22:17 UTC。利用可執行資源部分的時間戳,SPEAR準確的推測除了這些樣本的真正編譯時間,并跟蹤了其中的一個樣本”bc3b36474c24edca4f063161b25bfe0c90b378b9c19c”,直到2010年1月。
在2010年的時候,雖然DustStorm針對亞洲的攻擊活動引起了一定的關注,但是,與這個威脅相關的公共信息仍然非常少。可能的解釋是因為他們一開始大量使用了動態DNS域名來部署其CC服務器,以及使用了像Poison Ivy和Gh0st RAT這樣的公共RAT作為第二階段的植入木馬。一直到,這些攻擊者還在大量使用免費的動態DNS服務來部署其服務器,包括No-IP (http://www.noip.com),Oray (<http:/ www.oray.com/>) 和 3322 (http://www.pubyun.com/);SPEAR最早發現的一些后門就會與 “323332.3322.org” 和“1stone.zapto.org”通訊。
直到2011年,DustStorm開始利用未修復的IE 8漏洞(CVE-2011-1255)來入侵受害者的網絡。在發動攻擊時,攻擊者會在釣魚郵件中添加一個漏洞鏈接,這封郵件會裝成來自某國的一名學生,向目標尋求建議或解答問題。
Symantec在報告中也提到了,攻擊者使用的次級CC服務器是“honeywells.tk”;這個域名在2011年6月之前,會解析到“111.1.1.66”。這個地址也是第一個Misdat樣本在同一時間范圍內使用的一個地址。
在2011年4月的一次攻擊活動中,攻擊者在釣魚郵件中添加了一個Word文檔,而這個文檔中內嵌了一個Flash 0-day漏洞(CVE-2011-0611)。其中使用的最終有效載荷經過證實就是Misdat樣本,這個樣本會連接“msejake.7766. org”,在攻擊過程中,這個域名首先解析到了“125.46.42.221”,隨后又解析到了“218.106.246.220”。
根據其他報告的描述,攻擊者在入侵了目標機器后的幾分鐘內,就會開始手動枚舉目標網絡以及網絡中的主機。
在2011年10月,DustStorm小組借助利比亞危機,開始釣魚攻擊在2011年10月20日報道了卡扎菲死亡消息的媒體。似乎除了美國國防目標,這次活動還攻擊了一些維吾爾人。這次,DustStorm小組使用了一個經過定制的惡意Windows Help文件(.hlp),利用的漏洞是CVE- 2010-1885。這個hlp文件在打開時,會通過“mshta.exe”執行一些JavaScript代碼,從而使用Windows腳本程序來啟動第二部分Visual Basic Script。然后,VBS代碼就會負責解碼hlp文件中的有效載荷并執行。
在這些攻擊中,使用的第一階段有效載荷是Misdat變種,以Base64編碼的方式儲存在hlp文件中。SPEAR識別出的樣本會與“msevpn.3322.org”通訊,當時這個域名使用的IP地址是“218.106.246.195”。通過調查這個IP地址,又發現了其他幾個用作CC服務器的動態DNS域名,以及攻擊者在2010年5月-2015年12月期間使用的幾個標準域名。
圖1-2011-2011年的域名注冊
在2010-2011年期間,攻擊者主要使用了"wkymyx (at) 126.com” 和 “duomanmvp (at) 126.com”這兩個郵箱來注冊域名。
這些攻擊者要么使用了隨機的4字符子域名,要么就是使用了一些常用詞,比如image, blog, ssl, pic, mail, news等。有證據表明,在2011年7-8月,這個小組通過釣魚域名嘗試了收集Yahoo,Windows Live以及其他的用戶憑證。
雖然SPEAR無法獲取到最初的釣魚頁,但是這些釣魚頁的域名包括:“login.live.adobekr.com”,“login.live.wih365.com”和“yahoomail.adobeus.com”。每個域名使用的IP地址都是經常變化的,沒有一個IP能用到一個月以上的時間。
SPEAR發現了另一起在2012年6月實施的DustStorm行動,這次行動利用了先前曾經使用過的Flash 0-day CVE-2011-0611和一個IE 0-day CVE- 2012-1889。攻擊者使用了域名“mail.glkjcorp.com”來投放這些漏洞,并且在當時,這個域名會解析到“114.108.150.38”。SPEAR無法確定這個漏洞網站具體屬于哪一次的水坑攻擊或釣魚活動,但是,其他的一些XX-APT小組也在相同時間使用這兩種技術利用了IE漏洞。漏洞域名 “glkjcorp.com”是在2012年5月25日的一起攻擊活動之前創建的。在注冊這個域名時,使用了兩個不同的郵箱“effort09 (at) hotmail.com” 和“zaizhong16 (at) 126.com”。
這次攻擊率先使用了文件“DeployJava. js”來獲取受害者系統上已安裝軟件的指紋,然后,才會部署一個有效的漏洞。“DeployJava.js”會與漏洞頁上內嵌的另一個腳本配合使用,如果是IE8或9,會投放Flash漏洞;如果是IE6或7,則投放IE 0-day。
圖2-選擇漏洞投放時的JS代碼段
在2012和2013年,主要是其他APT小組在使用“DeployJava.js”腳本,Nitro小組在同年8月也使用過。
圖3-其他利用了“DeployJava.js”的針對性攻擊
另外還要注意的是,在這次攻擊中:最終的有效載荷(hxxp:/mail.glkjcorp.com/pic/win.exe
)使用了一個單字節對0x95個字節進行了異或,并且沒有異或秘鑰本身和0,這樣做是為了避免暴露秘鑰。在當時,這種混淆方法能夠保證有效載荷通過大多數IDS/IPS系統。未經過編碼的有效載荷是一個舊版Misdat后門和下一代后門-S型后門的結合體。這個后門首先會嘗試使用舊版的Misdat網絡協議與 “smtp. adobekr.com”通訊。如果失敗,則會使用新型的基于HTTP的S型協議與“mail.glkcorp.com”通訊。
在2013年時,DustStorm完全放棄了舊版的Misdat后門作為第一階段的植入木馬,并轉向主要使用S型后門。
SPEAR注意到,DustStorm在2013年3月-2013年8月的活動數量出現了大幅下降。巧合的是(也許不是巧合),Mandiant在2013年2月19日公布了APT 1報告(https://www.fireeye.com/blog/threat-research/2013/02/mandiant-exposes-apt1-chinas-cyber-espionage-units.html)。雖然DustStorm的活動并沒有完全停止,但是在這段時間中,SPEAR能夠收集到的木馬數量也在大幅減少。
在這段時間中,注冊了幾個新的域名,這些域名可能是為了接下來幾年的行動做準備。
圖4-在2013年新注冊的C2域名
有一些沒有經過證實的證據表明,DustStorm利用了一個Ichitaro 0-day “CVE-2013- 5990”來攻擊日本的受害者。這個0-day最早是在2013年11月12日公開報道 過。Ichitaro是由JustSystems開發的一個日文處理程序。
在整個2013年中,SPEAR發現所有的攻擊活動中都部署的是S型后門。今年,攻擊者還使用了兩個位置來保證木馬的持久性,這樣是為了防止受害者的權限不夠,無法執行某些特定的操作或無法訪問特定的文件位置,比如寫入注冊表。在這段時間中,一些老技術,像使用“Startup”文件夾再次得到了啟用。
2014年2月初開始,有確切的證據表明,DustStorm小組水坑攻擊了一家常用軟件銷售商,旨在向目標投放IE 0-day CVE-2014-0322。這個漏洞本身托管在“hxxp:/krtzkj.bz.tao123.biz/error/pic.html”,當時,這個域名解析到了“126.85.184.190”。在同一時間,域名“js.amazonwikis.com”也指向了這個IP,并且利用了此前的一個web漏洞。有效載荷“Erido.jpg”是一個經過異或的可執行程序,與其他利用CVE-2014-0322的攻擊類似,最終投放的還是S型后門。
DustStorm在2014年開始嘗試通過其他方式來維持受害系統上的木馬。SPEAR發現了幾個第二階段樣本需要作為ServiceDLL安裝才能保證正常的運行,有的也會安裝為路由和路由訪問服務的路由器管理器。只需要簡單的搜索注冊表鍵值“HKLM\System\CurrentControlSet\ Services\RemoteAccess\RouterManagers\IP\DllPath
”就能找到大量其他的木馬;但是,SPEAR只發現了一個樣本利用了這種技術。攻擊者還在2014年新注冊了幾個域名來支持行動擴張。
圖5-在2014和2015年新注冊的C2域名
DustStorm在2015年的活動更加有趣。SPEAR發現了大量的二階段后門都使用了硬編碼的代理地址和憑證。這些代理地址表明,攻擊者入侵了大量的日本企業,涉及到能源業,石油與天然氣,建筑,金融和交通業。
在2015年2月初的一個案例中,SPEAR恢復了一個S型后門變種投放的二階段植入。
這個二階段植入也是使用Microsoft Visual Studio 6編譯的,似乎木馬作者很喜歡這個版本的Visual Studio。盡管使用了舊版的Visual Studio,這個后門的設計仍然很出色,并且提供了攻擊者需要的所有功能。
似乎沒有任何殺毒廠商能夠穩定的檢測出SPEAR發現的這個變種。
更有趣的是,在2015年初,這個小組采用并最終定制了幾個Android后門來實現他們的目的。到2015年3月,DustStorm迅速擴張了他們針對移動端的行動。最開始的幾個后門都比較簡單,并且能夠將所有的SMS信息和通話信息發動給CC服務器。隨后的一些版本變得更加復雜,并且新增了直接從受感染設備上枚舉和傳輸文件的功能。
Android木馬的所有攻擊目標都來自日本或韓國。和先前的活動相比,用于支持Android端活動的基礎設施具有更大的規模。目前為止,已經確定了有200個域名。
SPEAR發現了另外兩撥攻擊活動,分別開始于2015年7月和10月。有趣的是,其中的一個主要目標是一家韓國電力公司在日本設立的子公司。另外,SPEAR還發現攻擊者單獨入侵了一家日本石油天然氣公司。我們并不清楚其目的,但是,如果和以前一樣,可能是為了勘察和長期的間諜活動。
目前,SPEAR認為這些攻擊活動的破壞性并不是很強。但是,我們認為這些攻擊活動在將來還會以日本的關鍵基礎設施和資源作為目標。
注:大量早期使用的Misdat域名已經在2015年12月末放入污水池了。目前,這些域名都指向了IP地址“58.158.177.102”。
最早的Misdat樣本是沒有封裝的;但是,接下來就值得安全廠商注意了,在2010年末和2011年出現的樣本都使用UPX version 3.03(hxxp:/upx.sourceforge.net/)進行了封裝。SPEAR識別出的所有Misdat樣本都是使用Borland Delphi編寫的,Borland Delphi會修改默認的PE時間戳;所以,SPEAR不得不利用樣本的資源編譯時間來推測后門的真實編譯時間。
文件特征
已知Misdat樣本的文件類型和資源編譯時間
主機標識
證據
文件系統修改:
%CommonFiles%\{Unique Identifier}\msdtc.exe
C:\2.hiv
,c:\t2svzmp.kbp
或c:\tmp.kbm
;然后刪除。2011年以后的版本都使用了c:\t2svzmp.kbp
注冊表修改
HKCU\Software\dnimtsoleht\StubPath
,HKCU\Software\snimtsOleht\StubPath
或HKCU\Software\Backtsaleht\StubPath
來作為維持機制%CommonFiles%
目錄下新創建的msdtc.exe二進制,根據不同的樣本,可能使用“/ok
”或“/start
” 來啟動HKLM\SOFTWARE\Microsoft\Active Setup\Installed. Components\{3bf41072-b2b1-21c8- b5c1-bd56d32fbda7}
或HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{3ef41072-a2f1-21c8-c5c1- 70c2c3bc7905}
網絡標識
網絡流量一直是base 64加密的明文,通過一個原始socket發送到常用端口上,比如80,443或1433。下面是一個初始數據包。
#!bash
logon|{Hostname}|Windows XP|100112|bd56d32fbda703a98c87689c92325d90|
圖6-在Base64解碼后的初始beacon數據包
“logon”字符串永遠會排在其他信息的前面。在上面的這個例子中,受害系統的主機名,操作系統版本,樣本標示符(SPEAR 認為這是一個日期:1/12/2010),以及互斥量使用的MD5都會發送給服務器。一旦注冊到C2,后門就會發送字符串“YWN0aXZlfA==
”,在解碼后就是 “active|
”。然后,后門會繼續發送這個字符串,直到接收到C2發出的下面某條命令。
圖7-Misdat后門支持的網絡命令
詳情
這些后門相對來說比較簡單,并且能夠上傳和下載文件,操作和枚舉文件,執行shell命令,斷開與C2的連接,卸載后門,關閉或重啟系統。這些后門還可以獲取命令行參數“/ok
” 或 “/start
”;這些參數開關能夠更改進程運行的用戶環境。如果在執行時沒有提供開關,后門就會把自己復制到“%CommonFiles%\ {Unique Identifier}\msdtc.exe
”,其中的標識符就是作為互斥量使用的MD5哈希的前十個字符。然后,后門會配置Active設置以及相關的注冊表鍵值來實現維持機制。
SPEAR逆向了用于混淆網絡回調信息的編碼機制和活動標識符。下面的腳本可以用于解碼這些經過混淆的字符串。
圖8-用于解碼Misdat字符串的Python腳本
文件特征
圖9-解碼后的活動標識符和網絡回調
另外,所有的樣本都會嘗試調用Windows API “GetKeyboardType”來 檢測受害者使用的是不是日文鍵盤,并報告給攻擊者。
在2012年,DustStorm逐漸開始使用一種混合型后門,這種后門的同一個二進制中實際上包含了兩個獨立的后門。這種后門首先會使用base64編碼的網絡協議,通過一個原始TCP socket,嘗試創建一個交互式shell。如果連接第一個C2失敗,后門就會嘗試通過一種基于HTTP的協議聯系一個次級C2,并與這個C2通訊。SPEAR識別的這個混合型變種使用了UPX version 3.03進行壓縮。
文件特征
圖10-混合后門的文件詳情
主機標識
證據:
Lost_{Unique Identifier}
”,密碼:“[email protected]{Unique Identifier}
”%System%\{Unique Identifier}
%AppData%\{Unique Identifier}
中創建以“tmp.exe”結尾的文件%AppData%\{Unique Identifier}\HOSTRURKLSR
cmd.exe /c ipconfig /all
”命令的運行結果%AppData%\{Unique Identifier}\NEWERSSEMP
cmd.exe /c net user {Username}
”命令的運行結果文件系統修改:
%AppData%\{Unique Identifier}\msdtc.exe
– 其中的標示符是MD5哈希的前十個字符注冊表修改:
HKCU\Software\bkfouerioyou
%AppData%\{Unique Identifier}\msdtc.exe
的StubPath值HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{6afa8072-b2b1-31a8-b5c1-
{Unique Identifier} – First 12bytes
HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{3BF41072-B2B1-31A8-B5C1-
{Unique Identifier} – First 12bytes
網絡標識
木馬會DNS請求域名“smtp.adobekr.com” 和 “mail.glkjcorp.com” 或 “auto.glkjcorp.com”。這兩個樣本都會首先使用Misdat網絡協議,通過TCP端口80,443和25來與“smtp.adobekr.com”通訊。如果沒有接收到C2響應,樣本會使用次級HTTP請求通過相同的TCP端口與備用C2通訊。
圖11-初始的S型Beacon
初始的POST請求總是會使用靜態的User-Agent “FirefoxApp”并包含有操作系統信息,用戶信息,幾個權限測試結果,文件系統和文件運行時間。如果后門沒有接收到響應,然后會嘗試通過一個GET請求在URI中傳輸經過base64加密的信息。
圖12-從上圖中,解碼后的POST請求
接下來的請求會使用系統上默認瀏覽器的User-Agent,如下。
圖13-后續的HTTP流量
上圖中的id和mmid字段都使用了為互斥量創建的標識符的前16個字符。Misdat協議能夠為攻擊者提供一個功能完整的后門,而次級協議似乎主要是用作更新機制來加載木馬上的其他木馬。
網絡標識
這個后門可以通過3個不同的參數開關來啟動:“/ok”,“/Start”或 “/fuck”。這些開關影響了進程的運行上下文,以及二進制在執行后是否要立即刪除。
圖14-后門使用的命令行執行開關
后門會嘗試運行大量的測試來判斷受害者用戶的權限級別,包括能否向系統中添加用戶,能否在%System%文件夾中創建一個目錄,以及用戶能否通過調用“OpenSCManagerA”來訪問服務管理器。
用戶權限測試時通過利用NetUserAdd和NetUserDel Windows API執行的;這些測試會嘗試創建臨時用戶“Lost_{Unique Identifier}
”,使用密碼“[email protected]{Unique Identifier}
”。如果激活了次級網絡協議,后門還會通過命令編譯器執行兩個命令來收集系統信息:“cmd.exe /c ipconfig /all
” 和 “cmd.exe /c net user {Username}
”。后門會臨時把這些命令的輸出結果寫入到文件中,分別是“%AppData%\{Unique Identifier}\HOSTRURKLSR
”和“%AppData%\{Unique Identifier}\NEWERSSEMP
”。然后,這些信息會經過base64加密,并通過GET請求在URI中傳輸給C2服務器。下面更詳細介紹了S型網絡協議。另外還值得注意的是,即使能夠與次級C2建立連接,這個后門會繼續嘗試連接端口25上的“smtp.adobekr.com”。
在這些后門中包含有配置信息,使用圖8中提供的腳本可以解碼。
文件特征
圖15-次級C2服務器和活動標識符
在實驗了結合Misdat和S型后門的混合型后門后,DustStorm在2013年完全棄用早期的Misdat網絡協議。所有識別出的樣本都使用了Borland Delphi編寫,并且利用了自定義類來實現常用的后門功能。在2013年的大多數樣本都使用了UPX version 3.03封裝,而在2014年的變種就沒有。
文件特征
圖16-S型后門的文件特征
主機標識
證據:
{Unique Identifier}_KB10B2D1_CIlFD2C
” 的互斥量Lost_{Unique Identifier}
” ,密碼:“[email protected]{Unique Identifier}
”%System%\{Unique Identifier} temporarily
文件系統修改:
%CommonFiles%\{Unique Identifier}\msdtc.exe
,而其他的變種使用了%Appdata%\{Unique Identifier}\msdtc.exe
%HOMEPATH%\Start Menu\Programs\Startup\Realtek {Unique Identifier}.lnk
%CommonFiles%
中的msdtc.exe文件,使用“/Start”來啟動%temp%\{random numbers}.tmp
中創建臨時文件注冊表修改:
HKCU\SOFTWARE\AdobeSoft
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ IMJPMIJ8.1{3 characters of Unique Identifier}
可能創建注冊表鍵值:
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\ssl.projectscorp.net\http
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\ssl.projectscorp.net\https
網絡標識
這個后門主要在端口80上與"ssl.projectscorp.net" 和 “pic.elecarrow.com”通訊;但是,如果初始通訊失敗,則會與端口443或8080通訊。后門使用了HTTP與C2服務器通訊;數據傳是通過GET請求在URI中經過base64加密后傳輸,或在POST請求主體中傳輸。請求中使用的硬編碼User-Agent有兩個:在初始請求中使用“FirefoxApp” 和 “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; SV1),然后,在后續通訊中使用系統的默認User-Agent。
下圖中是一些HTTP請求樣本。
圖17-S型后門發送的初始POST請求
圖18-S型后門發送的Get請求
圖19-從上圖中,解碼后的數據參數
這個后門會嘗試運行大量的測試來判斷受害者用戶的權限級別,包括能否向系統中添加用戶,能否在%System%文件夾中創建一個目錄,以及用戶能否通過調用“OpenSCManagerA”來訪問服務管理器。這些信息會與文件系統類型和代理信息一并傳輸。后門也可能會在URI中使用下面的變量來發起網絡請求:“&type=ie&
”, “stype=info&data=
”, “stype=srv&data=
”, “stype=con&data=
”, “stype=user&data=
”, “mmid=
”, “&type=post&stype=
”, 或“&status=
”。
詳情
與先前的DustStorm后門類似,這個后門也會通過“GetKeyboardType” API檢測受害者使用的是否是日文鍵盤。后門本身能夠執行shell命令,枚舉系統和網絡信息,操作文件,下載和執行任意文件。通過觀察返現,這個后門以前是一個偵查平臺,隨后,攻擊者將其升級為了具備完整功能的后門。
后門會首先嘗試使用NetUserAdd API添加用戶“Lost_{Unique Identifier}
”,使用的密碼是“pond~!@ {Unique Identifier}
”;如果成功,木馬會通過NetUserDel API移除這個用戶。然后,后門會嘗試使用CreateDirectoryA API創建文件夾“%System%\{Unique Identifier}
”,并使用RemoveDirectoryA API來移除這個文件夾。一旦完成了這兩個測試,木馬會嘗試通過調用“OpenSCManagerA”來訪問WindowsService Control Manager。一旦通過POST請求傳輸了這些信息以及代理和文件系統信息,后門會嘗試執行一系列的命令來枚舉與系統和本地網絡相關的信息。
圖20-后門在系統上執行的初始命令
這些命令的運行結果會經過base64編碼,作為URI中的數據參數進行傳輸,“/pic/index. asp?id={Unique_Identifier}&type=ie&stype=info&data=
”。一旦將運行結果傳輸給C2服務器,后門就會繼續連接URI“/pic/index.asp?mmid={Unique Identifier}
”,并等待執行命令,或二進制更新。任何從C2下載下來的文件都是base64編碼的,并且名稱是“{Unique Identifier}.txt”。如果文件是一個二進制,則會作為 “tmp.exe”寫到磁盤上并通過WinExec執行。如果成功,后門會向C2發送 “&status=run succeed
”;如果出現錯誤,則發送“&status=Error Code
”。
上面的"{Unique Identifier}”是一個8字符的十六進制字符串,這個通過加上C盤的卷序列號和后門配置中某個CRC32哈希的前0x90個字節計算得到。這一點與之前的Misdat變種不同,因為可以通過逆向來獲取到磁盤的序列號。后門會從偏移0xE9FC解碼其配置信息,跳過前4個字節,然后每個字節減去0x2,使用配置區塊的第一個字節,這里是0x58,來異或最終值。
圖21-經過編碼的配置區塊
圖22-解碼后的配置區塊
在已解碼區塊,首先是用16字節表示的字符串長度,然后是文本字符串。除了URL“hxxp:/ssl.projectscorp.net/pic/index.asp”和域名“pic.elecarrow.com”,上圖中的綠色,藍色,紫色分別對應端口70,443和8080。使用下面的Python函數可以解碼這些配置區塊。
圖23-用于解碼w型配置數據的Python腳本
在2014年和2015年,DustStorm小組更喜歡用這個木馬作為第二階段植入。這個木馬具備完整的功能,并且內置了NTLM代理認證支持,這一設計是為了將其作為ServiceDLL運行。SPEAR已經識別的所有樣本都會根據受害者的具體環境來定制,使用了Microsoft Visual C++ 6編譯。
文件特征
圖24-共同的文件特征
其他文件細節:
主機標識
文件系統修改:
后門位置:
注冊表修改:
網絡標識
后門會通過HTTP POST和GET請求與預先配置的C2服務器通訊。通訊內容會使用標準的Zlib壓縮庫 (http:/www.zlib.net/)進行壓縮。在SPEAR的測試中,User-Agent是靜態的 “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)”。
圖25-Zlib后門發送的初始POST請求
圖26-解壓縮后的初始POST請求
在一個可控測試中,主機名,后門運行的上下文,操作系統信息和用戶信息都傳回了C2。
詳情
有證據表明,攻擊者對后門做出了小幅修改,會按需要簡單的更新配置信息。所以,大多數后門的PE校驗和并不是計算出的值。這一后門能夠允許攻擊者上傳和下載文件,枚舉文件和磁盤,枚舉系統信息,枚舉和操作Windows服務,枚舉和模擬登錄會話,模擬鍵盤和鼠標輸入,捕捉屏幕截圖并執行shell命令。
后門本身中沒有多少明文字符串,除了導入表以外也沒有任何身份信息。后門會通過每次向棧內推入一個字符的方式來初始化感興趣的字符串;有越來越多的木馬作者開始使用這種方法來繞過啟發式檢測。這個后門的配置信息使用Zlib壓縮在二進制中,壓縮后的數據大小保存為一個雙子組,就放置在標頭開頭“0x78 0x9C”的后面。解壓縮后的數據中會有Windows服務名稱,Windows顯示名稱和服務描述。其中還有后門的文件名稱,域名,端口以及內部企業代理。
圖27-解碼后的配置數據示例