要点总结
- Elastic Security 提供了新的分析和见解,分析了针对乌克兰组织的有针对性的活动,该活动使用了在 2022 年 1 月 15 日周末报告的破坏性恶意软件
- 观察到的技术包括进程挖空、篡改 Windows Defender、使用主引导记录 (MBR) 清除器和文件损坏器组件
- Elastic Security 使用预构建的端点保护功能来阻止所述活动的每个阶段
概述
在刚刚过去的周末(2022 年 1 月 15 日),微软发布了一项新的 针对乌克兰政府实体和使用破坏性恶意软件的组织的活动的详细信息。在多阶段攻击中,一个名为 WhisperGate 的恶意软件组件利用主引导记录 (MBR) 的擦除功能,使任何受影响的机器在启动后都无法运行。
在另一个阶段中,文件感染器组件用于损坏特定目录中具有特定文件扩展名的文件。此活动中使用的元素缺乏勒索软件攻击的常见特征 - 在这种情况下,攻击者对每个受害者使用相同的比特币地址,并且没有表现出解密受害者机器的意图。
乌克兰国家网络安全协调中心在其官方 Twitter 和 Facebook 帐户上将此威胁活动称为“流血熊”行动。
Elastic 用户通过我们平台中的高级恶意软件检测和勒索软件保护功能,可以充分免受此类攻击的侵害。Elastic Security 团队会持续监控这些事件。本案例突显了在面对具有破坏性功能的勒索软件和恶意软件时,预防的重要性。
第一阶段:WhisperGate MBR 有效负载
主引导记录 (MBR) 是执行存储的启动信息的软件,最重要的是,它会告知系统磁盘上可引导分区的位置,该分区包含用户的操作系统。如果被篡改,可能会导致系统无法运行 - 这是多年来恶意软件和勒索软件攻击中断受感染系统运行的常用策略。
第一阶段的二进制文件名为 stage1.exe,复杂度较低。在堆栈上分配了一个 8192 字节的缓冲区,其中包含包括勒索消息在内的新 MBR 数据。从指向代表 MBR 的第一个物理驱动器的 CreateFileW 中检索文件句柄。然后,该文件句柄被 WriteFile 调用,它仅从缓冲区中获取 512 个字节,从而覆盖主引导记录。
恶意软件分析细分(第 1-4 阶段)
主机随后在下一次启动序列期间呈现为无法运行。下面是显示受影响虚拟机勒索消息的屏幕截图。
勒索消息中包含向 1AVNM68gj6PGPFcJuftKATa4WLnzg8fpfv 比特币钱包地址支付的说明。截至本文发布时,该钱包似乎没有收到受害者的资金。
第 2/3 阶段:Discord 下载器和注入器
一旦有效负载获得了立足点,第二阶段二进制文件 stage2.exe 就会进一步促进破坏性功能。此二进制文件会下载并启动通过 Discord 内容分发网络托管的有效负载,这是一种 最近 报告的 方法,恶意行为者越来越多地使用这种方法。
然后,在内存中执行混淆的 .NET 有效负载(如下所述的第 3 阶段),从而启动多个事件,包括:
- 编写并执行 VBS 脚本,该脚本使用 PowerShell 在根目录 (C:) 上添加 Windows Defender 排除项
Writing and executing a VBS script
"C:\Windows\System32\WScript.exe""C:\Users\jim\AppData\Local\Temp\Nmddfrqqrbyjeygggda.vbs"
Uses PowerShell to add a Windows Defender exclusion
powershell.exe Set-MpPreference -ExclusionPath 'C:\'
AdvancedRun 是一个用于使用不同设置运行 Windows 应用程序的程序,然后将其丢弃到磁盘并执行,以便启动服务控制管理器并停止 Windows Defender 服务 (WinDefend)。
AdvancedRun is used to stop Windows Defender
"C:\Users\jim\AppData\Local\Temp\AdvancedRun.exe" /EXEFilename "C:\Windows\System32\sc.exe" `
/WindowState 0 /CommandLine "stop WinDefend" /StartDirectory "" /RunAs 8 /Run
在启动 PowerShell 以递归删除 Windows Defender 目录及其文件时,再次使用 AdvancedRun。
AdvancedRun deleting the Windows Defender directory
"C:\Users\jim\AppData\Local\Temp\AdvancedRun.exe" `
/EXEFilename "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" /WindowState 0 `
/CommandLine "rmdir 'C:\ProgramData\Microsoft\Windows Defender' -Recurse" `
/StartDirectory "" /RunAs 8 /Run
将 InstallUtil.exe 复制到用户 %TEMP% 目录,InstallUtil.exe 是一个命令行实用程序,允许用户从本地计算机安装和卸载服务器资源。此操作利用该文件通过在暂停状态下启动它来进行进程挖空。
然后,它继续分配内存 (VirtualAllocEx),将文件损坏器有效负载(如下所述的最后阶段)写入内存 (WriteProcessMemory),修改线程入口点 (SetThreadContext) 以指向文件损坏器入口点,并启动文件损坏器 (ResumeThread) 的执行。
最后阶段:文件损坏器
最后的文件损坏器有效负载通过进程挖空加载到 InstallUtil 进程中的内存中。文件损坏器
- 以任何本地硬盘驱动器、连接的 USB 驱动器或挂载的网络共享为目标
- 扫描目录以查找与内部硬编码扩展名列表匹配的文件(不包括 Windows 文件夹)
.3DM .3DS .602 .7Z .ACCDB .AI .ARC .ASC .ASM .ASP .ASPX .BACKUP .BAK .BAT .BMP .BRD
.BZ .BZ2 .C .CGM .CLASS .CMD .CONFIG .CPP .CRT .CS .CSR .CSV .DB .DBF .DCH .DER .DIF
.DIP .DJVU.SH .DOC .DOCB .DOCM .DOCX .DOT .DOTM .DOTX .DWG .EDB .EML .FRM .GIF .GO
.GZ .H .HDD .HTM .HTML .HWP .IBD .INC .INI .ISO .JAR .JAVA .JPEG .JPG .JS .JSP .KDBX
.KEY .LAY .LAY6 .LDF .LOG .MAX .MDB .MDF .MML .MSG .MYD .MYI .NEF .NVRAM .ODB .ODG .ODP
.ODS .ODT .OGG .ONETOC2 .OST .OTG .OTP .OTS .OTT .P12 .PAQ .PAS .PDF .PEM .PFX .PHP .PHP3
.PHP4 .PHP5 .PHP6 .PHP7 .PHPS .PHTML .PL .PNG .POT .POTM .POTX .PPAM .PPK .PPS .PPSM .PPSX
.PPT .PPTM .PPTX .PS1 .PSD .PST .PY .RAR .RAW .RB .RTF .SAV .SCH .SHTML .SLDM .SLDX .SLK
.SLN .SNT .SQ3 .SQL .SQLITE3 .SQLITEDB .STC .STD .STI .STW .SUO .SVG .SXC .SXD .SXI .SXM
.SXW .TAR .TBK .TGZ .TIF .TIFF .TXT .UOP .UOT .VB .VBS .VCD .VDI .VHD .VMDK .VMEM .VMSD
.VMSN .VMSS .VMTM .VMTX .VMX .VMXF .VSD .VSDX .VSWP .WAR .WB2 .WK1 .WKS .XHTML .XLC .XLM
.XLS .XLSB .XLSM .XLSX .XLT .XLTM .XLTX .XLW .YML .ZIP
- 使用 1MB 的静态数据(字节 0xCC)覆盖每个目标文件的开头,无论文件大小如何
- 将每个目标文件重命名为随机扩展名
- 使用命令删除自身
Overwriting, renaming, and deleting files
cmd.exe /min /C ping 111.111.111.111 -n 5 -w 10 > Nul & Del /f /q <running process path>
通过 Elastic Security 进行 MBR 保护
对 MBR 的更改是异常和破坏性活动的特别强烈的信号,通常与勒索软件相关。为了应对这种情况,Elastic Security 研究人员在我们的多层勒索软件保护功能中构建了一个围绕这些信号的 MBR 保护组件。
当进程尝试覆盖 MBR 的内容时,将在任何更改写入磁盘之前内联分析预写缓冲区和其他关联的进程元数据。如果该活动被判定为恶意活动,则将立即终止该进程(阻止模式),和/或生成适当的勒索软件警报(阻止和检测模式),以便安全操作员有时间响应。
在阻止模式下配置时,Elastic Security 的勒索软件保护可确保 MBR 的完整性得到完全保留,由于该功能利用的同步框架,没有任何更改会到达磁盘 - 由于终止了攻击进程,从而有效阻止了勒索软件攻击。
当在启用了勒索软件保护的 Elastic Security 主机上调用 PhysicalDrive0 的 WriteFile 时,将立即分析待处理的更改并将其视为恶意。之后,该进程将被终止,将通过弹出通知提醒端点用户,并且勒索软件阻止警报将发送到 Elasticsearch 并存储在其中。在 Base64 解码 Kibana 中警报中的预写缓冲区内容后,可以轻松解密预期的勒索消息。
请务必注意,虽然 Elastic 检测到此行为,但它并非特定于此有效负载,而是有效负载正在展示的行为。这增加了我们能够检测和阻止恶意行为的机会,即使不知道恶意软件的静态签名也是如此。威胁参与者发现这种控制比传统的、基于签名的检测和阻止方法更难逃避。
在 Elastic Security 中观察 WhisperGate
通过 Elastic Security 中的 process.hash 函数观察上述第一阶段投递器的进程哈希 (a196c6b8ffcb97ffb276d04f354696e2391311db3841ae16c8c9f56f36a38e92),我们可以隔离勒索软件警报并分析阻止覆盖 MBR 的尝试。
如我们所见,数据以 Base64 编码的字符串形式存储在 Elasticsearch 中。解码后,我们可以看到勒索消息的内容,这些内容会显示给受影响系统的最终用户。
警报细分和防御建议
在我们的调查中,以下警报在 Elastic Security 中触发
端点安全集成警报
第 1 阶段 - MBR 清除器
(a196c6b8ffcb97ffb276d04f354696e2391311db3841ae16c8c9f56f36a38e92)
- 恶意软件阻止警报
- 勒索软件阻止警报(MBR 覆盖)
第二阶段 - 下载器
(dcbbae5a1c61dbbbb7dcd6dc5dd1eb1169f5329958d38b58c3fd9384081c9b78)
- 恶意软件阻止警报
第三阶段 + 第四阶段 - 注入器/文件损坏器
(34CA75A8C190F20B8A7596AFEB255F2228CB2467BD210B2637965B61AC7EA907)
- 勒索软件预防警报(金丝雀文件)
- 恶意行为预防警报 - 通过不受信任的路径进行二进制伪装
- 内存威胁预防警报
预构建的检测引擎警报
以下现有的公开检测规则也可用于检测某些采用的技术
- 通过 Windows Management Instrumentation (WMI) 进行可疑执行
- 通过 PowerShell 添加 Windows Defender 排除项
- 连接到常用的滥用 Web 服务
- 从不寻常的目录执行进程
- Windows 脚本执行 PowerShell
- 通过 PowerShell 禁用 Windows Defender 安全设置
搜索查询
检测通过 NirSoft AdvancedRun 执行的篡改 Windows Defender 设置的尝试,该程序由 第三阶段注入器执行
Detect attempts to tamper with Windows Defender
process where event.type == "start" and
process.pe.original_file_name == "AdvancedRun.exe" and
process.command_line :
("*rmdir*Windows Defender*Recurse*",
"*stop WinDefend*")
通过代码注入伪装为 InstallUtil
Identifies code injection with InstallUtil
process where event.type == "start" and
process.pe.original_file_name == "InstallUtil.exe" and
not process.executable : "?:\\Windows\\Microsoft.NET\\*"
MITRE ATT&CK
- T1561.002 - 磁盘结构擦除
- T1562.001 - 禁用或修改工具
- T1047 - Windows Management Instrumentation
- T1102 - Web 服务
- T1055 - 进程注入
- T1027 - 混淆的文件或信息
总结
这些针对乌克兰的攻击,使用破坏性恶意软件,与过去观察到的类似模式(例如NotPetya)相符。通过利用不同的恶意软件组件来擦除机器和损坏文件,很明显没有恢复任何资金的意图,而很可能是用来在乌克兰的稳定中播下混乱和怀疑的手段。
由于这些事件仍在进行中,我们想发布一些我们初步的分析和观察结果。我们还想强调 Elastic Security 在此攻击的每个阶段所提供的预防能力,这些能力今天对所有人开放。
现有的 Elastic Security 用户可以在产品中访问这些功能。如果您是 Elastic Security 的新手,请查看我们的快速入门指南(帮助您快速入门的简短培训视频)或我们的免费基础培训课程。您始终可以使用Elastic Cloud 的 14 天免费试用版开始使用。
指标
指标 | 类型 | 备注 |
---|---|---|
a196c6b8ffcb97ffb276d04f354696e2391311db3841ae16c8c9f56f36a38e92 | SHA256 | Stage1.exe (MBR 清除器) |
dcbbae5a1c61dbbbb7dcd6dc5dd1eb1169f5329958d38b58c3fd9384081c9b78 | SHA256 | Stage2.exe (下载器) |
923eb77b3c9e11d6c56052318c119c1a22d11ab71675e6b95d05eeb73d1accd6 | SHA256 | Stage3 (注入器 - 原始) |
9ef7dbd3da51332a78eff19146d21c82957821e464e8133e9594a07d716d892d | SHA256 | Stage3 (注入器 - 修复) |
34CA75A8C190F20B8A7596AFEB255F2228CB2467BD210B2637965B61AC7EA907 | SHA256 | Stage4 (文件损坏器) |
工件
工件也可以下载,以 ECS 和 STIX 格式组合在一个 zip 包中。