随着最近俄罗斯和乌克兰之间的敌对行动开始,ESET 研究人员发现了几个针对乌克兰组织的恶意软件家族。

  • 2022年 2 月 23 日,一场使用 HermeticWiper 的破坏性活动针对多个乌克兰组织。

  • 这次网络攻击比俄罗斯联邦军队入侵乌克兰早了几个小时

  • 初始访问向量因组织而异,确认了一个擦除器被 GPO 丢弃的案例,并发现了一种用于在另一个受感染网络中传播擦除器的蠕虫。

  • 恶意软件工件表明攻击已经计划了几个月。

  • 2022年 2 月 24日,对乌克兰政府网络的第二次破坏性攻击开始了,使用我们命名为 IsaacWiper 的擦除器。

  • ESET Research 尚未能够将这些攻击归因于已知的威胁行为者。

乌克兰的破坏性袭击

如 ESET 推文中所述,在UTC 时间 2022年 2 月23日 14:52 左右开始了对乌克兰计算机的破坏性攻击,是在针对乌克兰主要网站的分布式拒绝服务 (DDoS)攻击之后,并且在俄罗斯军事入侵之前几个小时。

这些破坏性攻击至少利用了三个组件:

  • HermeticWiper:通过破坏系统数据使系统无法运行

  • HermeticWizard:通过 WMI 和 SMB 在本地网络中传播 HermeticWiper

  • HermeticRansom:

    用 Go 编写的勒索软件

在至少五个乌克兰组织的数百个系统上观察到 HermeticWiper。2022年 2 月 24日,在乌克兰政府网络中检测到另一个新的擦除器,将其命名为 IsaacWiper,目前正在评估它与 HermeticWiper 的链接(如果有)。需要注意它是在一个不受 HermeticWiper 影响的组织中看到的。

归因

在这一点上,还没有发现与已知威胁参与者的任何切实联系。HermeticWiper、HermeticWizard 和 HermeticRansom 与 ESET 恶意软件集合中的其他样本没有任何明显的代码相似性。IsaacWiper 也仍未归属。

时间线

HermeticWiper 和 HermeticWizard 由 2021年 4 月 13日颁发的分配给Hermetic Digital Ltd的代码签名证书(如图 1 所示)签名。要求颁发证书的 CA (DigiCert) 撤销该证书,于 2 月 24日这样做了。

图 1. 分配给 Hermetic Digital Ltd 的代码签名证书

根据路透社的报道,该证书似乎不是从 Hermetica Digital 窃取的。相反,攻击者很可能冒充塞浦路斯公司,以便从 DigiCert 获取此证书。ESET 研究人员高度自信地评估,受影响的组织在擦除器部署之前就受到了损害。这是基于几个事实:

  • HermeticWiper PE 编译时间戳,最早的是2021 年12 月 28日

  • 代码签名证书颁发日期2021 年4 月 13日

  • 至少在一个实例中通过 GPO 部署 HermeticWiper 表明攻击者之前可以访问该受害者的 Active Directory 服务器之一

这些事件总结在图 2 中的时间线中。

图 2. 重要事件的时间表

初始访问

HermeticWiper

初始访问向量目前未知,但已经观察到目标组织内部的横向移动伪影。在一个实体中,擦除器是通过默认域策略 (GPO) 部署的,如其在系统上的路径所示:C:\\Windows\\system32\\GroupPolicy\\DataStore\\0\\sysvol\\\\Policies\\{31B2F340-016D-11D2-945F-00C04FB984F9}\\Machine\\cc.exe

这表明攻击者很可能控制了 Active Directory 服务器。

在其他情况下,可能使用Impacket来部署 HermeticWiper。赛门铁克的一篇博文指出,wiper 是使用以下命令行部署的:

cmd.exe /Q /c move CSIDL_SYSTEM_DRIVE\\temp\\sys.tmp1 CSIDL_WINDOWS\\policydefinitions\\postgresql.exe 1> \\\\127.0.0.1\\ADMIN$\\__1636727589.6007507 2>&1

最后一部分与在GitHub 上找到的 Impacket 的wmiexec.py中的默认行为相同。

最后,命名为 HermeticWizard 的自定义蠕虫用于通过 SMB 和 WMI 在受感染的网络中传播 HermeticWiper。

IsaacWiper

初始访问向量目前也是未知的。攻击者很可能使用 Impacket 等工具进行横向移动。在一些机器上,我们还观察到远程访问工具RemCom与 IsaacWiper 同时部署。

技术分析

HermeticWiper

