123个Python渗透测试工具,当然不仅于渗透~

如果你想参与漏洞研究、逆向工程和渗透,我建议你时候用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:DA 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 模糊测试工具
  • SMUDGE
  • Mistress:基于预设模式,侦测实时文件格式和侦测畸形数据中的协议
  • Fuzzbox:媒体多编码器的模糊测试
  • Forensic Fuzzing Tools:通过生成模糊测试用的文件,文件系统和包含模糊测试文件的文件系统,来测试取证工具的鲁棒性
  • Windows IPC Fuzzing Tools:使用 Windows 进程间通信机制进行模糊测试的工具
  • WSBang:基于 Web 服务自动化测试 SOAP 安全性
  • Construct:用于解析和构建数据格式(二进制或文本)的库
  • fuzzer.py (feliam):由 Felipe Andres Manzano 编写的简单模糊测试工具
  • Fusil:用于编写模糊测试程序的 Python 库

Web

  • Requests:优雅,简单,人性化的 HTTP 库
  • lxml:便于使用的XML、HTML处理库,类似于Requests
  • HTTPie:人性化的类似 cURL 命令行的 HTTP 客户端
  • ProxMon:处理代理日志和报告发现的问题
  • WSMap:寻找 Web 服务器和发现文件
  • Twill:从命令行界面浏览网页。支持自动化网络测试
  • Ghost.py:Python 写的 WebKit Web 客户端
  • Windmill:Web 测试工具帮助你轻松实现自动化调试 Web 应用
  • FunkLoad:Web 功能和负载测试
  • spynner:Python 写的 Web浏览模块支持 Javascript/AJAX
  • python-spidermonkey:是 Mozilla JS 引擎在 Python 上的移植,允许调用 Javascript 脚本和函数
  • mitmproxy:支持 SSL 的 HTTP 代理。可以在控制台接口实时检查和编辑网络流量
  • pathod / pathoc:病态的守护程序/客户端,用于折磨HTTP客户端和服务器
  • spidy:简单的命令行网页抓取器,具有页面下载和单词刮除功能

取证

  • Volatility:从 RAM 中提取数据
  • Rekall: Google 开发的内存分析框架
  • LibForensics:数字取证应用程序库
  • TrIDLib:Python 实现的从二进制签名中识别文件类型
  • aft:安卓取证工具集恶意软件分析

恶意软件分析

  • pyew:命令行十六进制编辑器和反汇编工具,主要用于分析恶意软件
  • Exefilter:过滤 E-mail,网页和文件中的特定文件格式。可以检测很多常见文件格式,也可以移除文档内容
  • pyClamAV:增加你 Python 软件的病毒检测能力
  • jsunpack-n:通用 JavaScript 解释器,通过模仿浏览器功能来检测针对目标浏览器和浏览器插件的漏洞利用
  • yara-python:恶意软件样本进行识别和分类
  • phoneyc:纯 Python 实现的蜜罐
  • CapTipper:分析,研究和重放 PCAP 文件中的 HTTP 恶意流量

PDF

  • peepdf:Python 编写的PDF文件分析工具,可以帮助检测恶意的PDF文件
  • Didier Stevens' PDF tools:析,识别和创建 PDF 文件(包含PDFiD,pdf-parser,make-pdf 和 mPDF)
  • Opaf:开放 PDF 分析框架,可以将 PDF 转化为 XML 树从而进行分析和修改
  • Origapy:Ruby 工具Origami的 Python 接口,用于审查 PDF 文件
  • pyPDF2:Python PDF 工具包包含:信息提取,拆分,合并,制作,加密和解密等等
  • PDFMiner:从 PDF 文件中提取文本
  • python-poppler-qt4:Python 写的 Poppler PDF 库,支持 Qt4

