针对俄罗斯组织的Batavia间谍软件工作原理分析

本文详细分析了Batavia间谍软件的感染流程,包括VBS脚本初始感染、Delphi编写的WebView.exe信息收集模块,以及C++编写的javav.exe扩展功能。该恶意软件通过钓鱼邮件传播,专门窃取俄罗斯工业企业的内部文档和系统信息。

引言

自2025年3月初以来,我们的系统记录到针对多家俄罗斯组织员工的类似文件检测量增加,这些文件名为"договор-2025-5.vbe"、“приложение.vbe"和"dogovor.vbe”(意为合同、附件)。这次定向攻击始于诱饵邮件,包含恶意链接,以签署合同为借口发送。攻击活动始于2024年7月,截至本文发布时仍在进行中。攻击的主要目标是用先前未知的Batavia间谍软件感染组织,然后窃取内部文档。该恶意软件包含以下恶意组件:一个VBA脚本和两个可执行文件,我们将在本文中描述这些组件。卡巴斯基解决方案将这些组件检测为HEUR:Trojan.VBS.Batavia.gen和HEUR:Trojan-Spy.Win32.Batavia.gen。

感染第一阶段:VBS脚本

我们检查了用户在2月份收到的一封邮件作为示例。根据我们的研究,自活动开始以来,这些邮件的主题基本保持不变。

包含恶意链接的邮件示例

在这封邮件中,员工被要求下载 supposedly 附加到消息中的合同文件。实际上,附加文件是一个恶意链接:https://oblast-ru[.]com/oblast_download/?file=hc1-[redacted]。

值得注意的是,发件人地址属于同一域名 – oblast-ru[.]com,该域名由攻击者拥有。我们还观察到 file=hc1-[redacted] 参数对每封邮件都是唯一的,并在后续感染阶段使用,我们将在下面详细讨论。

点击链接后,一个存档下载到用户设备,只包含一个文件:脚本 Договор-2025-2.vbe,使用微软专有算法加密(MD5: 2963FB4980127ADB7E045A0F743EAD05)。

解密后的恶意脚本片段

该脚本是一个下载器,从硬编码的URL https://oblast-ru[.]com/oblast_download/?file=hc1-[redacted]&vput2 检索一个特别构造的12个逗号分隔参数字符串。这些参数是各种恶意函数的参数。例如,脚本识别受感染设备的操作系统版本并将其发送到攻击者的C2服务器。

# 描述
1 \WebView.exe 要保存的文件名
2 Select * from Win32_OperatingSystem 查询操作系统版本和构建号
3 Windows 11 进一步执行所需的操作系统版本
4 new:c08afd90-f2a1-11d1-8455-00a0c91f3880 ShellBrowserWindow对象ID,用于通过Navigate()方法打开下载的文件
5 new:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B WScript.Shell对象ID,用于通过Run()方法运行文件
6 winmgmts:\.\root\cimv2 用于检索操作系统版本和构建号的WMI路径
7 77;90;80;0 下载文件的前几个字节
8 &dd=d 文件下载的附加URL参数
9 &i=s 发送下载文件大小的附加URL参数
10 &i=b 发送操作系统构建号的附加URL参数
11 &i=re 发送错误信息的附加URL参数
12 \winws.txt 也将在设备上创建的空文件

通过访问地址 https://oblast-ru[.]com/oblast_download/?file=hc1-[redacted]&dd=d,脚本下载文件WebView.exe(MD5: 5CFA142D1B912F31C9F761DDEFB3C288)并将其保存到%TEMP%目录,然后执行它。如果无法检索操作系统版本或与从C2服务器获得的版本不匹配,下载器使用Navigate()方法;否则,它使用Run()。

感染第二阶段:WebView.exe

WebView.exe是一个用Delphi编写的可执行文件,大小为3,235,328字节。启动时,恶意软件从链接 https://oblast-ru[.]com/oblast_download/?file=1hc1-[redacted]&view 下载内容,并将其保存到目录 C:\Users[username]\AppData\Local\Temp\WebView,然后在其窗口中显示下载的内容。在分析时,链接已不再活动,但我们假设它最初托管了恶意邮件中提到的假合同。

在显示窗口的同时,恶意软件开始从受感染的计算机收集信息,并将其发送到具有不同域名但相同感染ID的地址:https://ru-exchange[.]com/mexchange/?file=1hc1-[redacted]。与VBS脚本中使用的ID的唯一区别是在参数开头添加了数字1,这可能表示感染的下一个阶段。

间谍软件收集几种类型的文件,包括各种系统日志和在计算机及可移动媒体上找到的办公文档。此外,恶意模块定期截取屏幕截图,这些截图也发送到C2服务器。为避免重复发送相同文件,恶意软件在%TEMP%目录中创建一个名为h12的文件,并为每个上传文件的前40,000字节写入一个4字节的FNV-1a_32哈希。如果任何后续文件的哈希与h12中的值匹配,则该文件不再发送。