HermeticWiper 是一个 Windows 可执行文件,其资源中嵌入了四个驱动程序。它们是成都亿沃科技开发有限公司签署的EaseUS Partition Master 软件的合法驱动,它们实现了低级磁盘操作。观察到以下文件:

  • 0E84AFF18D42FC691CB1104018F44403C325AD21:x64驱动

  • 379FF9236F0F72963920232F4A0782911A6BD7F7:x86驱动

  • 87BD9404A68035F8D70804A5159A37D1EB0A3568:x64 XP 驱动程序

  • B33DD3EE12F9E6C150C964EA21147BF6B7F7AFA9:x86 XP 驱动程序

根据操作系统版本,选择这四个驱动程序之一并将其放在C:\\Windows\\System32\\drivers\\<4 random="" letters="">.sys中。然后通过创建服务来加载它。HermeticWiper 然后通过禁用卷影复制服务 (VSS) 继续,并通过用随机字节覆盖其自己的文件从磁盘中擦除自身。这种反取证措施可能旨在防止在事故后分析中对HermeticWiper 进行分析。

有趣的是,大多数文件操作都是使用DeviceIoControl调用在低级别执行的。

以下位置被 Windows API 函数CryptGenRandom生成的随机字节覆盖:

  • 主引导记录 (MBR)

  • 主文件表 (MFT)

  • 所有驱动器上的$Bitmap和$LogFile

  • 包含注册表项的文件 ( NTUSER *)

  • C:\\Windows\\System32\\winevt\\Logs

此外,还使用FSCTL_MOVE_FILE操作递归擦除Windows、Program Files、Program Files(x86)、PerfLogs、Boot、System Volume Information和AppData文件夹中的文件夹和文件。这种技术似乎很不寻常,并且与GitHub 上的 Windows Wipe 项目中实现的技术非常相似(请参阅wipe_extent_by_defrag函数)。它还通过用随机字节覆盖符号链接和“我的文档”和“桌面”文件夹中的大文件来擦除它们。最后,机器重新启动。但是,将无法启动,因为 MBR、MFT 和大多数文件已被擦除,无法恢复受影响的机器。

密封向导

寻找由相同代码签名证书 ( Hermetica Digital Ltd ) 签名的其他样本,我们发现了一个名为 HermeticWizard 的新恶意软件家族。它是 UTC 时间 2022 年 2 月23日 14:52:49 在乌克兰的系统上部署的蠕虫,是一个用 C++ 开发的 DLL 文件,导出函数DllInstall、DllRegisterServer和DllUnregisterServer。它的导出 DLL 名称是Wizard.dll。它包含三个资源,它们是加密的PE文件:

  • HermeticWiper 样品 ( 912342F1C840A42F6B74132F8A7C4FFE7D40FB77 )

  • exec_32.dll,负责通过WMI传播到其他本地计算机(6B5958BFABFE7C731193ADB96880B225C8505B73)

  • Roman.dll,负责通过 SMB 传播到其他本地计算机(AC5B6F16FC5115F0E2327A589246BA00B41439C2)

资源使用反向 XOR 循环加密。每个四个字节的块与前一个块进行异或。最后,第一个块与硬编码值0x4A29B1A3进行异或运算。

HermeticWizard 使用命令行regsvr32.exe /s /i启动。

首先,HermeticWizard 尝试在本地网络上查找其他机器。它使用以下 Windows 函数收集已知的本地 IP 地址:

  • DNSGetCacheDataTable

  • 获取IpNetTable

  • WNetOpenEnumW(RESOURCE_GLOBALNET, RESOURCETYPE_ANY)

  • 网络服务器枚举

  • 获取TcpTable

  • 获取适配器地址

然后它会尝试连接到这些 IP 地址(并且仅当它们是本地 IP 地址时)以查看它们是否仍然可以访问。如果在启动 HermeticWizard 时提供了-s参数( regsvr32.exe /s /i:-s),它还会扫描整个 /24 范围。因此,如果在例如 DNS 缓存中找到192.168.1.5 ,会从192.168.1.1增量扫描到192.168.1.254。对于每个 IP 地址,会尝试在以下端口上打开 TCP 连接:

  • 20: ftp

  • 21: ftp

  • 22: ssh

  • 80: http

  • 135: rpc

  • 137: netbios

  • 139: smb

  • 443: https

  • 445: smb

端口以随机顺序扫描,因此无法以这种方式对 HermeticWizard 流量进行指纹识别。当它找到一台可访问的机器时,会将 WMI 扩展器(下面详述)放到磁盘上,并使用命令行rundll32 <当前文件夹>\\<6>.ocx #1 -s创建一个新进程– i <目标 ip="">。对同样放在\\<6 random="" letters="">.ocx中的 SMB 扩展器(如下详述)执行相同的操作,但随机字母不同。

最后,会将 HermeticWiper 放入<当前文件夹>\\<6>.ocx并执行它。

WMI spreader

