2023 年 6 月,趋势科技观察到 Batloader 初始访问恶意软件使用的规避技术进行了升级,我们在之前的博客文章中对此进行了介绍。Batloader(我们将其命名为 Water Minyades)背后的团队已开始使用 Pyarmor Pro(常规 Pyarmor 保护器命令行工具的更复杂版本)来混淆其主要恶意 Python 脚本。Batloader之前使用的是Pyarmor的标准版本,可以使用开源脚本手动反混淆。Water Minyades 自 2022 年 12 月以来一直在使用 Pyarmor,可能是因为许多防病毒引擎缺乏 Pyarmor 的解包引擎(即使是非专业版本),因此很难检测到此类脚本。
除了这种独特的规避技术之外,Batloader 还使用各种其他技术来使其更难以检测。其中一个例子是使用大型 MSI 文件作为传送容器。图 1 显示了一个示例,其中包含 111MB Batloader MSI 文件。
图 1. 大小为 111 MB 的 Batloader MSI 文件
这些 MSI 文件中通常包含用于启动 Batloader 杀伤链的自定义操作脚本。在我们分析的示例中,它将执行一个名为Python2.bat的批处理文件。MSI 文件执行以下命令行:
”C:WindowsSystem32cmd.exe" /c C:Users\AppDataLocalReoAppPythonPython2.bat
图 2 显示了 Python2.bat 文件的内容。总而言之,该文件将检查它是否具有受害计算机的管理员权限。如果没有,它将通过名为 getadmin.vbs 的文件执行用户帐户控制 (UAC) 提示。一旦获得管理员权限,它将使用重命名的安装程序(r.exe)静默安装 WinRAR 并展开 openssl.zip 和 Frameworkb.rar 存档,这些文件用于 Batloader 执行链的下一阶段。
图2.“Python2.bat”的内容
文件framework.py、frameworkb.py和来自Pyarmor Pro应用程序的自定义Python运行时环境库是从名为frameworkb.rar的存档文件中提取的。这些受 Pyarmor 保护的脚本将由 Batloader 恶意软件执行。
图 3. 从“frameworkb.rar”文件中提取文件和库
图 4 显示了受 Pyarmor 保护的脚本之一的片段。请注意,脚本的顶部表示它是使用Pyarmor Pro 8.2.8制作的,并且旨在从目录pyarmor_runtime_005214加载自定义的 Python 库。
图 4. 来自 Pyarmor 保护脚本的代码片段
从 Trend Vision One™ 中查看框架b.py的执行链(图 5),我们可以观察到,当cmd.exe执行框架b.py脚本时,该脚本将尝试对受害者的网络基础设施进行指纹识别通过执行arp.exe、将 IP 地址映射到 MAC 地址并通过 WMI 命令行 (WMIC) 实用程序检索域名来创建环境。然后,此信息被发送到命令与控制 (C&C) 服务器,在本例中为countstatistic[.]com 。
图 5. 从 Trend Vision One 控制台看到的 Frameworkb.py 的执行链
一旦来自 C&C 服务器的第二阶段有效负载被传递,另一个名为Framework.py的 Python 文件也将被执行。根据之前的 Batloader 攻击,这可以是任何恶意软件,最常见的是 Ursnif、Vidar 和Redline Stealer。
图6.“framework.py”执行时的杀伤链
如图 6 中的 Vision One 控制台屏幕截图所示,执行Framework.py时会出现以下杀伤链:
(1):Python使用以下命令执行framework.py:
- cmd /c python.exe framework.py
(2): OpenSSL 用于使用密码块链接 (CBC) 模式下的 AES-256 加密以及密码 tor92SS2jds 来解密下载的文件 ( a.exe.enc )。
解密结果保存在名为control.exe的文件中,该文件由cmd.exe执行:
- cmd /c“openssl enc -aes-256-cbc -d -in a.exe.enc -out control.exe -pbkdf2 -pass pass:tor92SS2jds”
(3、4 和 5):使用以下命令对受害者的网络基础设施进行指纹识别:
- whoami /groups
- C:Windowssystem32cmd.exe /c "arp -a"
- wmic computersystem get domain
结论
Batloader 是一种高度活跃的初始访问恶意软件,可用于传播其他恶意软件,通常最终会导致危险的勒索软件,例如Royal和BlackSuit。此外,它是一种隐秘的恶意软件,采用多种规避例程来躲避检测引擎。这包括滥用数字签名、使用大型安装程序作为容器来逃避具有文件大小限制的引擎等技术,如本博客条目中所述。合并 PyArmor Pro 等工具来混淆其主要 Python 脚本。
IOC
哈希值 (SHA1)
e7f9e550991af501a32159384a02a29113814507 Batloader MSI 文件
da8bb4118667ae03fdc3fee6cbaa5d83951d3a6a Batloader MSI 文件
f89545e65cf014fe9cf41b6b1bd32d6549208fad Batloader MSI 文件
63baa90e49bffa480b92bf74e6ba482710a6f8d0 Batloader MSI 文件
23c8d2906e267069e690a9eddbe70f7ed7fc0bc0 Batloader MSI 文件
bb2c5a51ca17a52b0884fa3e3064c117d7ca8cfb Batloader MSI 文件
转载来源:https://www.trendmicro.com/en_us/research/23/h/batloader-campaigns-use-pyarmor-pro-for-evasion.html
图片来源网络侵权可联系删除