总结
- 12 月29 ,2025 ,一场针对波兰能源基础设施的破坏性网络攻击活动协调一致,影响了超过 30 个可再生能源设施和一个大型热电联产 (CHP) 工厂。
- 一款名为 DYNOWIPER 的定制雨刷恶意软件被用来不可逆转地破坏被入侵网络中的数据
- CERT Polska将攻击基础设施归于思科称为 "静态苔原"、Crowdstrike 称为 "狂暴熊"、微软称为 "幽灵暴风雪"、赛门铁克称为 "蜻蜓 "的威胁集群。
- Elastic Defend 的勒索软件防护利用金丝雀文件监控功能成功检测并阻止了 DYNOWIPER 的执行
背景
针对关键能源基础设施的协同破坏活动发生在29 2025 年 12 月,当时波兰正值严冬天气。
根据 CERT Polska 的报告,该活动的目标是
- 波兰全国有 30 多个风力和太阳能发电场
- 为近 50 万用户供热的大型热电联产厂
- 一家制造业公司被列为机会主义目标
攻击向量
据报道,该威胁行为者在 12 月 29 日之前利用暴露在互联网上的 Fortinet FortiGate 设备获得了初始访问权限:
- VPN 接口无需多因素认证即可进行身份验证
- 在多个设施中重复使用凭证
- 未打补丁设备的历史漏洞
攻击者对工业自动化系统进行了长达数月的侦察,特别是针对 SCADA 系统和 OT 网络。在此期间,他们外泄了 Active Directory 数据库、FortiGate 配置以及与 OT 网络现代化相关的数据。
动力装置详细信息
Elastic Security Labs 独立分析了公开来源的 DYNOWIPER 样本。该样本与 CERT Polska 记录的一个变种相似。
元数据样本
| 财产 | 值 |
|---|---|
| SHA256 | 835b0d87ed2d49899ab6f9479cddb8b4e03f5aeb2365c50a51f9088dcede68d5 |
| SHA1 | 4ec3c90846af6b79ee1a5188eefa3fd21f6d4cf6 |
| MD5 | a727362416834fa63672b87820ff7f27 |
| 文件类型 | Windows PE32 可执行文件(图形用户界面) |
| 架构 | 32 位 x86 |
| File Size | 167,424 字节 |
| 编译器 | Visual C++ (MSVC) |
| 汇编日期 | 2025-12-2613:51:11 UTC |
销毁机制
驱动器枚举
该恶意软件使用GetLogicalDrives() 枚举所有逻辑驱动器(A-Z),目标仅为DRIVE_FIXED (硬盘驱动器)和DRIVE_REMOVABLE (USB 驱动器、SD 卡)类型。
文件损坏
DYNOWIPER 采用梅森孪生 PRNG 生成伪随机数据,以防止文件损坏。它不是覆盖整个文件(这需要时间),而是有策略地破坏文件:
- 通过以下方式移除文件保护属性
SetFileAttributesW(FILE_ATTRIBUTE_NORMAL) - 使用
CreateFileW打开文件以进行读/写访问 - 用 16 字节的随机数据覆盖文件头
- 对于较大的文件,最多可生成 4,096 个随机偏移,并用 16 字节序列覆盖每个偏移
这种方法可以快速损坏许多文件,同时确保数据无法恢复。
目录排除列表
恶意软件故意避开系统关键目录,以在攻击期间保持系统稳定:
windows,system32program files,program files(x86)boot,appdata、temprecycle.bin,$recycle.binperflogs,documents and settings
这种设计选择能在系统不稳定之前最大限度地销毁数据,确保刮水器完成任务。
强制重启
在损坏和删除阶段完成后,DYNOWIPER.NET 会将其删除:
- 通过
OpenProcessToken() - 通过
SeShutdownPrivilege启用AdjustTokenPrivileges() - 强制重启系统
ExitWindowsEx(EWX_REBOOT | EWX_FORCE)
显著特点
DYNOWIPER 有几个与众不同的特点:
- 无持久机制 - 恶意软件不会试图在重启后继续运行
- 无 C2 通信 - 完全独立,无网络回调
- 不调用 shell 命令 - 所有操作均通过 Windows API 执行
- 没有反分析技术 - 没有逃避检测或调试的尝试
- 特征 PDB 路径:
C:\Users\vagrant\Documents\Visual Studio 2013\Projects\Source\Release\Source.pdb
在 PDB 路径中使用"vagrant" 表明开发是在 Vagrant 管理的虚拟机环境中进行的。
版本差异
CERT Polska 记录了两个 DYNOWIPER 版本(A 和 B)。我们分析的样本对应的是版本 A。版本 B 删除了系统关机功能,并在损坏和删除阶段之间增加了 5 秒钟的休眠时间。
弹性防御保护
在对 DYNOWIPER 样本的测试过程中,Elastic Defend 成功地检测到了恶意软件,并在其造成破坏之前将其缓解。
检测警报
{
"message": "Ransomware Prevention Alert",
"event": {
"code": "ransomware",
"action": "canary-activity",
"type": ["info", "start", "change", "denied"],
"category": ["malware", "intrusion_detection", "process", "file"],
"outcome": "success"
},
"Ransomware": {
"feature": "canary",
"version": "1.9.0"
}
}
金丝雀保护如何工作
Elastic Defend 的勒索软件保护采用金丝雀文件(策略性放置的诱饵文件),一旦被修改就会触发警报。DYNOWIPER 不分青红皂白地破坏文件的做法导致它修改了一个金丝雀文件。
当清除器试图破坏这个金丝雀文件时,Elastic Defend 会立即进行处理:
- 检测到可疑的修改模式
- 阻止进一步执行
- 生成高可信度勒索软件警报(风险分数:73)
虽然 Elastic Defend 并非此次事件中使用的 EDR 解决方案,但这种形式的深度防御保护在现实世界的入侵事件中至关重要。据 CERT Polska 称,在热电厂部署的 EDR 解决方案采用了上文强调的金丝雀保护技术,在 100 多台已开始执行 DYNOWIPER 的机器上阻止了数据覆盖。
行为检测为何至关重要
破坏性恶意软件会给风险最小化带来独特的挑战:
- 它们可能无法建立 C2 连接(无网络指示器)
- 它们可能不使用持久性机制(有限的取证人工制品)
- 他们执行迅速,破坏性强
- 基于静态特征的检测可能会漏掉新变种
行为保护(如通过金丝雀文件)提供了一个重要的防御层,可以捕捉破坏性恶意软件,无论其是否新颖。
妥协指标
文件散列(DYNOWIPER)
| SHA256 | 文件名 |
|---|---|
835b0d87ed2d49899ab6f9479cddb8b4e03f5aeb2365c50a51f9088dcede68d5 | dynacom_update.exe |
65099f306d27c8bcdd7ba3062c012d2471812ec5e06678096394b238210f0f7c | Source.exe |
60c70cdcb1e998bffed2e6e7298e1ab6bb3d90df04e437486c04e77c411cae4b | schtask.exe |
d1389a1ff652f8ca5576f10e9fa2bf8e8398699ddfc87ddd3e26adb201242160 | schtask.exe |
分发脚本
| SHA256 | 文件名 |
|---|---|
8759e79cf3341406564635f3f08b2f333b0547c444735dba54ea6fce8539cf15 | dynacon_update.ps1 |
f4e9a3ddb83c53f5b7717af737ab0885abd2f1b89b2c676d3441a793f65ffaee | exp.ps1 |
网络指标
| IP 地址 | 上下文 |
|---|---|
185.200.177[.]10 | VPN 登录、直接执行 DYNOWIPER |
31.172.71[.]5 | 用于数据外泄的反向代理 |
193.200.17[.]163 | VPN 登录 |
185.82.127[.]20 | VPN 登录 |
72.62.35[.]76 | VPN 和 O365 登录 |
YARA 规则
rule DYNOWIPER {
meta:
author = "CERT Polska"
description = "Detects DYNOWIPER data destruction malware"
severity = "CRITICAL"
reference = "https://mwdb.cert.pl/"
strings:
$a1 = "$recycle.bin" wide
$a2 = "program files(x86)" wide
$a3 = "perflogs" wide
$a4 = "windows\x00" wide
$b1 = "Error opening file: " wide
$priv = "SeShutdownPrivilege" wide
$api1 = "GetLogicalDrives"
$api2 = "ExitWindowsEx"
$api3 = "AdjustTokenPrivileges"
condition:
uint16(0) == 0x5A4D
and filesize < 500KB
and 4 of ($a*, $b1)
and $priv
and 2 of ($api*)
}
推荐
立即行动
- 部署行为勒索软件防护--仅靠基于签名的检测不足以应对新型擦除器
- 在所有 VPN 和远程访问解决方案上启用 MFA- 攻击者利用了没有 MFA 的账户
- 审计 FortiGate 和边缘设备配置- 检查未经授权的账户、规则和计划任务
- 审查默认凭据- 工业设备(RTU、HMI、串行服务器)通常随附默认密码
检测机会
监视器用于:
GetLogicalDrives调用 API 后进行大量文件操作SetFileAttributesW呼叫按比例设置FILE_ATTRIBUTE_NORMALSeShutdownPrivilege的权限升级,然后是ExitWindowsEx- 修改 GPO,创建具有 SYSTEM 权限的计划任务
- 多个硬盘同时进行异常文件修改
恢复考虑因素
- 从离线/空气屏蔽备份恢复- 在线备份可能已成为攻击目标
- 恢复前验证备份的完整性
- 假设凭据受损- 重置所有密码,尤其是域管理员账户
- 审计可能连接到受影响系统的所有可移动媒体
结论
2025 12 月对波兰能源部门的攻击表明,针对关键基础设施的破坏性网络行动显著升级。DYNOWIPER 虽然在技术上并不复杂,但在与威胁行动者广泛的预置访问权限相结合时,被证明能有效地快速销毁数据。
这起事件凸显了深度防御战略的重要性,特别是行为检测能力,它可以识别破坏性恶意软件,而不管其是否新颖。Elastic Defend 的勒索软件保护--特别是其金丝雀文件监控--有效地检测并阻止了 DYNOWIPER,使其无法完成破坏任务。
关键基础设施部门的组织应根据本报告和 CERT Polska 的全面分析中记录的 TTPs 审查其安全态势。
参考资料
- CERT Polska:能源行业事件报告 - 29 12 月
MITRE ATT&CK 映射
| 战术 | 技术 | ID |
|---|---|---|
| 执行 | 排定的任务/作业 | T1053.005 |
| 防御规避 | 文件和目录权限修改 | T1222 |
| 发现 | 本地存储发现 | T1680 |
| 影响 | 数据销毁 | T1485 |
| 影响 | 系统关闭/重启 | T1529 |
