awesome-malware-analysis/恶意软件分析大合集.md
2018-07-02 13:22:10 +08:00

40 KiB
Raw Blame History

恶意软件分析大合集 Awesome

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


恶意软件集合

匿名代理

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

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

蜜罐

捕获和收集你自己的样本

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

恶意软件样本库

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

开源威胁情报

工具

收集、分析 IOC 信息

  • AbuseHelper - 用于接收和重新分发威胁情报的开源框架
  • AlienVault Open Threat Exchange - 威胁情报的共享与合作
  • Combine - 从公开的信息源中得到威胁情报信息
  • Fileintel - 文件情报
  • Hostintel - 主机情报
  • IntelMQ - CERT 使用消息队列来处理应急数据的工具
  • IOC Editor - Mandiant 出品的一个免费的 XML IOC 文件编辑器
  • iocextract - 高级 IOC 提取工具Python 库与命令行工具
  • ioc_writer - 开发的用于 OpenIOC 对象的 Python 库
  • MalPipe - 恶意软件/IOC 提取和处理引擎,收集丰富的数据
  • Massive Octo Spice - 由 CSIRT Gadgets Foundation发起,之前叫做 CIF (Collective Intelligence Framework),从各种信息源聚合 IOC 信息
  • MISP - 由 The MISP Project 发起的恶意软件信息共享平台
  • Pulsedive - 社区驱动的免费威胁情报平台,在开源资源中收集 IOC
  • PyIOCe - 一个 Python OpenIOC 编辑器
  • RiskIQ - 研究、链接、标注和分享 IP 与 域名
  • threataggregator - 聚合来自多个信息源的安全威胁,包括 other resources 列表中的一些
  • ThreatCrowd - 带有图形可视化的威胁搜索引擎
  • ThreatTracker - 一个 Python 脚本,用于根据 Google 自定义搜索引擎检索的 IOC 监视、生成警报
  • TIQ-test - 威胁情报源的数据可视化和统计分析

其他资源

威胁情报和 IOC 资源

检测与分类

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

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

在线扫描与沙盒

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

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

域名分析

检查域名和 IP 地址

  • badips.com - 基于 IP 黑名单服务的社区
  • boomerang - 旨在安全地捕获网络资源而设计的工具
  • Cymon - 威胁情报跟踪、具有 IP、域名、哈希值搜索功能
  • Desenmascara.me - 一键点击即可得到尽可能多的检索元数据以评估一个网站的信誉度
  • Dig - 免费的在线 dig 以及其他网络工具
  • dnstwist - 用于检测钓鱼网站和公司间谍活动的域名排名网站
  • IPinfo - 通过搜索在线资源收集关于 IP 或 域名的信息
  • Machinae - 类似 Automator 的 OSINT 工具,用于收集有关 URL、IP 或哈希的信息
  • mailchecker - 跨语言临时邮件检测库
  • MaltegoVT - 让 Maltego 使用 VirusTotal API允许搜索域名、IP 地址、文件哈希、报告
  • Multi rbl - 多个 DNS 黑名单,反向查找超过 300 个 RBL
  • NormShield Services - 用于检测潜在的钓鱼域名、黑名单中的 IP 地址与非法账户
  • SpamCop - 垃圾邮件 IP 黑名单IP
  • SpamHaus - 基于域名和 IP 的黑名单
  • Sucuri SiteCheck - 免费的网站恶意软件与安全扫描器
  • Talos Intelligence - 搜索 IP、域名或网络的所有者
  • TekDefense Automator - 收集关于 URL、IP 和哈希值的 OSINT 工具
  • URLQuery - 免费的 URL 扫描器
  • urlscan.io - 免费 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 字节码反汇编
  • SWF Investigator - SWF 应用程序的静态、动态分析
  • 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 设计的文件提取工具
  • hachoir3 - 处理二进制程序的 Python 库的集合
  • Scalpel - 另一个数据提取工具
  • SFlock - 嵌套提取/解压文档Cuckoo 沙盒使用)

