awesome-malware-analysis/恶意软件分析大合集.md
2017-01-09 14:44:22 +08:00

34 KiB
Raw Blame History

恶意软件分析大合集

这个列表记录着那些令人称赞的恶意软件分析工具和资源。受到 awesome-pythonawesome-php 的启迪。


恶意软件集合

匿名代理

对于分析人员的 Web 流量匿名方案

  • Anonymouse.org - 一个免费、基于 Web 的匿名代理
  • OpenVPN - VPN 软件和托管解决方案
  • Privoxy - 一个带有隐私保护功能的开源代理服务器
  • Tor - 洋葱路由器,为了在浏览网页时不留下客户端 IP 地址

蜜罐

捕获和收集你自己的样本

  • Conpot - ICS/SCADA 蜜罐
  • Cowrie - 基于 Kippo 的 SSH 蜜罐
  • Dionaea - 用来捕获恶意软件的蜜罐
  • Glastopf - Web 应用蜜罐
  • Honeyd - 创建一个虚拟蜜罐
  • HoneyDrive - 蜜罐包的 Linux 发行版
  • Mnemosyne - 受 Dinoaea 支持的蜜罐数据标准化
  • Thug - 用来调查恶意网站的低交互蜜罐

恶意软件样本库

收集用于分析的恶意软件样本

开源威胁情报

工具

收集、分析 IOC 信息

其他资源

威胁情报和 IOC 资源

检测与分类

反病毒和其他恶意软件识别工具

  • AnalyzePE - Windows PE 文件的分析器
  • chkrootkit - 本地 Linux rootkit 检测
  • ClamAV - 开源反病毒引擎
  • Detect-It-Easy - 用于确定文件类型的程序
  • ExifTool - 读、写、编辑文件的元数据
  • File Scanning Framework - 模块化的递归文件扫描解决方案
  • hashdeep - 用各种算法计算哈希值
  • Loki - 基于主机的 IOC 扫描器
  • Malfunction - 在功能层面对恶意软件进行分类和比较
  • MASTIFF - 静态分析框架
  • MultiScanner - 模块化文件扫描/分析框架
  • nsrllookup - 查询 NIST's National Software Reference Library 数据库中哈希的工具
  • packerid - 跨平台的 PEiD 的替代品
  • PEV - 为正确分析可疑的二进制文件提供功能丰富工具的 PE 文件多平台分析工具集
  • Rootkit Hunter - 检测 Linux 的 rootkits
  • ssdeep - 计算模糊哈希值
  • totalhash.py - 一个简单搜索TotalHash.com 数据库的 Python 脚本
  • TrID - 文件识别
  • YARA - 分析师利用的模式识别工具
  • Yara rules generator - 基于恶意样本生成 yara 规则,也包含避免误报的字符串数据库

在线扫描与沙盒

基于 Web 的多反病毒引擎扫描器和恶意软件自动分析的沙盒

  • APK Analyzer - APK 免费动态分析
  • AndroTotal - 利用多个移动反病毒软件进行免费在线分析 App
  • AVCaesar - Malware.lu 在线扫描器和恶意软件集合
  • Cryptam - 分析可疑的 Office 文档
  • Cuckoo Sandbox - 开源、自主的沙盒和自动分析系统
  • cuckoo-modified - GPL 许可证的 Cuckoo 沙盒的修改版,由于法律原因作者没有将其分支合并
  • cuckoo-modified-api - 用于控制 cuckoo-modified 沙盒的 Python API
  • DeepViz - 通过机器学习分类来分析的多格式文件分析器
  • detux - 一个用于对 Linux 恶意软件流量分析与 IOC 信息捕获的沙盒
  • Document Analyzer - DOC 和 PDF 文件的免费动态分析
  • DRAKVUF - 动态恶意软件分析系统
  • File Analyzer - 免费 PE 文件动态分析
  • firmware.re - 解包、扫描、分析绝大多数固件包
  • Hybrid Analysis - 由 VxSandbox 支持的在线恶意软件分析工具
  • IRMA - 异步、可定制的可疑文件分析平台
  • Joe Sandbox - 深度恶意软件分析
  • Jotti - 免费在线多反病毒引擎扫描器
  • Limon - 分析 Linux 恶意软件的沙盒
  • Malheur - 恶意行为的自动化沙盒分析
  • Malware config - 从常见的恶意软件提取、解码和在线配置
  • Malwr - 免费的在线 Cuckoo 沙盒分析实例
  • MASTIFF Online - 在线恶意软件静态分析
  • Metadefender.com - 扫描文件、哈希或恶意软件的 IP 地址
  • NetworkTotal - 一个分析 pcap 文件的服务,使用配置了 EmergingThreats Pro 的Suricata 快速检测病毒、蠕虫、木马和各种恶意软件
  • Noriben - 使用 Sysinternals Procmon 收集恶意软件在沙盒环境下的进程信息
  • PDF Examiner - 收集可疑的 PDF 文件
  • ProcDot - 一个可视化恶意软件分析工具集
  • Recomposer - 安全上传二进制程序到沙盒网站的辅助脚本
  • Sand droid - 自动化、完整的 Android 应用程序分析系统
  • SEE - 在安全环境中构建测试自动化的框架
  • URL Analyzer - 对 URL 文件的动态分析
  • VirusTotal - 免费的在线恶意软件样本和 URL 分析
  • Visualize_Logs - 用于日志的开源可视化库和命令行工具Cuckoo、Procmon 等)
  • Zeltser's List - Lenny Zeltser 创建的免费自动沙盒服务

