背景摘要
近日,安恆威脅情報中心在日常的高級威脅監測過程中,發現多個冒充合法軟體攻擊活動。根據攻擊特徵結合威脅情報中心的分析平臺關聯其他樣本,對樣本特徵、攻擊手法、行為動機、使用技術等綜合分析,發現此次攻擊方為APT組織Strong Pity。該團夥主要攻擊特徵為水坑攻擊,如將軟體下載網站上的合法安裝程序替換成木馬程序,或者仿冒官方網站的域名進行木馬的分發。惡意軟體用於定位敏感類型文件,將文件壓縮加密後發送到遠程伺服器。
關於StrongPity組織
1
StrongPity於2016年10月被披露,該組織利用水坑網站發布了惡意版本的WinRAR和TrueCrypt文件加密軟體,攻擊比利時和義大利的用戶。
17年12月,研究人員發現StrongPity新變種正在兩個不同國家的ISP(網際網路服務提供商)級別的設備上分發,標誌著傳播方法的改變。
18年3月,又再次在ISP級別設備上發現StrongPity的攻擊。StrongPity對土耳其電信(Turk Telekom)網絡中的Sandvine/Procera deep packet inspection (DPI)硬體進行了破壞,將土耳其的數百名用戶重定向到間諜軟體,少數敘利亞用戶間接被害。埃及的網絡基礎設備中也發現類似軟體。
19年7月, StrongPity組織利用WinBox(遠程管理ROS的軟體)安裝惡意程序。
雖然5月下旬的樣本只是攻擊鏈中的一部分惡意組件,但通過安恆威脅情報平臺關聯搜索,追蹤到該APT組織2020年早期一次攻擊的初始載荷,通過分析該樣本可得到其較為完整的運行流程。攻擊者通過將惡意軟體偽裝成常用驅動更新軟體DriverPack,欺騙受害者下載執行,最終竊取受害者敏感類型文件。
該樣本的主要特徵為:
1、釋放掩飾的合法程序和多個惡意組件;
2、將本地指定類型文件壓縮加密後回傳C2伺服器;
3、從C2伺服器請求下載惡意軟體資源到本地後創建進程。
以下將對該初始載荷樣本進行分析。
樣本概述
2
攻擊的初始載荷為一個捆綁了惡意文件的安裝包文件「setup.exe」,MD5:7560BC4862C99DE7D33CD3AE6C93BA8A。
「setup.exe」執行後釋放4個可執行文件,分別為:
執行惡意安裝包程序後,前臺顯示合法程序:
攻擊流程
3
攻擊執行初始載荷是偽裝成合法軟體安裝包的間諜軟體。執行後將釋放到本地的可執行文件創建進程,連接遠程伺服器下載惡意載荷,上傳壓縮加密的本地文件。
具體流程如下:
樣本分析
4
setup.exe
「setup.exe」是偽裝為DriverPack安裝程序的可執行文件,通過釋放合法程序和惡意組件,完成多階段組合的攻擊鏈,最終竊取用戶敏感文檔。
具體如下:
該程序會創建文件夾
「C:\Users\Administrator\AppData\Local\Temp\ACB-D11C-335AAF」:
接著釋放可執行文件:
然後創建合法的「DriverPack-17-Online.exe」進程作為掩飾:
接著將惡意組件「seceditr.exe」創建進程,並傳入參數「help」作為首次運行的邏輯:
seceditr.exe
「seceditr.exe」是由「setup.exe」釋放並啟用的惡意組件,用於保持自身和另一惡意組件的持久性。該惡意組件以「SecEditsrv」為服務名,將自身創建為自啟動的系統服務,主要功能是啟動另一惡意文件「winslui32.exe」。
具體如下:
當「setup.exe」傳入參數「help」創建「seceditr.exe」進程時,通過設置註冊服務狀態控制函數執行主要功能:
不傳參的情況,該惡意軟體將本身創建為系統服務:
接著將另一個惡意組件「winslui32.exe」創建為進程,並等待信號:
接收到返回的信號後,進行清理操作,包括:刪除創建的系統服務,刪除自身文件,退出進程。
winslui32.exe
「winslui32.exe」是「setup.exe」釋放惡意的組件,由「seceditr.exe」創建進程。主要用於建立與遠程伺服器的連接進行數據傳輸。建立連接後,通過返回的配置文件,解密下一階段的載荷並執行,並且會上傳「spools32.exe」處理的sft文件(「spools32.exe」將在下文中詳細介紹)。
具體如下:
該惡意組件會將
「C:\Users\Administrator\AppData\Local\Temp\ACB-D11C-335AAF」路徑下的惡意軟體「spools32.exe」和「mirvsc.exe」創建為進程。
其中「spools32.exe」是由「setup.exe」釋放的惡意組件:
同目錄下的「mirvsc.exe」暫未發現樣本,考慮為歷史樣本遺留或後續下載的載荷:
該惡意組件建立HTTP連接,通過POST方法發送
「name=v16_kt19p5_2854603683」
到「https://ms6-upload-serv3[.]com/parse_ini_file.php」,獲取返回數據,包括C2命令和可執行文件。
發送
「name=v16_kt19p5_2854603683」
到「https://ms6-upload-serv3[.]com/parse_ini_file.php」
遠程伺服器返回的數據中,前4個字節為C2指令,4位元組後為加密的可執行文件的有效載荷:
當C2指令為0x21222324時,該惡意組件將從遠程伺服器返回的數據解密後保存到本地「C:\Users\Administrator\AppData\Local\Temp\ACB-D11C-335AAF」路徑下:
通過CreateProcessW執行:
當C2指令為0xDEEFDAAD時,惡意組件將通過CreateProcessW執行命令清除使用痕跡,並退出進程,向遠程伺服器發送。命令如下:
「cmd.exe/C ping 2.2.5.4-n 5 -w3140 & rmdir /Q /S "C:\Users\Administrator\AppData\Local\Temp\ACB-D11C-335AAF"」。
刪除創建的文件夾後,退出惡意進程:
但如果遠程伺服器無返回數據,該組件將通過POST方法發送
「name=v16_kt19p5_2854603683&delete=ok」
到「ms6-upload-serv3[.]com/parse_ini_file.php」:
除了獲取遠程伺服器的數據,該惡意組件還會將「spool32.exe」進程處理的sft文件(將在下文中進行介紹)上傳。
具體如下:
該惡意組件會遍歷
「C:\Users\Administrator\AppData\Local\Temp\ACB-D11C-335AAF」文件夾,讀取sft文件數據,構建HTTP請求包,通過POST方法發送到
「ms6-upload-serv3[.]com/phpinfo.php」。
文件上傳成功後,將上傳的文件屬性從只讀隱藏的系統屬性修改為正常屬性,然後將其刪除:
spools32.exe
「spools32.exe」是由「setup.exe」釋放惡意組件,由「winslui32.exe」創建進程。主要功能是處理受害設備中的文檔,遍歷受害設備中的敏感類型文檔,壓縮加密後儲存為sft文件。以便讓「winslui32.exe」進程上傳到C2伺服器。
具體如下:
該惡意組件會先檢查自身文件夾中是否有指定的sft文件,有則退出進程:
無則遍歷磁碟中的指定類型文件,如PPT、XLS、DOC、RAR、7Z等文檔或數據包文件:
接著讀取敏感類型文件數據進行壓縮,然後創建的「ku.pz」文件寫入壓縮的數據:
再將「ku.pz」中的數據加密後寫入sft文件中:
加密算法為:Byte ^= (Byte>> 4)
將加密後的數據保存為以邏輯盤卷區序列號以及時間作為文件名創建sft文件,設置為只讀隱藏的屬性。
文件名最後的序號默認為0,並且在文件頭中寫入「0x4E(N)」作為標識:
sft文件以110,593位元組(顯示為109KB)為上限,超過的數據將創建新的sft文件保存,sft文件名末尾的序號依次增加:
額外的sft文件文件頭以「0x4F(O)」作為標識:
文件設置上限的原因考慮為接收緩衝區的默認值110,592位元組。
遍歷完成本地除系統和軟體安裝目錄(%Windows%、%Windows.old%、%AppData%、%Program Files%、%Program Files (x86)%、%ProgramData%)全部指定類型的文件後,將邏輯盤卷區序列號寫入到文件「u1.pz」中儲存,退出進程。
關聯分析
3
根據所有情報的綜合分析,判斷該APT攻擊行動的動機主要為獲取受害者計算機上敏感文件。攻擊團夥偽裝合法軟體方式和StrongPity歷史活動高度相似,代碼語言風格、代碼功能、TTPs等符合StrongPity團夥的特徵。將近期捕捉到的樣本與2019年披露的樣本對比,代碼相似度極高。
下圖中,左側為2019年的樣本
(MD5:2062C64DDB1EE195AA4564FA52B9842B),
右側為5月下旬捕獲樣本
(MD5:FAA1BA96A35259AF5CDAF48EA76AD984)
1、HTTP報文
2、通過CreateProcess執行命令刪除指定文件夾
3、遍歷.sft文件
4、C2指令和功能一致
5、解密方式
另外通過對比今年早期和5月的樣本,可以發現其變種主要的不同的內容為創建的文件夾路徑和釋放的惡意組件文件名,C2域名以及發送的字符串。
惡意組件名變化如下,其中今年早期為「spools32.exe」和「mirvsc.exe」,5月為「winmsism.exe」和「sppser.exe」:
文件夾變化如下,其中今年早期為
「C:\Users\Administrator\AppData\Local\Temp\ACB-D11C-335AAF」,5月為「C:\Users\Administrator\AppData\Local\Temp\Panda」:
今年早期樣本中出現的字符串為「v16_kt19p5」,5月樣本中出現的字符串為「v18_kt68p1」:
總結
4
可以發現APT組織Strong Pity一直保持活躍狀態,仍在持續進行攻擊。
該組織會使用水坑攻擊,將惡意軟體偽裝為正常軟體,誘導用戶下載安裝。
用戶需注意軟體下載渠道,在正規網站下載軟體。
附錄IOC
5
MD5
7560BC4862C99DE7D33CD3AE6C93BA8A
E373D3A1C0626680EE079A2C8B214E3D
B1EFA4B60DD5A320C46BD784CECA2B02
65975F0EC8F73437DB3A5374B09A441B
70D0282007D6366187A4513C1EED8238
FAA1BA96A35259AF5CDAF48EA76AD984
Domain:
ms6-upload-serv3[.]com
hostoperationsystems[.]com
IP:
185.236.202[.]248
91.219.238[.]31