去混淆

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

  • 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
  • Binary ninja - 可替换 IDA 的逆向工程平台
  • Binwalk - 固件分析工具
  • Bokken - Pyew 和 Radare 的界面版,(镜像地址)
  • Capstone - 二进制分析反汇编框架,支持多种架构和许多语言
  • codebro - 使用 clang 提供基础代码分析的 Web 端代码浏览器
  • DECAF (Dynamic Executable Code Analysis Framework) - 基于 QEMU 的二进制分析平台DroidScope 是 DECAF 的扩展
  • dnSpy - .NET 编辑器、编译器、调试器
  • dotPeek - 免费 .NET 反编译与汇编浏览器
  • Evan's Debugger (EDB) - Qt GUI 程序的模块化调试器
  • Fibratus - 探索、跟踪 Windows 内核的工具
  • FPort - 实时查看系统中打开的 TCP/IP 和 UDP 端口,并映射到应用程序
  • GDB - GNU 调试器
  • GEF - 针对开发人员和逆向工程师的 GDB 增强版
  • hackers-grep - 用来搜索 PE 程序中的导入表、导出表、字符串、调试符号
  • Hopper - macOS 和 Linux 反汇编器
  • IDA Pro - Windows 反汇编和调试器,有免费评估版
  • Immunity Debugger - 带有 Python API 的恶意软件调试器
  • ILSpy - ILSpy 开源的 .NET 汇编浏览器与反编译器
  • Kaitai Struct - 用于文件格式/网络协议/数据结构的逆向工程,用于 C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby 的代码生成
  • LIEF - LIEF 提供了一个跨平台的解析、修改、抽象 ELF、PE、MachO 格式的库
  • ltrace - Linux 可执行文件的动态分析
  • objdump - GNU 工具集的一部分,面向 Linux 二进制程序的静态分析
  • OllyDbg - Windows 可执行程序汇编级调试器
  • PANDA - 动态分析平台
  • PEDA - 基于 GDB 的 Pythton Exploit 开发辅助工具,增强显示及增强的命令
  • pestudio - Windows 可执行程序的静态分析
  • Pharos - 二进制文件自动静态分析的二进制分析框架
  • plasma - 面向 x86/ARM/MIPS 的交互式反汇编器
  • PPEE (puppy) - 专业的 PE 文件资源管理器
  • Process Explorer - 高级 Windows 任务管理器
  • Process Hacker - 监控系统资源的工具
  • Process Monitor - Windows 下高级程序监控工具
  • PSTools - 可以帮助管理员实时管理系统的 Windows 命令行工具
  • Pyew - 恶意软件分析的 Python 工具
  • PyREBox - 思科 Talos 团队出品的 Python 脚本化逆向工程沙盒
  • QKD - 嵌入 WinDbg 实现隐形调试的 QEMU
  • Radare2 - 带有调试器支持的逆向工程框架
  • RegShot - 利用快照实现注册表比较
  • RetDec - 可重定向的机器码反编译器,同时有在线反编译服务API
  • ROPMEMU - 分析、解析、反编译复杂的代码重用攻击的框架
  • SMRT - Sublime 3 中辅助恶意软件分析的插件
  • strace - Linux 可执行文件的动态分析
  • Triton - 一个动态二进制分析框架
  • Udis86 - x86 和 x86_64 的反汇编库和工具
  • Vivisect - 恶意软件分析的 Python 工具
  • WinDbg - 用于 Windows 操作系统的多用途调试器,可以调试用户态应用程序、设备驱动程序与内核转储
  • X64dbg - Windows 的一个开源 x64/x32 调试器

网络

分析网络交互

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

内存取证

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

  • BlackLight - 支持 hiberfil、pagefile 与原始内存分析的 Windows / MacOS 取证客户端
  • DAMM - 基于 Volatility 的内存中恶意软件的差异分析
  • evolve - 用于 Volatility Memory 取证框架的 Web 界面
  • FindAES - 在内存中寻找 AES 加密密钥
  • inVtero.net - .NET 开发的高速内存分析框架,支持所有 Windows x64 平台,包括代码完整性和写入支持
  • Muninn - 一个使用 Volatility 的自动化分析脚本,可以生成一份可读报告
  • Rekall - 内存分析框架2013 年 Volatility 的分支版本
  • TotalRecall - 基于 Volatility 自动执行多恶意样本分析任务的脚本
  • VolDiff - 在恶意软件执行前后,在内存映像中运行 Volatility 并生成对比报告
  • Volatility - 先进的内存取证框架
  • VolUtility - Volatility 内存分析框架的 Web 接口
  • WDBGARK - WindDBG 反 Rootkit 扩展
  • WinDbg - Windows 系统的实时内存检查和内核调试工具

Windows 神器

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

存储和工作流

  • Aleph - 开源恶意软件分析管道系统
  • CRITs - 关于威胁、恶意软件的合作研究
  • FAME - 恶意软件分析框架,可以使用自定义模块进行扩展管道,并将它们链接起来并彼此交互以执行端到端分析
  • Malwarehouse - 存储、标注与搜索恶意软件
  • Polichombr - 一个恶意软件分析平台,旨在帮助分析师逆向恶意软件。
  • stoQ - 分布式内容分析框架,具有广泛的插件支持
  • Viper - 分析人员的二进制管理和分析框架

杂项

  • al-khaser - 一个旨在突出反恶意软件系统的 PoC 恶意软件
  • DC3-MWCP - 反网络犯罪中心的恶意软件配置解析框架
  • FLARE VM - 用于恶意软件分析、基于 Windows 定制的安全发行版
  • MalSploitBase - 包含恶意软件利用的漏洞的数据库
  • Malware Museum - 收集 20 世纪八九十年代流行的恶意软件
  • Malware Organiser - 将大型恶意/良性文件组织到有组织的结构的工具
  • 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 以及提出建议的人

十分感谢!