杂项

  • InlineEgg:使用 Python 编写的具有一系列小功能的工具箱
  • Exomind:一种旨在通过社交网络提供针对性攻击的工具。(原文是:围绕社交网络服务、搜索引擎和即时消息为中心创建装饰图形、开源智能模块的框架(framework for building decorated graphs and developing open-source intelligence modules and ideas, centered on social network services, search engines and instant messaging)感觉直接翻译原文不太到位,所以我找了一下官网,发现官网描述简单粗暴:)
  • RevHosts:枚举指定 IP 地址包含的虚拟hosts
  • simplejson:JSON 编码和解码器,例如使用Google's AJAX API
  • PyMangle:命令行工具和一个创建用于渗透测试使用字典的库
  • Hachoir:查看和编辑二进制流
  • py-mangle: 重复项
  • wmiexec.py:通过WMI快速轻松地执行Powershell命令
  • Pentestly:Python和Powershell内部渗透测试框架
  • hacklib: 黑客爱好者的工具包:词语破解,密码猜测,反向外壳等简单工具

其他有用的库或工具

  • IPython: 增强的交互式Python shell,具有许多功能,用于对象内省,系统shell访问以及自己的特殊命令系统
  • Beautiful Soup: 用于抓取的优化版HTML解析器
  • matplotlib: 制作2维图形
  • Mayavi: 三维科学数据的可视化与绘图
  • RTGraph3D: 在三维空间中创建动态图
  • Twisted: 事件驱动的网络引擎
  • Suds: 用于web服务的轻量级SOAP客户端
  • M2Crypto: 最完整的OpenSSL包装
  • NetworkX: 图像库(边、节点)
  • Pandas:提供高性能,易于使用的数据结构和数据分析工具的库
  • pyparsing:通用解析模块
  • lxml:Python中用来处理XML和HTML的功能最多、最宜于使用的库
  • Whoosh:用Python实现的快速,有特色的全文索引和搜索库
  • Pexpect: 控制和自动化其他程序,类似于Don Libes`Expect`系统
  • Sikuli:使用屏幕截图实现搜索和自动化GUI的可视化技术,可在Jython中运行
  • PyQt and PySide:ython 捆绑的 Qt 应用程序框架和 GUI 库

书籍

  • Violent Python 作者:TJ O'Connor。一本黑客、取证分析师、渗透测试员和安全工程师的cookbook
  • Grey Hat Python 作者:Justin Seitz。用于黑客和逆向工程的Python编程书
  • Black Hat Python 作者:Justin Seitz。用于黑客和渗透测试的Python编程
  • Python Penetration Testing Essentials 作者:Mohit。使用Python的特性实现最佳渗透效果
  • Python for Secret Agents 作者:Steven F. Lott。使用Python分析,加密和发现智能数据
  • Python Web Penetration Testing Cookbook 作者:Cameron Buchanan等。超过60个用于Web应用程序测试的Python用例
  • Learning Penetration Testing with Python 作者:Christopher Duffy。利用Python脚本执行有效和高效的渗透测试
  • Python Forensics 作者:Chet Hosmer。发明和共享数字取证技术的工作台
  • The Beginner's Guide to IDAPython 作者:Alexander Hanel

演讲、幻灯片和文章

  • Python & Reverse Engineering Software 作者:Alexander Hanel
  • Python Arsenal for Reverse Engineering 作者:Dmitriy Evdokimov于2016年RUCTF
  • SecurityTube Python Scripting Expert (SPSE) 是一个Vivek Ramachandran提供认证的在线课堂
  • SANS提供了课程SEC573: Python for Penetration Testers.
  • Python Arsenal for Reverse Engineering 是一个有大量逆向工程工具的合集
  • 一篇来源于SANS的关于可用于取证分析的Python库的文章(PDF)
  • 想要找到更多Python库,请查看PyPI的Python包索引

