如果你热爱漏洞研究、逆向工程或者渗透测试,我强烈推荐你使用 Python 作为编程语言。它包含大量实用的库和工具,本文会列举其中部分精华。

 

网络

Scapy, Scapy3k: 发送,嗅探,分析和伪造网络数据包。可用作交互式包处理程序或单独作为一个库。

http://github.com/phaethon/scapy

http://secdev.org/projects/scapy

 

pypcap, Pcapy, pylibpcap: 几个不同 libpcap 捆绑的python库

http://code.google.com/p/pypcap/

http://oss.coresecurity.com/projects/pcapy.html

http://pylibpcap.sourceforge.net/

 

libdnet: 低级网络路由,包括端口查看和以太网帧的转发

http://code.google.com/p/libdnet/

 

dpkt: 快速,轻量数据包创建和分析,面向基本的 TCP/IP 协议

https://github.com/kbandla/dpkt

 

Impacket: 伪造和解码网络数据包,支持高级协议如 NMB 和 SMB

http://oss.coresecurity.com/projects/impacket.html

 

pynids: libnids 封装提供网络嗅探,IP 包碎片重组,TCP 流重组和端口扫描侦查

http://jon.oberheide.org/pynids/

 

Dirtbags py-pcap: 无需 libpcap 库支持读取 pcap 文件

http://dirtbags.net/py-pcap.html

 

flowgrep: 通过正则表达式查找数据包中的 Payloads

http://monkey.org/~jose/software/flowgrep/

 

Knock Subdomain Scan: 通过字典枚举目标子域名

https://github.com/guelfoweb/knock

 

SubBrute: 快速的子域名枚举工具

https://github.com/TheRook/subbrute

 

Mallory: 可扩展的 TCP/UDP 中间人代理工具,可以实时修改非标准协议

https://bitbucket.org/IntrepidusGroup/mallory

 

Pytbull: 灵活的 IDS/IPS 测试框架(附带超过300个测试样例)

http://pytbull.sourceforge.net/

 

调试和逆向工程

Paimei: 逆向工程框架,包含 PyDBG, PIDA,pGRAPH

https://github.com/OpenRCE/paimei

https://github.com/OpenRCE/pydbg

 

Immunity Debugger: 脚本 GUI 和命令行调试器

http://debugger.immunityinc.com/

 

mona.py: Immunity Debugger 中的扩展,用于代替 pvefindaddr

https://www.corelan.be/index.php/2011/07/14/mona-py-the-manual/

 

IDAPython: IDA pro 中的插件,集成 Python 编程语言,允许脚本在 IDA Pro 中执行

https://github.com/idapython/src

 

PyEMU: 全脚本实现的英特尔32位仿真器,用于恶意软件分析

https://github.com/codypierce/pyemu

 

pefile: 读取并处理 PE 文件

https://github.com/erocarrera/pefile

 

pydasm: Python 封装的libdasm

https://github.com/axcheron/pydasm

 

PyDbgEng: Python 封装的微软 Windows 调试引擎

http://pydbgeng.sourceforge.net/

 

uhooker: 截获 DLL 或内存中任意地址可执行文件的 API 调用

http://oss.coresecurity.com/projects/uhooker.htm

 

diStorm: AMD64 下的反汇编库

http://www.ragestorm.net/distorm/

 

python-ptrace: Python 写的使用 ptrace 的调试器

http://python-ptrace.readthedocs.org/

 

vdb/vtrace: vtrace 是用 Python 实现的跨平台调试 API, vdb 是使用它的调试器

https://github.com/joonty/vdebug

 

Androguard: 安卓应用程序的逆向分析工具

https://github.com/androguard/androguard

 

Capstone: 一个轻量级的多平台多架构支持的反汇编框架。支持包括ARM,ARM64,MIPS和x86/x64平台。

http://www.capstone-engine.org/

 

PyBFD: GNU 二进制文件描述(BFD)库的 Python 接口

https://github.com/Groundworkstech/pybfd/

 

Fuzzing

Sulley: 一个模糊器开发和模糊测试的框架,由多个可扩展的构件组成的

https://github.com/OpenRCE/sulley

 

Peach Fuzzing Platform: 可扩展的模糊测试框架(v2版本 是用 Python 语言编写的)

http://peachfuzz.sourceforge.net/

 

antiparser: 模糊测试和故障注入的 API

http://antiparser.sourceforge.net/

 

TAOF: (The Art of Fuzzing, 模糊的艺术)包含 ProxyFuzz, 一个中间人网络模糊测试工具

