orgito1015/The-Art-of-Malware-Analysis
GitHub: orgito1015/The-Art-of-Malware-Analysis
精选的恶意软件分析工具、技术和参考资源合集,涵盖静态分析、动态分析、代码逆向与内存取证的完整方法论。
Stars: 1 | Forks: 0
# 恶意软件分析
精选的恶意软件分析工具、技术和参考资源合集。

## 目录
- 恶意软件攻击类型
- 恶意软件分析工作流
- 推荐工具
- 实用语言
- 分析技巧
- 书籍与参考资源
## 恶意软件攻击类型
| 类型 | 描述 | 示例 |
| --- | --- | --- |
| Ransomware | 阻止访问数据,直到支付赎金 | Ryuk |
| Fileless Malware | 使用操作系统原生组件而非传统文件运行 | Astaroth |
| Spyware | 未经同意收集用户活动数据 | DarkHotel |
| Adware | 显示不需要的广告 | Fireball |
| Trojans | 伪装成合法软件 | Emotet |
| Worms | 通过自我复制在系统间传播 | Stuxnet |
| Rootkits | 隐藏恶意活动并提供远程控制 | Zacinlo |
| Keyloggers | 记录用户键盘输入 | Olympic Vision |
| Bots | 利用受感染的系统进行协同攻击 | Echobot |
| Mobile Malware | 针对移动设备 | Triada |
## 恶意软件分析流程
- **静态分析**:在不执行文件的情况下对其进行检查。对于 Windows 二进制文件,Portable Executable (PE) 元数据有助于识别结构、导入、节和嵌入的资源。
- **动态分析**:观察样本在受控环境中运行时的行为,包括注册表更改、文件活动、API 调用、加载的 DLL 以及互斥锁的创建。
- **代码分析**:使用调试、反汇编和反编译来理解程序逻辑并揭示恶意例程。
- **内存分析**:审查内存转储以识别正在运行的进程、隐藏的工件、注入的代码和加密材料。
## 工具
### 静态分析
- [PeStudio](https://www.winitor.com/download/) - Windows 可执行文件的静态分析。
- [CFF Explorer](http://www.ntcore.com/exsuite.php) - 用于检查导入、导出、节和加壳工具的 PE 检测。
### 动态分析
- [Process Hacker](https://processhacker.sourceforge.io/) - 系统资源监控。
- [Process Monitor](https://docs.microsoft.com/en-us/sysinternals/downloads/procmon) - 文件、注册表和进程监控。
- [RegShot](https://sourceforge.net/projects/regshot/) - 注册表快照比较。
- [ProcDot](http://www.procdot.com/) - 进程行为的可视化分析。
### 代码分析
- 反汇编器:[IDA](https://www.hex-rays.com/products/ida/index.shtml)
- 反编译器:[IDA Pro](https://www.hex-rays.com/products/ida/index.shtml)
- 调试器:
- [x64dbg](https://github.com/x64dbg/) - 用于 Windows 的开源 x64/x32 调试器。
- [WinDbg](https://developer.microsoft.com/en-us/windows/hardware/download-windbg) - Microsoft Windows 调试器。
### 内存取证
- 获取:[Comae-Toolkit](https://github.com/Crypt2Shell/Comae-Toolkit) - 使用 DumpIt.exe 捕获内存。
- 分析:[Volatility](https://github.com/volatilityfoundation/volatility) - 内存取证框架。
### 在线扫描器和沙箱
- [Cuckoo Sandbox](https://cuckoosandbox.org/) - 开源自动化沙箱。
- [VirusTotal](https://www.virustotal.com/) - 文件和 URL 扫描服务。
- [Noriben](https://github.com/Rurik/Noriben) - 基于 Procmon 的沙箱分析收集工具。
- [Intezer Analyze](https://analyze.intezer.com/) - 恶意软件检测和分析平台。
### 网络
- [Wireshark](https://www.wireshark.org/) - 网络流量分析。
### Android
- [MobSF](https://github.com/MobSF/Mobile-Security-Framework-MobSF) - 用于 Android、iOS 和 Windows 分析的移动安全框架。
### 服务模拟
- [INetSim](http://www.inetsim.org/) - 用于恶意软件实验室的网络服务模拟。
- [FakeNet](https://sourceforge.net/projects/fakenet/) - Windows 网络模拟工具。
## 实用语言
- Python
- C++
- Assembly
## 实用工具
- [YARA](https://github.com/VirusTotal/yara)
- [Python 3.8.0](https://www.python.org/downloads/release/python-380/) - ret-sync 和 IDA 模块所需。
- [yara-python](https://pypi.org/project/yara-python/) - IDA 集成所需。
- [ret-sync](https://github.com/bootleg/ret-sync) - 将调试会话与反汇编器同步。
## 恶意 Windows API
### 下载器
- `URLDownloadToFile`
- `ShellExecute`
### 释放器
- `FindResource`
- `LoadResource`
- `LockResource`
- `SizeofResource`
### 键盘记录器
- `GetKeyState`
- `GetAsyncKeyState`
- `SetWindowsHook`
### C2 通信
- `InternetOpenUrlA`
- `socket`
## 技巧
- 每个 `.exe` 文件可能都包含值得审查的导入 DLL、导出函数或字符串。
- 现代恶意软件通常避免明显的导入和直接的 DLL 调用,这使得静态分析变得更加困难。
- 使用 IDA 的视图和字符串分析来快速识别相关的代码路径。
- Ransomware 通常使用对称加密来加密数据,并使用非对称加密来保护密钥。
- 一些恶意软件携带着从合法组织窃取的有效数字签名。
- 加壳工具可用于混淆 PE 文件。
- 诸如 ssdeep 之类的模糊哈希工具有助于比较相关的样本。
- 当从 `kernel32.dll` 中调用时,`WinExec` 可能是可疑的。
- 通过在运行时动态解析 API,可以绕过静态分析。
- FASM 可用于以汇编语言构建 shellcode。
- 在 IDA 中研究程序流时,基本块分析非常有用。
- 将 Procmon 数据导出为 CSV 并将其加载到 ProcDot 中有助于可视化行为。
- 某些 Ransomware 需要仔细的网络模拟才能揭示命令与控制活动。
- FakeNet 可以在受控环境中暴露出站连接。
- PatchGuard 降低了某些 Rootkit 技术在现代 Windows 版本上的可靠性。
- Volatility 的 `psscan` 可以帮助识别隐藏的进程。
- `.pdb` 文件可以揭示函数名称并改进检测工作。
- 虚拟机内存快照对于离线内存分析非常有用。
- 在 IDA Pro 中,`Tab` 切换到反编译代码,`X` 显示交叉引用。
- 在 x64dbg 中,`F9` 继续执行,`F7` / `F8` 单步执行代码。
## 书籍
- [恶意软件分析实战](https://www.amazon.co.uk/Practical-Malware-Analysis-Hands-Dissecting/dp/1593272901/)
- [逆向工程实战](https://www.amazon.co.uk/Practical-Reverse-Engineering-Reversing-Obfuscation/dp/1118787315)
## 参考
- [恶意软件分析与内存取证实战方法完全指南 - 2021 版](https://www.blackhat.com/eu-21/training/schedule/#a-complete-practical-approach-to-malware-analysis-and-memory-forensics----edition-24217)
- [Awesome 恶意软件分析](https://github.com/rshipp/awesome-malware-analysis)
- [恶意软件分析与逆向工程](https://github.com/Dump-GUY/Malware-analysis-and-Reverse-engineering)
标签:DAST, 云安全监控, 云资产清单, 合规性检查, 安全, 恶意软件分析, 自动回退, 资源汇总, 超时处理, 逆向工具, 逆向工程, 静态分析