IceXLoader 恶意软件破坏了全球数千名受害者的计算机
2022-11-14 16:3:0 Author: paper.seebug.org(查看原文) 阅读量:25 收藏

作者: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 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/2014/



文章来源: https://paper.seebug.org/2014/
如有侵权请联系:admin#unsafe.sh