这里有123个黑客必备的Python工具!的更多相关文章

  1. 6个炫酷又好用的 Python 工具,个个都很奔放呀

    贝多芬写完<第九交响曲>后说:it's done:耶稣在被处死前说:it is done:<指环王>结尾摧毁魔戒后Frodo说:it's done! 我整理完这6个Python ...

  2. 八款Android 开发者必备的小工具

    Photo from https://www.airpair.com 在做Android 开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了,今天就为大 ...

  3. 10款Mac上程序员装机必备的开发工具推荐和下载

    10款Mac上程序员装机必备的开发工具推荐和下载 使用Mac的用户主要有两大类:设计师和程序员,为各位程序员童鞋推荐10个Mac上非常棒的开发工具和辅助工具,分享软件专题[10款Mac上程序员装机必备 ...

  4. python工具 - 批量文件重命名

    日常工作中经常会遇到这样的情况,需要将某个文件夹下的文件按着一定的规则进行重命名,当文件数量及其庞大的时候手工一个一个的去修需要耗费大量的时间,以下python工具可以协助批量修改文件名. 场景:某文 ...

  5. 借助python工具从word文件中抽取相关表的定义,最后组装建表语句-非常好

    借助python工具从word文件中抽取表的定义,最后组装建表语句-非常好 --如有转载请以超链接的方式注明原文章出处,谢谢大家.请尊重每一位乐于分享的原创者 1.python脚本 ## -*- co ...

  6. 数据分析常用的python工具和SQL语句

    select symbol, "price.*" from stocks :使用正则表达式来指定列查询 select count(*), avg(salary) from empl ...

  7. 精通Docker的50个必备教程、工具、资源

    Docker 已经震惊了软件开发界.它提供了一种根据 DevOps 方法打包和输送应用程序的便捷方法. 最近我们发布了 51 个必备的 Docker 工具列表①,但工具不是完全精通容器化所需的唯一东西 ...

  8. 新版.Net开发必备十大工具(转)

    Snippet Compiler Snippet Compiler是一个基于 Windows 的小型应用程序,你可以通过它来编写.编译和运行代码.如果你具有较小的代码段,并且你不想创建完整的 Visu ...

  9. python工具

    目录 Python工具 1. argparse 2. tqdm 3. os, shutil 4. csv Python工具 1. argparse import argparse parser = a ...

随机推荐

  1. 【17.76%】【codeforces round 382C】Tennis Championship

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  2. uml 类图依赖与关联的区别

    类与类之间由弱到强关系是:    没关系 < 依赖 < 关联 < 聚合 < 组合. 1.依赖(dependency) 可以简单的理解,就是一个类A使用到了另一个类B,而这种使用 ...

  3. QWidget之Alien与Native小记(果然是DirectUI的方式,QWidget居然提供了nativeParentWidget函数,而且可以动态设置native父窗口)good

    在QWidget 之paint部分杂记提到了从Qt4.4开始,Alien Widget被引入.那么...这是什么东西呢,我们在使用中又可能会感受到什么东西? 用例子来说话似乎比用源码来说话来得容易,所 ...

  4. 1-5设定NetCore监听端口

    问题的起源:启动一个.netCore项目,默认使用的是5000端口,当我们有很多个项目的时候(集群),不可能都使用5000端口. 方法1:set ASPNETCORE_URLS=http://127. ...

  5. android4.0 USB Camera示例(四)CMOS

    上一页下一页说usb camera uvc标准 顺便说说CMOS一起做 操作基本一至, 前HAL在那里我已经提供了层CMOS相关接口 JNIEXPORT jint JNICALL Java_com_d ...

  6. HDU4099-Revenge of Fibonacci(trie树+数学基础)

    Revenge of Fibonacci Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 204800/204800 K (Java/ ...

  7. 网络编程Socket它TCP它TIME_WAIT国家具体解释

    下面我们用最简单的一对一的客户server编程模型重现遇到的一些问题: 初学者socket当写作socket名其妙的问题.比方说bind函数返回的常见错误是EADDRINUSE 使用以下的程序重现这个 ...

  8. 百度地图 Android SDK - 新的版本号(v3.2.0)正式上线

    百度地图 Android SDK v3.2.0 在版本号 2014 年 11 月 07 日本正式推出工作完成! watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...

  9. VC绘制控件如何防止闪烁

    理论上不管什么控件都适用,方法如下: 新建一个MFC类,继承原来的控件类型,对于VC自动生成的类进行如下改动: 首先覆盖 OnEraseBkgnd() 防止擦除时填涂背景: BOOL CXXXCtrl ...

  10. Jenkins build失败条件

    在Jenkins 项目写了很多剧本.有时候,我发现脚本失败,但Jenkins运行成功. Jenkins无论是通过退出代码0比量build成功. 因此,newLISP在.您可以使用(exit)对于成功. ...