作者:Natalie Zargarov
譯者:知道創宇404實驗室翻譯組
原文鏈接:https://minerva-labs.com/blog/new-updated-icexloader-claims-thousands-of-victims-around-the-world/

IceXLoader于去年六月被FortiGuard實驗室發現。它是一種商業惡意軟件,用于在受感染的計算機上下載和部署其他惡意軟件。雖然 6 月份發現的版本 (v3.0) 看起來像是一個正在進行的工作,但我們最近觀察到一個新的 v3.3.3 加載程序,它看起來功能齊全,并且包括一個多級交付鏈。

圖1-IceXLoader交付鏈

第一階段dropper

受害者收到一個包含第一階段提取器的存檔文件。提取程序包含下一階段可執行文件以及資源中的不同提取設置:

圖2–Dropper資源

提取器在C:\Users\\AppData\Local\Temp下創建一個新的.tmp文件夾,并將下一階段文件(STOREM~2.EXE–.NET downloader)放入其中:

圖3–已刪除的文件

如果設置了REBOOT資源,受感染的工作站將重新啟動。然后,提取器在HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce下創建一個名為wextract_cleanup0的新注冊表項,并將其設置為“rundll32.exe C:\Windows\system32\advpack.dll,DelNodeRunDLL32”C:\Users\username\AppData\Local\Temp\IXP000.TMP\”。這將在下次計算機重新啟動時刪除提取器創建的臨時文件夾。

最后,執行下一階段的下載程序,并退出提取器進程。

下載器

提取器刪除的可執行文件(STOREM~2.EXE)是一個簡單的.Net下載器,它從硬編碼的URL下載“.png”文件:

圖4–下載IceXLoader dropper

下載的流被轉換為字節數組(Fcyozgdveenwuzwbrsmfqu.dll),然后將其加載到下載器的新線程(STOREM~2.EXE)中,然后調用作者硬編碼的方法:

圖5–dropper的執行

IceXLoader dropper

下載的DLL是高度模糊的,并負責:

  1. 解密IceXLoader
  2. 通過驗證主機名不等于“hal9th”,并且用戶名不是“johndoe”,確保文件不會在Microsoft Defender的模擬器中執行。這被認為是一種常見的逃避技巧。
  3. 通過使用加密命令執行 PowerShell,將執行延遲35秒–– “C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe” -enc UwB0AGEAcgB0AC0AUwBsAGUAZQBwACAALQBTAGUAYwBvAG4AZABzACAAMwA1AA==“ – 這是黑客通常使用的技術,以避免由于執行超時而導致的沙盒。
  4. 使用process Hollowing技術將IceXLoader注入新進程(STOREM~2.EXE)。

IceXLoader v3.3.3

IceXLoader 的 3.3.3 版本是用 Nim 語言編寫的。“Nim 編程語言是一種簡潔、快速的編程語言,可編譯為 C、C++ 和 JavaScript”。最近,這種語言的使用越來越受到黑客的歡迎,中國黑客在Nimbda加載器TA800中也使用這種語言。

IceXLoader 收集受害者的以下信息并將其發送到 C&C 服務器:

  1. 昵稱 – 由惡意軟件作者設置并以二進制硬編碼的昵稱; 例如我們的昵稱是“Opus One”。
  2. IP地址。
  3. UUID。
  4. 用戶名和計算機名稱。
  5. Windows OS版本。
  6. 已安裝的安全產品。
  7. 存在.NET Framework v2.0 和/或 v4.0。
  8. 加載器版本 – v3.3.3。
  9. 內存信息。
  10. CPU 信息。
  11. 顯卡信息。
  12. 時間標識。

圖6–信息收集

第一次執行時,IceXLoader 將自身復制到兩個目錄中:

  1. “C:\Users\username\AppData\Roaming\Opus.exe”
  2. “C:\Users\ username \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Opus.exe”

它還在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run下創建了一個名為“Opus”的新注冊表項,并將其設置為“C:\Users\\AppData\Roaming\Opus.exe”。

上述兩種技術都用于提供持久性。

圖7–注冊表持久性

創建持久性后,加載程序通過執行以下命令來執行自身新復制的實例:“cmd /c timeout 2 & ”C:\Users\\AppData\Roaming\Opus.exe“”。這會將執行延遲兩秒鐘,并刪除當前正在執行的文件,在本例中為“C:\Users\\AppData\Local\Temp\IXP000.TMP\ STOREM~2.EXE”,因為加載程序被注入其中。

再次執行時,加載程序通過覆蓋(修補)內存中的 AmsiScanBuffer API(掃描用戶輸入)來繞過 AMSI(反惡意軟件掃描接口)保護。AMSI 是一組 Windows API,允許任何應用程序與防病毒產品集成(假設該產品充當 AMSI 提供程序)。Windows Defender自然而然地充當AMSI提供商,就像許多第三方AV解決方案一樣。

圖8–將 AmsiScanBuffer 內存更改為可寫內存

加載程序還會創建并執行一個.bat文件,該文件禁用Windows Defender的實時掃描,并向Windows Defender添加排除項,以防止其掃描IceXLoader復制到的目錄。

圖9– 用于禁用 Windows Defender 的 PowerShell 命令

版本 3.3.3 支持的命令列表與 FortiGuard Labs 描述的命令列表相同。

IceXLoader 嘗試從其 C&C 服務器下載額外的可執行文件。此文件作為 medianupdate.exe存儲在用戶的臨時文件夾中。在我們進行調查時,C&C服務器可用的,但除了受害者數據庫外的所有文件都被刪除了。

受害者數據庫

數據庫文件似乎仍在不斷更新(根據“上次修改時間”列)。

圖10–C&C服務器

我們檢查了數據庫文件,似乎是SQLite,其中包含數千條受害者記錄,包含了私人家庭電腦和公司電腦的混合。我們開始通知受影響的公司。

Minerva實驗室預防

Minerva Labs 內存注入預防模塊,在 IceXLoader 部署的初始階段就防止了它,從而阻止了進一步的執行流,并在攻擊有效開始之前停止了攻擊:

MITRE ATT&CK:

T1105 – 入口工具轉移

T1140 – 對文件或信息進行模糊處理/解碼

T1620 – 反射代碼加載

T1497 – 虛擬化/沙盒規避

T1055.012 – 注入流程:Process Hollowing

T1592 –收集受害者主機信息

T1590.005 –收集受害者網絡信息:IP 地址

T1547.001 – 啟動或登錄自動啟動執行:注冊表運行項/啟動文件夾

T1059.001 –命令和腳本解釋器:PowerShell

T1562.001 –削弱防御:禁用或修改工具

IOC:
哈希值

49d6552ae5c5027ce1e68edee2438564b50ddc384276fd97360c92503771d3ac – first stage dropper
7bb69f98d77ca7609c10b9a0ab1ce32be2e26b160413203d5335f65c1bc8ee72 – downloader (STOREM~2.EXE)
9a9981d9bd10d3e004457ca4509aeb2bd828f54213f61b8a547c90e52f0b08eb – IceXLoader dropper (Fcyozgdveenwuzwbrsmfqu.dll)
0911819d0e050ddc5884ea40b4b39a716a7ef8de0179d0dfded9f043546cede9 – IceXLoader (Opus.exe)

URL:

hxxps[:]//www.filifilm[.]com.br/images/colors/purple/Ejvffhop.png – IceXLoader dropper

參考:

https://rastamouse.me/memory-patching-amsi-bypass/


Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/2014/