类型 完整路径或掩码
待处理文件重命名操作日志 c:\windows\pfro.log
驱动程序安装和更新日志 c:\windows\inf\setupapi.dev.log
系统驱动程序和操作系统组件安装日志 c:\windows\inf\setupapi.setup.log
程序列表 c:\program files* 的目录列表
办公文档 *.doc, *.docx, *.ods, *.odt, *.pdf, *.xls, *.xlsx

此外,WebView.exe从 https://oblast-ru[.]com/oblast_download/?file=1hc1-[redacted]&de 下载下一阶段的可执行文件,并将其保存到%PROGRAMDATA%\jre_22.3\javav.exe。为了执行此文件,恶意软件在系统启动文件夹中创建一个快捷方式:%APPDATA%\Microsoft\Windows\Start Menu\Programs\StartUp\Jre22.3.lnk。此快捷方式在感染后第一次设备重启时触发,启动下一阶段的恶意活动。

感染第三阶段:javav.exe

可执行文件javav.exe(MD5: 03B728A6F6AAB25A65F189857580E0BD)是用C++编写的,与WebView.exe不同。两个文件的恶意功能大致相似;然而,javav.exe包含几个新功能。

例如,javav.exe使用与WebView.exe相同的掩码收集文件,但目标文件扩展名列表扩展到包括这些格式:

  • 图像和矢量图形:*.jpeg, *.jpg, *.cdr
  • 电子表格:*.csv
  • 电子邮件:*.eml
  • 演示文稿:*.ppt, *.pptx, *.odp
  • 存档:*.rar, *.zip
  • 其他文本文档:*.rtf, *.txt

与其前身一样,第三阶段模块比较获取文件的哈希和与h12文件的内容。新收集的数据发送到 https://ru-exchange[.]com/mexchange/?file=2hc1-[redacted]。

请注意,在此阶段,数字2已添加到感染ID中。

此外,恶意软件的代码中出现了两个新命令:set用于更改C2服务器,exa/exb用于下载和执行附加文件。

在一个单独的线程中,恶意软件定期向 https://ru-exchange[.]com/mexchange/?set&file=2hc1-[redacted]&data=[xxxx] 发送请求,其中[xxxx]是一个随机生成的4字符字符串。作为响应,javav.exe接收一个新的C2地址,使用232字节XOR密钥加密,该地址保存到名为settrn.txt的文件中。

在另一个线程中,恶意软件定期连接到 https://ru-exchange[.]com/mexchange/?exa&file=2hc1-[redacted]&data=[xxxx](其中[xxxx]也是四个随机字符的字符串)。服务器响应一个二进制可执行文件,使用单字节XOR密钥7A加密并使用Base64编码。解码和解密后,文件保存为%TEMP%\windowsmsg.exe。除此之外,javav.exe向 https://ru-exchange[.]com/mexchange/?exb&file=2hc1-[redacted]&data=[xxxx] 发送请求,要求传递一个命令行参数给windowsmsg.exe。

为了启动windowsmsg.exe,恶意软件使用UAC绕过技术(T1548.002),涉及内置的Windows实用程序computerdefaults.exe,以及使用reg.exe实用程序修改两个注册表键。

1
add HKCU\Software\Classes\ms-settings\Shell\Open\command /v DelegateExecute /t REG_SZ /d "" /f
1
add HKCU\Software\Classes\ms-settings\Shell\Open\command /f /ve /t REG_SZ /d "%temp%\windowsmsg.exe <arg>"

在分析时,从C2服务器下载windowsmsg.exe已不再可能。然而,我们假设此文件作为下一阶段的负载 – 很可能包含额外的恶意功能。

受害者

Batavia间谍软件活动的受害者是俄罗斯工业企业。根据我们的遥测数据,超过100名用户 across 几十个组织收到了诱饵邮件。

通过VBS脚本的感染数量,2024年8月 – 2025年6月(下载)

结论

Batavia是一种新的间谍软件,于2024年7月出现,针对俄罗斯的组织。它通过恶意邮件传播:通过点击伪装成官方文档的链接,不知情的用户下载一个脚本,该脚本在其设备上启动三阶段感染过程。攻击的结果是,Batavia窃取受害者的文档,以及诸如已安装程序列表、驱动程序和操作系统组件等信息。

为避免成为此类攻击的受害者,组织必须采取全面的基础设施保护方法,采用一套安全工具,包括威胁狩猎、事件检测和响应能力。卡巴斯基Next XDR Expert是一个适用于所有规模组织的解决方案,可实现灵活、有效的工作场所安全。还值得注意的是,此活动中的初始感染向量是诱饵邮件。这突出了定期员工培训和提高企业网络安全实践意识的重要性。我们推荐卡巴斯基自动化安全意识平台上提供的专门课程,这些课程有助于降低员工对基于邮件的网络攻击的敏感性。

妥协指标(IoC)

恶意文件哈希

  • Договор-2025-2.vbe: 2963FB4980127ADB7E045A0F743EAD05
  • webview.exe: 5CFA142D1B912F31C9F761DDEFB3C288
  • javav.exe: 03B728A6F6AAB25A65F189857580E0BD

C2地址

  • oblast-ru[.]com
  • ru-exchange[.]com
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计