由其开发人员命名的 WMI 扩展器exec_32.dll采用两个参数:

  • -i : 目标IP地址

  • -s:要在目标机器上复制和执行的文件

首先,它使用WNetAddConnection2W创建到目标的远程ADMIN$共享的连接。然后使用CopyFileW复制-s参数中提供的文件。远程文件具有使用CoCreateGUID生成的随机名称(例如cB9F06408D8D2.dll)和字符串格式c%02X%02X%02X%02X%02X%02X。

其次,它尝试使用 DCOM 在远程机器上执行复制的文件 HermeticWizard。它以CLSID_WbemLocator作为参数调用CoCreateInstance 。然后使用 WMI Win32_Process在远程机器上创建一个新进程,命令行C:\\windows\\system32\\cmd.exe /c start C:\\windows\\system32\\\\regsvr32.exe /s /i C:\\ windows\\<文件名>.dll。

请注意,-s参数不会传递给 HermeticWizard,意味着它不会再次从这台新受感染的机器上扫描本地网络。如果 WMI 技术失败,它会尝试使用与上述相同的命令使用OpenRemoteServiceManager创建服务。如果它以任何方式成功执行远程 DLL,它就会休眠,直到它可以删除远程文件。

SMB spreader

SMB 传播器,由它的开发者命名的romance.dll,采用与 WMI 传播器相同的两个参数。它的内部名称可能是对 EternalRomance 漏洞利用的引用,即使它没有使用任何漏洞利用。首先,它尝试连接到远程 SMB 共享(端口 445)上的以下管道:

  • samr

  • browser

  • netlogon

  • lsarpc

  • ntsvcs

  • svcctl

这些是已知用于横向移动的管道。传播器有一个硬编码凭证列表,用于尝试通过 NTLMSSP 对 SMB 共享进行身份验证:

— 用户名 —

guest

test

admin

user

root

administrator

manager

operator

— 密码 —

123

Qaz123

Qwerty123

这个凭证列表非常短,即使在保护最差的网络中也不太可能工作。如果连接成功,会尝试将-s参数引用的文件放到目标ADMIN$共享中。对于 WMI 扩展器,远程文件名是通过调用CoCreateInstance生成的。然后,它通过 SMB 执行命令行cmd /c start regsvr32 /s /i ..\\\\& start cmd /c \\”ping localhost -n 7 & wevtutil cl System\\”

HermeticRansom

ESET 研究人员还观察到 HermeticRansom(用 Go 编写的勒索软件)与 HermeticWiper 活动同时在乌克兰使用。HermeticRansom 于2022 年2 月 24日凌晨在AVAST的一条推文中首次被报道。与 HermeticWiper 相比,我们的遥测显示部署规模要小得多。该勒索软件与 HermeticWiper 同时部署,可能是为了隐藏擦除器的行为。在一台机器上,观察到以下时间线:

  • 2022-02-23 17:49:55 UTC:部署在C :\\Windows\\Temp\\cc.exe中的 HermeticWiper

  • 2022-02-23 18:06:57 UTC:由netsvcs服务部署的C:\\Windows\\Temp\\cc2.exe中的 HermeticRansom

  • 2022-02-23 18:26:07 UTC:C:\\Users\\com.exe中的第二个 HermeticWiper 已部署

有一次,我们观察到 HermeticRansom 是通过 GPO 部署的,就像 HermeticWiper 一样:C:\\WINDOWS\\system32\\GroupPolicy\\DataStore\\0\\sysvol\\\\Policies\\{31B2F340-016D-11D2-945F-00C04FB984F9}\\Machine\\cpin.exe

攻击者在二进制文件中留下了一些字符串;他们提到了美国总统拜登和白宫:

  • _/C_/projects/403forBiden/wHiteHouse.baggageGatherings

  • _/C_/projects/403forBiden/wHiteHouse.lookUp

  • _/C_/projects/403forBiden/wHiteHouse.primaryElectionProcess

  • _/C_/projects/403forBiden/wHiteHouse.GoodOffice1

一旦文件被加密,图 3 中的消息就会显示给受害者。

IsaacWiper

IsaacWiper 存在于没有 Authenticode 签名的 Windows DLL 或 EXE 中;它于2022年2月24日出现被检测到。如前所述,发现的最早的PE编译时间戳是2021年10月19日,这意味着如果它的PE编译时间戳没有被篡改,IsaacWiper可能已经在之前使用过几个月前的运营。

对于 DLL 示例,PE 导出目录中的名称是Cleaner.dll,它有一个导出_Start@4。

在%programdata%和C:\\Windows\\System32中观察到 IsaacWiper,文件名如下:

  • clean.exe

  • cl.exe

  • cl64.dll

  • cld.dll

  • cll.dll

