Skip to content

Latest commit

 

History

History
539 lines (468 loc) · 44.1 KB

恶意软件分析大合集.md

File metadata and controls

539 lines (468 loc) · 44.1 KB

恶意软件分析大合集 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 发行版
  • Honeytrap - 运行、监控、管理蜜罐的开源系统
  • MHN - MHN 是管理蜜罐的集中式服务器,可以快速部署蜜罐收集数据,并提供统一的 Web 界面
  • 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 列表中的一些
  • ThreatConnect - TC Open 用于查看、共享开源数据,将会得到社区的支持与验证
  • ThreatCrowd - 带有图形可视化的威胁搜索引擎
  • ThreatTracker - 一个 Python 脚本,用于根据 Google 自定义搜索引擎检索的 IOC 监视、生成警报
  • TIQ-test - 威胁情报源的数据可视化和统计分析

其他资源

威胁情报和 IOC 资源

检测与分类

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

  • AnalyzePE - Windows PE 文件的分析器
  • Assemblyline - 大规模分布式文件分析框架
  • BinaryAlert - 开源、无服务 AWS 管道,用于对上传的文件使用 YARA 进行扫描和报警
  • capa - 检测可执行文件的攻击能力
  • chkrootkit - 本地 Linux rootkit 检测
  • ClamAV - 开源反病毒引擎
  • Detect It Easy(DiE) - 用于确定文件类型的程序
  • Exeinfo PE - 加壳、压缩检测工具,带有脱壳信息
  • ExifTool - 读、写、编辑文件的元数据
  • File Scanning Framework - 模块化的递归文件扫描解决方案
  • Generic File Parser - 单个库解析工具,用来提取元数据、进行静态分析与检测文件内的宏
  • hashdeep - 用各种算法计算哈希值
  • HashCheck - 可使用各种算法计算哈希值的 Windows shell 扩展
  • Loki - 基于主机的 IOC 扫描器
  • Malfunction - 在功能层面对恶意软件进行分类和比较
  • Manalyze - PE 文件的静态分析工具
  • MASTIFF - 静态分析框架
  • MultiScanner - 模块化文件扫描/分析框架
  • Nauz File Detector(NFD) - 跨平台(Windows、Linux、MacOS)的链接器/编译器检测
  • nsrllookup - 查询 NIST's National Software Reference Library 数据库中哈希的工具
  • packerid - 跨平台的 PEiD 的替代品
  • PE-bear - PE 文件的逆向工具
  • PEframe - PEframe 可以对 PE 文件与 Office 文档文件进行静态分析
  • PEV - 为正确分析可疑的二进制文件提供功能丰富工具的 PE 文件多平台分析工具集
  • PortEx - 聚焦于与 PE 文件相关恶意软件分析的 Java 库
  • Quark-Engine - 能够对抗混淆的 Android 恶意软件评估系统
  • Rootkit Hunter - 检测 Linux 的 rootkits
  • ssdeep - 计算模糊哈希值
  • totalhash.py - 一个简单搜索TotalHash.com 数据库的 Python 脚本
  • TrID - 文件识别
  • YARA - 分析师利用的模式识别工具
  • Yara rules generator - 基于恶意样本生成 yara 规则,也包含避免误报的字符串数据库
  • Yara Finder - 使用不同 yara 规则匹配文件的简单工具,以期找到可疑指标

