orgito1015/The-Art-of-Malware-Analysis

GitHub: orgito1015/The-Art-of-Malware-Analysis

精选的恶意软件分析工具、技术和参考资源合集,涵盖静态分析、动态分析、代码逆向与内存取证的完整方法论。

Stars: 1 | Forks: 0

# 恶意软件分析 精选的恶意软件分析工具、技术和参考资源合集。 ![恶意软件分析](https://raw.githubusercontent.com/orgito1015/The-Art-of-Malware-Analysis/main/malware.png) ## 目录 - 恶意软件攻击类型 - 恶意软件分析工作流 - 推荐工具 - 实用语言 - 分析技巧 - 书籍与参考资源 ## 恶意软件攻击类型 | 类型 | 描述 | 示例 | | --- | --- | --- | | 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, 云安全监控, 云资产清单, 合规性检查, 安全, 恶意软件分析, 自动回退, 资源汇总, 超时处理, 逆向工具, 逆向工程, 静态分析