http://sourceforge.net/projects/taof/

 

untidy: 针对 XML 模糊测试工具

http://untidy.sourceforge.net/

 

Powerfuzzer: 高度自动化和可完全定制的 Web 模糊测试工具

http://www.powerfuzzer.com/

 

SMUDGE: 纯 Python 实现的网络协议模糊测试

http://www.fuzzing.org/wp-content/SMUDGE.zip

 

Mistress: 基于预设模式,侦测实时文件格式和侦测畸形数据中的协议

http://www.packetstormsecurity.org/fuzzer/mistress.rar

 

Fuzzbox: 媒体多编码器的模糊测试

https://isecpartners.com/tools/application-security/fuzzbox.aspx

 

Forensic Fuzzing Tools: 通过生成模糊测试用的文件,文件系统和包含模糊测试文件的文件系统,来测试取证工具的鲁棒性

https://isecpartners.com/tools/application-security/forensic-fuzzing-tools.aspx

 

Windows IPC Fuzzing Tools: 使用 Windows 进程间通信机制进行模糊测试的工具

https://isecpartners.com/tools/application-security/windows-ipc-fuzzing-tools.aspx

 

WSBang: 基于 Web 服务自动化测试 SOAP 安全性

https://www.isecpartners.com/tools/application-security/wsbang.aspx

 

Construct: 用于解析和构建数据格式(二进制或文本)的库

http://construct.readthedocs.org/

 

fuzzer.py(feliam): 由 Felipe Andres Manzano 编写的简单模糊测试工具

http://sites.google.com/site/felipeandresmanzano/fuzzer.py?attredirects=0

 

Fusil: 用于编写模糊测试程序的 Python 库

http://fusil.readthedocs.org/

 

Web

Requests: 优雅,简单,人性化的 HTTP 库

http://python-requests.org/

 

HTTPie: 人性化的类似 cURL 命令行的 HTTP 客户端

http://httpie.org/

 

ProxMon: 处理代理日志和报告发现的问题

https://www.isecpartners.com/tools/application-security/proxmon.aspx

 

WSMap: 寻找 Web 服务器和发现文件

https://www.isecpartners.com/tools/application-security/wsmap.aspx

 

Twill: 从命令行界面浏览网页。支持自动化网络测试

http://twill.idyll.org/

 

Ghost.py: Python 写的 WebKit Web 客户端

http://jeanphix.me/Ghost.py/

 

Windmill: Web 测试工具帮助你轻松实现自动化调试 Web 应用

http://www.getwindmill.com/

 

FunkLoad: Web 功能和负载测试

http://funkload.nuxeo.org/

 

spynner: Python 写的 Web浏览模块支持 Javascript/AJAX

https://github.com/makinacorpus/spynner

 

python-spidermonkey: 是 Mozilla JS 引擎在 Python 上的移植,允许调用 Javascript 脚本和函数

https://github.com/davisp/python-spidermonkey

 

mitmproxy: 支持 SSL 的 HTTP 代理。可以在控制台接口实时检查和编辑网络流量

http://mitmproxy.org/

 

pathod/pathoc: 变态的 HTTP/S 守护进程,用于测试和折磨 HTTP 客户端

http://pathod.net/

 

取证

Volatility: 从 RAM 中提取数据

http://www.volatilityfoundation.org/

 

Rekall: Google 开发的内存分析框架

http://www.rekall-forensic.com/

 

LibForensics: 数字取证应用程序库

http://code.google.com/p/libforensics/

 

TrIDLib: Python 实现的从二进制签名中识别文件类型

http://mark0.net/code-tridlib-e.html

 

aft: 安卓取证工具集恶意软件分析

https://github.com/agnivesh/aft

 

pyew: 命令行十六进制编辑器和反汇编工具,主要用于分析恶意软件

https://github.com/joxeankoret/pyew

 

Exefilter: 过滤 E-mail,网页和文件中的特定文件格式。可以检测很多常见文件格式,也可以移除文档内容。

http://www.decalage.info/exefilter

 

pyClamAV: 增加你 Python 软件的病毒检测能力

http://xael.org/norman/python/pyclamav/index.html

 

jsunpack-n: 通用 JavaScript 解释器,通过模仿浏览器功能来检测针对目标浏览器和浏览器插件的漏洞利用

https://github.com/urule99/jsunpack-n

 

yara-python: 对恶意软件样本进行识别和分类

https://github.com/plusvic/yara/tree/master/yara-python

 

phoneyc: 纯 Python 实现的蜜罐

https://github.com/honeynet/phoneyc

 

