hell-99/malware-analysis-lab
GitHub: hell-99/malware-analysis-lab
一个跨平台恶意软件分析项目,对 XMRig 和 OceanLotus 进行端到端的静态与动态分析,并交付经过大规模验证的 YARA 检测规则。
Stars: 0 | Forks: 0
# 跨平台恶意软件分析:XMRig & OceanLotus (APT32)
对真实 APT 组织的 Linux ELF 挖矿木马和两个 macOS 后门变体进行静态和动态分析,包含经过经验验证(而非仅凭文档断言)的定制检测工程。
**在线报告:** [twinkle-kamdar.vercel.app/malware-analysis-report.html](https://twinkle-kamdar.vercel.app/malware-analysis-report.html)
## 内容概览
| 路径 | 内容 |
|------|----------|
| `report.html` | 渲染后的 CTI 报告,涵盖两个平台(与上述在线版本相同) |
| `reports/xmrig_analysis_report.md` | 完整的 XMRig (Linux) 分析报告:静态分析、动态分析、YARA 规则、MITRE ATT&CK 映射 |
| `reports/oceanlotus_macos_report.md` | 完整的 OceanLotus/APT32 (macOS) 分析报告:静态分析、加密 C2 发现、TTP 演进对比 |
| `rules/xmrig_cryptominer.yar` | 针对 XMRig 的 YARA 规则,已针对样本进行验证,在 1,319 个纯净二进制文件中 0 误报 |
| `rules/generic_cryptominer.yar` | 超越 XMRig 的家族级 YARA 规则,已针对三个独立的挖矿程序代码库进行验证 |
## 总结
**平台 1:XMRig (Linux ELF,静态 + 动态 + 行为)**
- 对经过 strip 处理、静态链接的 XMRig 6.21.3 二进制文件进行静态分析:提取了硬编码的矿池域名、Stratum 协议字符串和挖矿算法标识符
- 通过 `strace` 和实时 `tcpdump` 抓包进行动态分析:确认了线程创建、cgroup/container 自我检查,以及连接到活跃 Monero 矿池 (`pool.supportxmr.com`) 的真实 TCP/443 连接
- 针对真实样本编写并验证了 YARA 规则(在 1,319 个纯净系统二进制文件中 0 误报)
- 将规则扩展到了 XMRig 之外:针对两个独立编写的、不相关的挖矿程序(`xmr-stak`、`cgminer`,不同的币种,不同的代码库)进行了测试,在同一纯净语料库中实现了 3/3 真阳性和 0 误报
- 使用 Linux `auditd` 对互补的行为信号进行了实时验证,确认该信号能在实际进程上触发,并在十个良性命令中确认缺失
- 纠正了最初的不当断言:早期草稿仅基于静态字符串将 MSR 寄存器访问引用为已确认的指标。针对此情况的专门重新测试发现,在这些条件下的运行时中该调用实际上并未触发,报告已据此进行了修正
**平台 2:OceanLotus / APT32 (macOS Mach-O,仅静态)**
- 对来自 theZoo 公开恶意软件语料库的两个真实 APT32 样本(2014 年 dropper 和 2017 年后门)进行静态分析
- 识别出存储在 `__DATA` 中的 AES-128 密钥,该密钥仅在运行时用于在内存中解密 C2 配置,在磁盘上不可见
- 量化了该组织三年来的 TTP 演进:2014 年的样本是一个纯粹的 dropper,自身没有任何网络、加密或硬件指纹识别功能;2017 年的样本将所有这些功能吸收到一个独立的后门中,体积增加了 2.5 倍,并新增了五个全新的能力类别
- 两个变体的完整 MITRE ATT&CK 映射
## 方法论
所有分析均在隔离的 Ubuntu 22.04 ARM64 虚拟机中进行。没有任何样本在宿主机硬件上执行过。macOS 二进制文件使用 Linux 原生工具(`llvm-objdump --macho`、`strings`、`file`)进行分析;该平台未使用也不需要 macOS 执行环境。
工具:`strace`、`tcpdump`、`yara`、`auditd`、`qemu-x86_64-static`、`llvm-objdump`、`objdump`、`xxd`、Python3。
## 范围说明
本文不包含任何新颖的威胁情报。XMRig 和 OceanLotus 在公开研究中都有详尽的记录。本仓库展示的是方法论:在真实样本上端到端执行的静态和动态分析、编写并经过经验验证(不仅是编写)的检测规则,以及在重新测试不支持早期声明时对发现的纠正。
标签:DAST, DNS信息、DNS暴力破解, YARA规则, 云安全监控, 云资产清单, 合规性检查, 后端开发, 威胁情报, 开发者工具, 恶意软件分析, 身份验证强制, 逆向工程, 防御加固, 静态分析