安全人员常用的python库
如果你对漏洞挖掘、逆向工程分析或渗透测试感兴趣的话,我第一个要推荐给你的就是Python编程语言。Python不仅语法简单上手容易,而且它还有大量功能强大的库和程序可供我们使用。在这篇文章中,我们会给大家介绍其中的部分工具。
注:本文罗列出来的工具绝大部分都是采用Python编写的,其中有一小部分还使用了C语言库。
Network(网络)
l Scapy:一款强大的交互式数据报分析工具,可用作发送、嗅探、解析和伪造网络数据包。
l pypcap、Pcapy和pylibpcap:配合libpcap一起使用的数据包捕获模块
l libdnet:底层网络工具,含接口查询和以太网帧传输等功能
l dpkt:可以快速简单地创建或解析数据包
l Impacket:制作和解码网络数据包,支持NMB和SMB等高级协议
l pynids:封装了libnids,可用于数据包嗅探、消除IP碎片、TCP流再封装和端口扫描检测
l Dirtbags py-pcap:读取pcap文件
l flowgrep:使用正则表达式检索数据包payload
l Knock Subdomain Scan:使用字典(wordlist)对特定域名进行子域名枚举
l Mallory:可扩展的TCP/UDP中间人代理,支持对非标准协议进行实时修改
l Pytbull:灵活的IDS/IPS测试框架,包含300多种测试
Debugging and Reverse Engineering(调试和逆向工程分析)
l Paimei:逆向分析框架,包含PyDBG、PIDA和pGRAPH
l Immunity Debugger:用于加速漏洞利用程序的开发,辅助漏洞挖掘以及恶意软件分析,拥有完整的图形用户界面,并提供了命令行调试器
l mona.py:一款挖洞插件
l IDAPython:IDA Pro插件,整合了Python编程语言,并支持在IDA Pro中运行脚本
l PyEMU:支持脚本的完整IA-32模拟器,用于恶意软件分析
l pefile:读取并操作PE文件
l pydasm:提供了libdasmx86反汇编库的访问接口
l PyDbgEng:封装了微软WindowsDebugging引擎
l uhooker:拦截DLL内部的API调用,查看内存中可执行文件的任意地址
l diStorm:针对AMD64的反汇编库,遵循BSD许可协议
l python-ptrace:使用ptrace的调试器
l vdb/vtrace:vtrace是一款通过Python调试API的跨平台工具,vdb是vtrace所使用的调试器
l Androguard:可用于对Android应用进行逆向分析
Fuzzing(模糊测试)
l Sulley: 集合了大量可扩展组件的模糊测试开发框架
l Peach Fuzzing Platform: 基于生成和变异的模糊测试框架(可扩展性强)
l antiparser: 模糊测试工具,提供了故障注入API
l TAOF:包含ProxyFuzz,一款中间人网络模糊测试器
l untidy:通用的XML模糊测试器
l Powerfuzzer:高度自动化和完全可定制的Web模糊测试器
l SMUDGE
l Mistress:通过畸形数据测试文件格式和协议的工具,基于预定义模式
l Fuzzbox:多媒体编解码模糊测试器
l Forensic Fuzzing Tools:可生成模糊测试文件和模糊测试文件系统,文件系统中包含取证工具和测试系统
l Windows IPC Fuzzing Tools:利用Windows进程间通信机制来对应用程序进行模糊测试的工具
l WSBang:用于对Web服务进行自动化安全测试的Python工具
l Construct:解析和构建数据结构的代码库
l fuzzer.py (feliam):FelipeAndres Manzano 设计的一款简单的模糊测试工具
l Fusil:编写模糊测试程序的代码库
Web
l Requests:一个简单友好的HTTP库
l HTTPie:有好的类cURL命令行HTTP客户端
l ProxMon:处理代理日志,报告发现的问题
l WSMap:寻找Web服务节点,扫描文件
l Twill:通过命令行接口浏览Web,支持自动化Web测试
l Ghost.py:Webkit Web客户端
l Windmill:允许我们自动化测试和调试Web应用的Web测试工具
l FunkLoad:该工具允许加载多功能的Web应用测试组件
l spynner:支持Javascript/AJAX的可编程Web浏览模块
l python-spidermonkey:桥接Mozilla SpiderMonkeyJavaScript引擎,允许对JavaScript脚本和函数进行测试和调用
l mitmproxy:支持SSL的HTTP代理,可通过命令行接口实时拦截和编辑网络流量
l pathod / pathoc:可向HTTP客户端和服务求提供畸形测试用例
Forensics(信息取证)
l Volatility:从RAM样本中提取数据
l LibForensics:开发数字取证应用的代码库
l TrIDLib:通过代码签名识别文件类型
l aft:Android取证工具
Malware Analysis(恶意软件分析)
l pyew:命令行十六进制编辑器和反汇编工具,主要用于分析恶意软件
l Exefilter:过滤邮件、Web页面或文件中的文件格式,检测常见文件格式并能移除活动内容
l pyClamAV:向Python软件中添加病毒检测功能
l jsunpack-n:通用的JavaScript拆包工具,可枚举浏览器功能并检测漏洞,针对的是浏览器和浏览器插件漏洞
l yara-python:识别和分类恶意软件样本
l phoneyc:纯蜜罐系统
l Didier Stevens’ PDF tools: 分析、识别和创建PDF文件,包括PDFiD、pdf-parser、make-pdf和mPDF
l Opaf:开源PDF分析框架,可将PDF转换成可分析和修改的XML树
l Origapy:封装了Origami Ruby模块,可对PDF文件进行安全审查
l pyPDF:纯PDF工具,可提取、合并、加密和解密PDF内容
l PDFMiner:从PDF文件中提取文字内容
l python-poppler-qt4:绑定了Poppler PDF库,支持Qt4
杂项
l InlineEgg:Python工具箱,可用于编写小型汇编程序
l Exomind:开发开源智能模块的框架,以社交网络服务、搜索引擎和即时消息为中心
l RevHosts:根据给定IP地址枚举出虚拟主机
l simplejson:使用了 Google AJAX API的JSON解码/编码器
l PyMangle:用于创建渗透测试工具所用字典(Wordlist)的命令行工具/代码库
l Hachoir:查看和编辑代码流中的数据域
l py-mangle:另一款用于创建渗透测试工具所用字典(Wordlist)的命令行工具/代码库
其他有用的库和工具
l IPython:多功能增强型交互式Python Shell
l Beautiful Soup:爬虫可能会用到的HTML解析器
l Mayavi:3D科学数据虚拟化工具
l RTGraph3D:创建3D动态图像
l Twisted:事件驱动型网络引擎
l Suds:用于Web服务的轻量级SOAP客户端
l M2Crypto:最完整的OpenSSL封装器
l NetworkX:图形库
l Pandas:可提供高性能数据结构的数据分析工具
l pyparsing:通用解析模块
l lxml:采用Python编写的功能丰富且易于使用的XML和HTML工具
l Whoosh:纯Python实现的全功能文本索引、搜索库
l Pexpect:控制或实现其他程序的自动化,类似Don Libes `Expect` system
l Sikuli:虚拟化技术,通过截图实现搜索和自动化GUI,可利用Jython进行脚本扩展
l PyQt + PySide:Qt应用框架和GUI库所需模块