前言
如果你想参与漏洞研究、逆向工程和渗透,建议使用 Python 语言。Python 已经有很多完善可用的库,本文将把它们列出来。
这个清单里的工具大部分都是 Python 写成的,一部分是现有 C 库的 Python 绑定,这些库在 Python 中都可以简单使用。
一些强力工具(pentest frameworks、bluetooth smashers、web application vulnerability scanners、war-dialers 等)被排除在外,原因是部分工具在德国法律上有一点争议——就算最高法院曾经认定过。这个清单的主要目的是为了帮助白帽黑客。
Network
- Scapy, Scapy3k:发送,嗅探和剖析并伪造网络数据包,可以做交互式应用或单纯的作为库来使用
- pypcap, Pcapy and pylibpcap:几个不同的 libpcap 捆绑 Python 库
- libdnet:低级别的网络路由器,可用于接口查找和以太网帧转发
- dpkt: 快速、轻量级的数据包创建、解析工具,适用于基本 TCP/IP 协议
- Impacket: 探测和解码网络数据包,支持更高级别协议比如 NMB 和 SMB
- pynids:libnids 封装提供嗅探,IP 碎片整理,TCP 流重组和端口扫描检测
- Dirtbags py-pcap:无需 libpcap 即可读取 pcap 文件
- flowgrep:通过正则表达式查找数据包中的 Payloads
- Knock Subdomain Scan:通过字典枚举目标域上的子域名
- SubBrute:快速子域枚举工具
- Mallory:可扩展的 TCP / UDP 中间代理,支持即时修改非标准协议
- Pytbull:灵活的 IDS / IPS 测试框架(配有 300 多个测试用例)
- Spoodle:大量子域名+Poodle 漏洞扫描器
- SMBMap:枚举域中的 Samba 共享驱动器
调试和逆向工程
- Paimei:逆向工程框架,包含 PyDBG, PIDA, pGRAPH
- Immunity Debugger:可脚本化的 GUI 和命令行调试工具
- mona.py:Immunity Debugger 中的扩展,用于代替 pvefindaddr
- IDAPython:IDA Pro 中的插件,集成 Python 编程语言,允许脚本在 IDA Pro 中执行
- PyEMU:全脚本实现的英特尔 32 位仿真器,用于恶意软件分析
- pefile:读取并处理 PE 文件
- pydasm:ibdasm x86 反汇编库的 Python 接口
- PyDbgEng:Python 封装的微软视窗操作系统调试引擎
- uhooker:截获 DLL 或内存中任意地址可执行文件的 API 调用
- diStorm:AMD64 平台下的反汇编库,通过 BSD 许可
- Frida:一个动态的工具框架,可以将脚本注入到运行的进程中
- python-ptrace:Python 语言写成的应用 ptrace 的调试器 (Linux,BSD 和 Darwin 系统调用跟踪进程)
- vdb / vtrace:vtrace 是一个 Python 实现的跨平台进程调试 API,vdb 是一个应用该 API 的调试器
- Androguard:安卓应用程序的逆向分析工具
- Capstone:一个轻量级的多平台多架构支持的反汇编框架。支持包括 ARM,ARM64,MIPS 和 x86/x64 平台
- Keystone:一个轻量级的多平台多架构支持的汇编框架
- PyBFD:GNU 二进制文件描述 (BFD) 库的 Python 接口
- CHIPSEC:分析硬件,系统固件(BIOS / UEFI)和平台组件等 PC 平台安全性的框架。
模糊测试
- afl-python:用于纯 Python 代码的 American fuzzy lop
- Sulley:一个模糊器开发和模糊测试的框架,由多个可扩展的构件组成的
- Peach Fuzzing Platform:扩展的模糊测试框架 (v2 版本 是用 Python 语言编写的)
- antiparser:模糊测试和故障注入的 API
- TAOF:(The Art of Fuzzing, 模糊的艺术) 包含 ProxyFuzz, 一个中间人网络模糊测试工具
- untidy:针对 XML 模糊测试工具
- Powerfuzzer:高度自动化和可完全定制的 Web 模糊测试工具