域名分析

检查域名和 IP 地址

  • Desenmascara.me - 一键点击即可得到尽可能多的检索元数据以评估一个网站的信誉度
  • Dig - 免费的在线 dig 以及其他网络工具
  • dnstwist - 用于检测钓鱼网站和公司间谍活动的域名排名网站
  • IPinfo - 通过搜索在线资源收集关于 IP 或 域名的信息
  • Machinae - 类似 Automator 的 OSINT 工具,用于收集有关 URL、IP 或哈希的信息
  • mailchecker - 跨语言临时邮件检测库
  • MaltegoVT - 让 Maltego 使用 VirusTotal API允许搜索域名、IP 地址、文件哈希、报告
  • Multi rbl - 多个 DNS 黑名单,反向查找超过 300 个 RBL。
  • SenderBase - 搜索 IP、域名或网络的所有者
  • SpamCop - 垃圾邮件 IP 黑名单IP
  • SpamHaus - 基于域名和 IP 的黑名单
  • Sucuri SiteCheck - 免费的网站恶意软件与安全扫描器
  • TekDefense Automator - 收集关于 URL、IP 和哈希值的 OSINT 工具
  • URLQuery - 免费的 URL 扫描器
  • Whois - DomainTools 家免费的 whois 搜索
  • Zeltser's List - 由 Lenny Zeltser 整理的免费在线恶意软件工具集
  • ZScalar Zulu - Zulu URL 风险分析

浏览器恶意软件

分析恶意 URL也可以参考 domain analysisdocuments and shellcode 部分

  • Firebug - Firefox Web 开发扩展
  • Java Decompiler - 反编译并检查 Java 的应用
  • Java IDX Parser - 解析 Java IDX 缓存文件
  • JSDetox - JavaScript 恶意软件分析工具
  • jsunpack-n - 一个 javascript 解压软件,可以模拟浏览器功能
  • Krakatau - Java 的反编译器、汇编器与反汇编器
  • Malzilla - 分析恶意 Web 页面
  • RABCDAsm - 一个健壮的 ActionScript 字节码反汇编
  • swftools - PDF 转换成 SWF 的工具
  • xxxswf - 分析 Flash 文件的 Python 脚本

文档和 Shellcode

在 PDF、Office 文档中分析恶意 JS 和 Shellcode也可参考browser malware 部分

  • AnalyzePDF - 分析 PDF 并尝试判断其是否是恶意文件的工具
  • box-js - 用于研究 JavaScript 恶意软件的工具,支持 JScript/WScript 和 ActiveX 仿真功能
  • diStorm - 分析恶意 Shellcode 的反汇编器
  • JS Beautifier - JavaScript 脱壳和去混淆
  • JS Deobfuscator - 对那些使用 eval 或 document.write 的简单 Javascript 去混淆
  • libemu - x86 shellcode 仿真的库和工具
  • malpdfobj - 解构恶意 PDF 为 JSON 表示
  • OfficeMalScanner - 扫描 MS Office 文档中的恶意跟踪
  • olevba - 解析 OLE 和 OpenXML 文档,并提取有用信息的脚本
  • Origami PDF - 一个分析恶意 PDF 的工具
  • PDF Tools - Didier Stevens 开发的许多关于 PDF 的工具
  • PDF X-Ray Lite - PDF 分析工具PDF X-RAY 的无后端版本
  • peepdf - 用来探索可能是恶意的 PDF 的 Python 工具
  • QuickSand - QuickSand 是一个紧凑的 C 框架,用于分析可疑的恶意软件文档,以识别不同编码流中的漏洞,并定位和提取嵌入的可执行文件
  • Spidermonkey - Mozilla 的 JavaScript 引擎,用来调试可疑 JS 代码

