针对伪装成 HWMonitor 的 DLL 侧加载活动的技术分析、详细报告和 YARA 规则
⚠️ 免责声明 / 免责声明
本仓库严格用于教育、防御和威胁研究目的。它包含技术事后分析、入侵指标(IoC)和防御性 YARA 签名。本仓库不分发任何活跃的恶意软件二进制文件。
本仓库记录了对一个多阶段恶意软件投递工具包的技术剖析,该工具包伪装成硬件诊断实用程序 CPUID HWMonitor(虚构版本 6.77.7)。
动态沙箱分析和行为分类器(Tria.ge / Recorded Future)确认最终有效载荷为 Blakcsee Stealer(BLAKCSEE_STEALER,评分:10/10 恶意)。
逆向工程验证了该活动利用以下技术:
GUP.exe)。ntdll.dll。ReadFile、VirtualProtect)。System.ServiceModel.dll)和一个加密的 93.8 MB 有效载荷容器(ProfilerTools.dll)。flowchart TD
subgraph Stage1["1. Initial Access & Sideloading"]
Victim(["User executes downloaded file"]) --> Carrier["hwmonitor-...-6.77.7.exe<br/>(Legitimate Notepad++ GUP.exe)"]
Carrier -->|Auto-loads via Search Order| Loader["libcurl.dll<br/>(Malicious C++ Hook Loader)"]
end
subgraph Stage2["2. Evasion & Memory Hijacking"]
Loader --> CheckEnv{"Environment Check<br/>fcn.180005700"}
CheckEnv -->|Sandbox detected / Network isolated| ExitClean["Clean exit (Timeout 10s)"]
CheckEnv -->|Target host confirmed| StackXOR["Stack-String XOR Resolution<br/>('ReadFile' via 0x180005cf0)"]
StackXOR --> IATHook["Patch Host IAT table<br/>(ntdll.dll via fcn.180009ac0)"]
end
subgraph Stage3["3. Payload Delivery & Ballast"]
IATHook --> ReadBox["Read & decrypt in memory"]
ReadBox --> SafeBox["ProfilerTools.dll (93.8 MB)<br/>Ciphertext Container (Entropy 8.0)"]
SafeBox --> StealerRAM["Decrypted Infostealer in RAM<br/>(RedLine / Lumma / Vidar)"]
Carrier -.->|Ignored by loader| Ballast["ui_framework.dll (16.5 MB)<br/>Clean Microsoft WCF Ballast"]
Carrier -.->|Ignored by loader| Decoy["config.txt (Decoy GitHub links)"]
endhwmonitor-windows-github-io-6.77.7.exe(载体)GUP.exe)。b9c965aa538c21b4702ec7e4f3ac47fc999e1cd505d69e0896a309f7956bb351libcurl.dll,而不触发静态可执行文件启发式检测。libcurl.dll(加载器与 IAT 挂钩器)22a6cea4d2069935a7c621b9a96ba82d46a2d058dffca4d11917721c63ae341akernel32.dll)。ReadFile 的动态运行时计算:
(0x23 + 0x07) ^ 0x78 = 'R' (0x52)
(0x23 + 0x26) ^ 0x2c = 'e' (0x65)
(0x23 + 0x45) ^ 0x09 = 'a' (0x61)
(0x23 + 0x64) ^ 0xe3 = 'd' (0x64)
(0x23 - 0x7d) ^ 0xe0 = 'F' (0x46)
(0x23 - 0x5e) ^ 0xac = 'i' (0x69)
(0x23 - 0x3f) ^ 0x88 = 'l' (0x6c)
(0x23 - 0x20) ^ 0x66 = 'e' (0x65)
ProfilerTools.dll(加密有效载荷容器)8.00(密集密文,非 PE)。5B 28 B3 C0 5A 13 73 1F 1A B0 0A A9 53 3C 16 72242e5a415c7efb1f86b408e238d24835c72836f1e8e2439b0a6713e0b1f8d638133710d5b04ef72c22c48b43d0ad39afui_framework.dll(膨胀压舱物)System.ServiceModel.dll(WCF Framework v4.8.3928.0)。(Heur) Malware: Stealer。纯粹用作文件填充压舱物。# SHA-256 Hashes
64e602e1c744da32c53b5761fa7b15dba72023df0176cc03a48c0c0bb52f2c37 Desktop.7z (Parent Delivery Archive / Tria.ge Sample)
b9c965aa538c21b4702ec7e4f3ac47fc999e1cd505d69e0896a309f7956bb351 hwmonitor-windows-github-io-6.77.7.exe (GUP.exe)
22a6cea4d2069935a7c621b9a96ba82d46a2d058dffca4d11917721c63ae341a libcurl.dll (Malicious Loader)
242e5a415c7efb1f86b408e238d24835c72836f1e8e2439b0a6713e0b1f8d638 ProfilerTools.dll (Encrypted Container)
# MD5 Hashes
7744ed6fac4775706938298f9cb5ba0d hwmonitor-windows-github-io-6.77.7.exe
866da3588ceacbb854f95f6d581ca464 libcurl.dll
133710d5b04ef72c22c48b43d0ad39af ProfilerTools.dll
# Magic Header (Offset 0x0)
5B 28 B3 C0 5A 13 73 1F 1A B0 0A A9 53 3C 16 72 ProfilerTools.dll
要扫描目录或文件以查找此活动,请使用官方 YARA CLI 工具:
# Scan a specific directory recursively
yara64 -r rules_hwmonitor_sideload_en.yar /path/to/target/folder
| 文件 | 描述 |
|---|
malware_analysis_report_en.txt | 全面的 9 阶段技术逆向工程报告(英文)。 |
malware_analysis_report.txt | 关于逆向工程和方法论的完整详细报告(俄文)。 |
rules_hwmonitor_sideload_en.yar | 生产就绪的 YARA 规则集,包含英文描述和元数据。 |
rules_hwmonitor_sideload.yar | 带有俄文注释的 YARA 签名集。 |
| 战术 | 技术 ID | 技术名称 |
|---|
| 防御规避 | T1574.002 | 劫持执行流:DLL 侧加载 |
| 防御规避 | T1027.001 | 二进制填充(二进制膨胀 / 文件填充) |
| 防御规避 | T1027 | 混淆文件或信息(栈字符串 XOR) |
| 防御规避 | T1497 | 虚拟化/沙箱规避(GetSystemInfo 检查) |
| 持久化 / 执行 | T1055 | 进程注入:IAT 挂钩 |
| 命令与控制 | T1568.002 | 动态解析:域名生成算法(DGA) |