在线扫描与沙盒

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

  • anlyz.io - 在线沙盒
  • any.run - 在线交互式沙盒
  • AndroTotal - 利用多个移动反病毒软件进行免费在线分析 App
  • AVCaesar - Malware.lu 在线扫描器和恶意软件集合
  • BoomBox - 使用 Packer 与 Vagrant 自动部署的 Cuckoo 沙盒
  • 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 - 恶意行为的自动化沙盒分析
  • malice.io - 大规模弹性恶意软件分析框架
  • malsub - 提供在线恶意软件与 URL 分析服务的 Python RESTful API 框架
  • Malware config - 从常见的恶意软件提取、解码和在线配置
  • MalwareAnalyser.io - 基于异常的在线恶意软件静态检测,采用启发式检测引擎,通过数据挖掘与机器学习赋能
  • Malwr - 免费的在线 Cuckoo 沙盒分析实例
  • MASTIFF Online - 在线恶意软件静态分析
  • MetaDefender Cloud - 扫描文件、哈希或恶意软件的 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 地址

  • AbuseIPDB - AbuseIPDB 是一个旨在帮助防御攻击蔓延、垃圾邮件传播与互联网滥用活动的项目
  • 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 地址与非法账户
  • PhishStats - 搜索IP、域名和网站标题的钓鱼统计信息
  • Spyse - 子域名、whois、相关域名、DNS、主机自治域、证书信息
  • SecurityTrails - 历史与当前WHOIS、DNS数据,相似域名、证书信息以及其他与域名和 IP 相关的数据
  • SpamCop - 垃圾邮件 IP 黑名单IP
  • SpamHaus - 基于域名和 IP 的黑名单
  • Sucuri SiteCheck - 免费的网站恶意软件与安全扫描器
  • Talos Intelligence - 搜索 IP、域名或网络的所有者
  • TekDefense Automator - 收集关于 URL、IP 和哈希值的 OSINT 工具
  • URLhaus - 由abuse.ch所支撑的项目,旨在提供用于分发恶意软件的URL列表
  • 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 脱壳和去混淆
  • 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 恶意软件的通用隐藏代码提取程序
  • un{i}packer - 基于模拟器的自动、平台无关的 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 - 固件分析工具
  • BluePill - 用于执行和调试逃避型恶意软件和受保护的可执行文件的框架
  • Capstone - 二进制分析反汇编框架,支持多种架构和许多语言
  • codebro - 使用 clang 提供基础代码分析的 Web 端代码浏览器
  • Cutter - Radare2 的 GUI
  • 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 反汇编和调试器,有免费评估版
  • IDR - Interactive Delphi Reconstructor 是用于 Delphi 可执行程序与动态库的反编译器
  • Immunity Debugger - 带有 Python API 的恶意软件调试器
  • ILSpy - ILSpy 开源的 .NET 汇编浏览器与反编译器
  • Kaitai Struct - 用于文件格式/网络协议/数据结构的逆向工程,用于 C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby 的代码生成
  • LIEF - LIEF 提供了一个跨平台的解析、修改、抽象 ELF、PE、MachO 格式的库
  • ltrace - Linux 可执行文件的动态分析
  • mac-a-mal - 用于恶意软件搜索的自动化框架
  • 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 可执行文件的动态分析
  • StringSifter - 基于恶意相关性进行自动字符串排序的机器学习工具
  • Triton - 一个动态二进制分析框架
  • Udis86 - x86 和 x86_64 的反汇编库和工具
  • Vivisect - 恶意软件分析的 Python 工具
  • WinDbg - 用于 Windows 操作系统的多用途调试器,可以调试用户态应用程序、设备驱动程序与内核转储
  • X64dbg - Windows 的一个开源 x64/x32 调试器

网络

分析网络交互

  • Bro - 支持惊人规模的文件和网络协议的协议分析工具
  • BroYara - 基于 Bro 的 Yara 规则集
  • CapTipper - 恶意 HTTP 流量管理器
  • chopshop - 协议分析和解码框架
  • CloudShark - 基于 Web 的数据包分析与恶意流量检测工具
  • FakeNet-NG - 下一代动态网络分析工具
  • 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 恶意软件
  • CryptoKnight - 自动化加密算法逆向工程与分类框架
  • DC3-MWCP - 反网络犯罪中心的恶意软件配置解析框架
  • FLARE VM - 用于恶意软件分析、基于 Windows 定制的安全发行版
  • MalSploitBase - 包含恶意软件利用的漏洞的数据库
  • Malware Museum - 收集 20 世纪八九十年代流行的恶意软件
  • Malware Organiser - 将大型恶意/良性文件组织到有组织的结构的工具
  • Pafish - Paranoid Fish,与恶意软件家族的行为一致,采用多种技术来检测沙盒和分析环境的演示工具
  • REMnux - 面向恶意软件逆向工程师和分析人员的 Linux 发行版和 Docker 镜像
  • Santoku Linux - 移动取证的 Linux 发行版

资源

书籍

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

其它

相关 Awesome 清单

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

致谢

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

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

十分感谢!