文件提取

从硬盘和内存镜像中提取文件

  • bulk_extractor - 快速文件提取工具
  • EVTXtract - 从原始二进制数据提取 Windows 事件日志文件
  • Foremost - 由 US Air Force 设计的文件提取工具
  • Hachoir - 处理二进制程序的 Python 库的集合
  • Scalpel - 另一个数据提取工具

去混淆

破解异或或其它代码混淆方法

  • Balbuzard - 去除混淆(XOR、ROL等)的恶意软件分析工具
  • de4dot - .NET 去混淆与脱壳
  • ex_pe_xoriheartxor - Alexander Hanel 开发的用于去除单字节异或编码的文件的两个工具
  • FLOSS - FireEye 实验室的混淆字符串求解工具,使用高级静态分析技术来自动去除恶意软件二进制文件中的字符串
  • NoMoreXOR - 通过频率分析来猜测一个 256 字节的异或密钥
  • PackerAttacker - Windows 恶意软件的通用隐藏代码提取程序
  • unpacker - 基于 WinAppDbg 的自动 Windows 恶意软件脱壳器
  • unxor - 通过已知明文攻击来猜测一个异或密钥
  • VirtualDeobfuscator - 虚拟逆向分析工具
  • XORBruteForcer - 爆破单字节异或密钥的 Python 脚本
  • XORSearch 和 XORStrings - Didier Stevens 开发的用于寻找异或混淆后数据的两个工具
  • xortool - 猜测异或密钥和密钥的长度

调试和逆向工程

反编译器、调试器和其他静态、动态分析工具

  • angr - UCSB 的安全实验室开发的跨平台二进制分析框架
  • bamfdetect - 识别和提取奇迹人和其他恶意软件的信息
  • BAP - CMU 的安全实验室开发的跨平台开源二进制分析框架
  • BARF - 跨平台、开源二进制分析逆向框架
  • binnavi - 基于图形可视化的二进制分析 IDE
  • Binwalk - 固件分析工具
  • Bokken - Pyew 和 Radare 的界面版
  • Capstone - 二进制分析反汇编框架,支持多种架构和许多语言
  • codebro - 使用 clang 提供基础代码分析的 Web 端代码浏览器
  • dnSpy - .NET 编辑器、编译器、调试器
  • Evan's Debugger (EDB) - Qt GUI 程序的模块化调试器
  • Fibratus - 探索、跟踪 Windows 内核的工具
  • FPort - 实时查看系统中打开的 TCP/IP 和 UDP 端口,并映射到应用程序
  • GDB - GNU 调试器
  • GEF - 针对开发人员和逆向工程师的 GDB 增强版
  • hackers-grep - 用来搜索 PE 程序中的导入表、导出表、字符串、调试符号
  • IDA Pro - Windows 反汇编和调试器,有免费评估版
  • Immunity Debugger - 带有 Python API 的恶意软件调试器
  • ltrace - Linux 可执行文件的动态分析
  • objdump - GNU 工具集的一部分,面向 Linux 二进制程序的静态分析
  • OllyDbg - Windows 可执行程序汇编级调试器
  • PANDA - 动态分析平台
  • PEDA - 基于 GDB 的 Pythton Exploit 开发辅助工具,增强显示及增强的命令
  • pestudio - Windows 可执行程序的静态分析
  • plasma - 面向 x86/ARM/MIPS 的交互式反汇编器
  • PPEE (puppy) - 专业的 PE 文件资源管理器
  • Process Explorer - 高级 Windows 任务管理器
  • Process Monitor - Windows 下高级程序监控工具
  • PSTools - 可以帮助管理员实时管理系统的 Windows 命令行工具
  • Pyew - 恶意软件分析的 Python 工具
  • Radare2 - 带有调试器支持的逆向工程框架
  • RetDec - 可重定向的机器码反编译器,同时有在线反编译服务和 API
  • ROPMEMU - 分析、解析、反编译复杂的代码重用攻击的框架
  • SMRT - Sublime 3 中辅助恶意软件分析的插件
  • strace - Linux 可执行文件的动态分析
  • Triton - 一个动态二进制分析框架
  • Udis86 - x86 和 x86_64 的反汇编库和工具
  • Vivisect - 恶意软件分析的 Python 工具
  • X64dbg - Windows 的一个开源 x64/x32 调试器