它与 HermeticWiper 没有代码相似性,并且不那么复杂。鉴于时间线,两者可能是相关的,但还没有发现任何紧密的联系。IsaacWiper 首先枚举物理驱动器并使用 IOCTL IOCTL_STORAGE_GET_DEVICE_NUMBER调用DeviceIoControl以获取它们的设备编号。然后它使用ISAAC伪随机生成器擦除每个磁盘的前 0x10000 字节。生成器使用GetTickCount值播种。

然后它会枚举逻辑驱动器,并使用 ISAAC PRNG 生成的随机字节递归擦除每个磁盘的每个文件。有趣的是,它在单个线程中递归擦除文件,这意味着擦除大磁盘需要很长时间。

2022年 2 月 25日,攻击者删除了带有调试日志的新版本 IsaacWiper。这可能表明攻击者无法擦除某些目标机器并添加日志消息以了解正在发生的事情。日志存储在C:\\ProgramData\\log.txt中,一些日志消息是:

  • 获得驱动器…

  • 开始擦除物理驱动器...

  • ––开始擦除逻辑驱动器

  • 开始擦除系统物理驱动器...

  • 系统物理驱动器 –– 失败

  • 开始擦除系统逻辑驱动器

结论

本报告详细介绍了 2022 年 2 月23日影响乌克兰组织的破坏性网络攻击,以及 2022 年 2 月 24日至 26日影响另一个乌克兰组织的第二次攻击。目前,我们没有迹象表明其他国家是目标.

然而,由于乌克兰目前的危机,同样的威胁行为者仍有可能对支持乌克兰政府或制裁俄罗斯实体的国家发起进一步的运动。

IOC

SHA-1文件名ESET 检测名称描述
912342F1C840A42F6B74132F8A7C4FFE7D40FB77com.exeWin32/KillDisk.NCVHermeticWiper
61B25D11392172E587D8DA3045812A66C3385451conhosts.exeWin32/KillDisk.NCVHermeticWiper
3C54C9A49A8DDCA02189FE15FEA52FE24F41A86Fc9EEAF78C9A12.datWin32/GenCBL.BSPHermeticWizard
F32D791EC9E6385A91B45942C230F52AFF1626DFcc2.exeWinGo/文件编码器.BKHermeticRansom
AD602039C6F0237D4A997D5640E92CE5E2B3BBA3cl64.dllWin32/KillMBR.NHPIsaacWiper
736A4CFAD1ED83A6A0B75B0474D5E01A3A36F950cld.dllWin32/KillMBR.NHQIsaacWiper
E9B96E9B86FAD28D950CA428879168E0894D854F清洁程序Win32/KillMBR.NHPIsaacWiper
23873BF2670CF64C2440058130548D4E4DA412DDXqoYMlBX.exeWin32/RiskWare.RemoteAdmin.RemoteExec.ACLegitimate RemCom remote access tool

MITRE ATT&CK 技术

下表是使用MITRE ATT&CK 框架的第 10 版构建的。

战术ID姓名描述
资源开发T1588.002获得能力:工具攻击者使用 RemCom 和可能的 Impacket 作为他们活动的一部分。
T1588.003获取能力:代码签名证书攻击者为其活动获取了代码签名证书。
初始访问T1078.002有效账户:域账户攻击者能够通过 GPO 部署擦除恶意软件。
执行T1059.003命令和脚本解释器:Windows 命令外壳攻击者在攻击期间使用命令行(例如,可能使用 Impacket)。
T1106原生 API攻击者在他们的恶意软件中使用了原生 API。
T1569.002系统服务:服务执行HermeticWiper 使用作为服务加载的驱动程序来破坏数据。
T1047Windows 管理规范HermeticWizard 尝试使用 WMI 传播到本地计算机。
发现T1018远程系统发现HermeticWizard 扫描本地 IP 范围以查找本地机器。
横向运动T1021.002远程服务:SMB/Windows 管理员共享HermeticWizard 尝试使用 SMB 传播到本地计算机。
T1021.003远程服务:分布式组件对象模型HermeticWizard 尝试使用WbemLocator传播到本地计算机,以通过 WMI 远程启动新进程。
影响T1561.002磁盘擦除:磁盘结构擦除HermeticWiper 会破坏系统 MBR 和 MFT 中的数据。
T1561.001磁盘擦除:磁盘内容擦除HermeticWiper 会损坏 Windows、Program Files、Program Files(x86)、PerfLogs、Boot、System Volume Information和AppData中的文件。
T1485数据销毁HermeticWiper 会破坏在系统上找到的用户数据。
T1499.002端点拒绝服务:服务耗尽泛滥通过使用 DDoS 攻击,攻击者使许多政府网站无法使用。

声明:本文来自河南等级保护测评,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。