CapTipper: 分析,研究和重放 PCAP 文件中的 HTTP 恶意流量

https://github.com/omriher/CapTipper

 

PDF

peepdf: Python 编写的PDF文件分析工具,可以帮助检测恶意的PDF文件

http://eternal-todo.com/tools/peepdf-pdf-analysis-tool

 

Didier Stevens’ PDF tools: 分析,识别和创建 PDF 文件(包含PDFiD,pdf-parser,make-pdf 和 mPDF)

http://blog.didierstevens.com/programs/pdf-tools

http://blog.didierstevens.com/programs/pdf-tools/#pdfid

http://blog.didierstevens.com/programs/pdf-tools/#make-pdf

 

Opaf: 开放 PDF 分析框架,可以将 PDF 转化为 XML 树从而进行分析和修改。

http://code.google.com/p/opaf/

 

Origapy: Ruby 工具 Origami 的 Python 接口,用于审查 PDF 文件

http://www.decalage.info/python/origapy

 

pyPDF2: Python PDF 工具包包含:信息提取,拆分,合并,制作,加密和解密等等

http://mstamy2.github.io/PyPDF2/

 

PDFMiner: 从 PDF 文件中提取文本

http://www.unixuser.org/~euske/python/pdfminer/index.html

 

python-poppler-qt4: Python 写的

https://github.com/wbsoft/python-poppler-qt4

 

Poppler PDF 库,支持 Qt4

http://poppler.freedesktop.org/

 

杂项

InlineEgg: 使用 Python 编写的具有一系列小功能的工具箱

http://oss.coresecurity.com/projects/inlineegg.html

 

Exomind: 是一个利用社交网络进行钓鱼攻击的工具

http://corelabs.coresecurity.com/index.php?module=Wiki&action=view&type=tool&name=Exomind

 

RevHosts: 枚举指定 IP 地址包含的虚拟主句

http://www.securityfocus.com/tools/3851

 

simplejson: JSON 编码和解码器,例如使用 Google’s AJAX API

https://github.com/simplejson/simplejson/

 

PyMangle: 命令行工具和一个创建用于渗透测试使用字典的库

http://code.google.com/p/pymangle/

 

Hachoir: 查看和编辑二进制流

https://bitbucket.org/haypo/hachoir/wiki/Home

 

书籍

Violent Python :TJ O’Connor著: 详细介绍黑客,取证分析,渗透测试和安全工程师的书 (注:乌云社区有中文翻译版,感谢草帽小子-DJ和crown丶prince 的翻译)

https://www.elsevier.com/books/violent-python/unknown/978-1-59749-957-6

 

Grey Hat Python :Justin Seitz著: Python 编程用于黑客和逆向工程

http://item.jd.com/11121583.html

 

Black Hat Python :Justin Seitz著:Python 编程用于黑客和渗透测试

http://www.nostarch.com/blackhatpython

 

Python Penetration Testing Essentials :Mohit著:借助 Python 的力量做到最好的渗透测试

https://www.packtpub.com/networking-and-servers/python-penetration-testing-essentials

 

Python for Secret Agents: Steven F. Lott著: 使用 Python 分析,加密和分析数据

https://www.packtpub.com/hardware-and-creative/python-secret-agents

 

其他

SecurityTube Python Scripting Expert (SPSE) 由 Vivek Ramachandran 提供的在线课程和认证

http://www.securitytube-training.com/online-courses/securitytube-python-scripting-expert/

 

SANS 提供的相关课程 SEC573: Python for Penetration Testers

http://www.sans.org/course/python-for-pen-testers

 

Python Arsenal for Reverse Engineering: 收集有大量逆向工程相关的工具

http://pythonarsenal.erpscan.com/

 

这是 SANS 关于用于取证分析的 Python 库的论文 (PDF)

http://www.sans.org/reading_room/whitepapers/incident/grow-forensic-tools-taxonomy-python-libraries-helpful-forensic-analysis_33453

 

更多 Python 的库可以在 PyPI 中查找

http://pypi.python.org/pypi

 

本文转载自:FreeBuf黑客与极客(FreeBuf.COM)

原文地址:http://www.freebuf.com/sectool/94777.html

编译:FB小编xiaix

 

拼客学院[100%保offer计划]全栈Python开发工程师,2019年4月开班,冲击年薪20-30万,速抢名额~~~

——END——

 

技术交流群1:

添加班主任微信 qiuzhiquanquanqqls000

加入微信群

 

技术交流群2:

添加班主任QQ 17246989941752856301

加入QQ群(240920680