网络

分析网络交互

  • Bro - 支持惊人规模的文件和网络协议的协议分析工具
  • BroYara - 基于 Bro 的 Yara 规则集
  • CapTipper - 恶意 HTTP 流量管理器
  • chopshop - 协议分析和解码框架
  • Fiddler - 专为 Web 调试开发的 Web 代理
  • Hale - 僵尸网络 C&C 监视器
  • Haka - 一个安全导向的开源语言,用于在实时流量捕获时描述协议、应用安全策略
  • INetSim - 网络服务模拟。建设一个恶意软件分析实验室十分有用
  • Laika BOSS - Laika BOSS 是一种以文件为中心的恶意软件分析和入侵检测系统
  • Malcom - 恶意软件通信分析仪
  • Maltrail - 一个恶意流量检测系统,利用公开的黑名单来检测恶意和可疑的通信流量,带有一个报告和分析界面
  • mitmproxy - 拦截网络流量通信
  • Moloch - IPv4 流量捕获,带有索引和数据库系统
  • NetworkMiner - 有免费版本的网络取证分析工具
  • ngrep - 像 grep 一样收集网络流量
  • PcapViz - 网络拓扑与流量可视化
  • Tcpdump - 收集网络流
  • tcpick - 从网络流量中重构 TCP 流
  • tcpxtract - 从网络流量中提取文件
  • Wireshark - 网络流量分析工具

内存取证

在内存映像或正在运行的系统中分析恶意软件的工具

  • BlackLight - 支持 hiberfil、pagefile 与原始内存分析的 Windows / MacOS 取证客户端
  • DAMM - 基于 Volatility 的内存中恶意软件的差异分析
  • evolve - 用于 Volatility Memory 取证框架的 Web 界面
  • FindAES - 在内存中寻找 AES 加密密钥
  • Muninn - 一个使用 Volatility 的自动化分析脚本,可以生成一份可读报告
  • Rekall - 内存分析框架2013 年 Volatility 的分支版本
  • TotalRecall - 基于 Volatility 自动执行多恶意样本分析任务的脚本
  • VolDiff - 在恶意软件执行前后,在内存映像中运行 Volatility 并生成对比报告
  • Volatility - 先进的内存取证框架
  • VolUtility - Volatility 内存分析框架的 Web 接口
  • WinDbg - Windows 系统的实时内存检查和内核调试工具

Windows 神器

  • AChoir - 一个用来收集 Windows 实时事件响应脚本集
  • python-evt - 用来解析 Windows 事件日志的 Python 库
  • python-registry - 用于解析注册表文件的 Python 库
  • RegRipper (GitHub) - 基于插件集的工具

存储和工作流

  • Aleph - 开源恶意软件分析管道系统
  • CRITs - 关于威胁、恶意软件的合作研究
  • Malwarehouse - 存储、标注与搜索恶意软件
  • Polichombr - 一个恶意软件分析平台,旨在帮助分析师逆向恶意软件。
  • stoQ - 分布式内容分析框架,具有广泛的插件支持
  • Viper - 分析人员的二进制管理和分析框架

杂项

  • al-khaser - 一个旨在突出反恶意软件系统的 PoC 恶意软件
  • Binarly - 海量恶意软件字节的搜索引擎
  • DC3-MWCP - 反网络犯罪中心的恶意软件配置解析框架
  • MalSploitBase - 包含恶意软件利用的漏洞的数据库
  • Malware Museum - 收集 20 世纪八九十年代流行的恶意软件
  • Pafish - Paranoid Fish与恶意软件家族的行为一致采用多种技术来检测沙盒和分析环境的演示工具
  • REMnux - 面向恶意软件逆向工程师和分析人员的 Linux 发行版和 Docker 镜像
  • Santoku Linux - 移动取证的 Linux 发行版

资源

书籍

基础恶意软件分析阅读书单

Twitter

一些相关的 Twitter 账户

其它

相关 Awesome 清单

做出贡献

欢迎提出问题或者 Pull requests请在提交 Pull request 之前阅读 CONTRIBUTING

致谢

这个列表需要感谢如下一些人:

  • Lenny Zeltser 和 REMnux 的其他开发者贡献了这个列表中很多工具
  • Michail Hale Ligh、Steven Adair、Blake Hartstein 和 Mather Richard 著有 Malware Analyst's Cookbook,这本书为这个列表的创建提供了很大的灵感
  • 每一个提交 Pull request 以及提出建议的人

十分感谢!