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. .net remoting 抛出异常

    原文:.net remoting 抛出异常 本文告诉大家如何在使用 .net remoting 的时候,抛出异常. 所有在远程软件运行的类,如果需要传输到本地,都需要继承 MarshalByRefOb ...

  2. C#中的Lambda总结

    Lambda的前世今生 早在C# 1.0 时,C#中就引入了委托(delegate)类型的概念.通过使用这个类型,我们可以将函数作为参数进行传递.在某种意义上,委托可理解为一种托管的强类型的函数指针. ...

  3. Qt::WindowFlags枚举类型(Qt::Widget是独立窗口和子窗口两用的,Qt::Window会有标题栏)

    Qt::Widget : QWidget构造函数的默认值,如新的窗口部件没有父窗口部件,则它是一个独立的窗口,否则就是一个子窗口部件. Qt::Window : 无论是否有父窗口部件,新窗口部件都是一 ...

  4. DDD实战2 创建领域基础类库项目

    1.创建领域基础类库项目 取名DDD.DomainBase 放置于基础设施层 2.新建IEntity接口,内部创建2个属性 code和Id用于限定 public interface IEntity { ...

  5. 跟我学ASP.NET MVC之九:SportsStrore产品管理

    摘要: 在这篇文章中,我将继续完成SportsStore应用程序,让站点管理者可以管理产品列表.我将添加创建.修改和删除产品功能. 本篇文章将分模块的方式,逐个介绍SportsStore站点管理功能的 ...

  6. Fiddler教程(Web调试工具)

    转载地址:写得很不错的fildder教程   http://kb.cnblogs.com/page/130367/ Fiddler的基本介绍 Fiddler的官方网站:  www.fiddler2.c ...

  7. js到字符串数组,实现阵列成一个字符串

    数组字符串(阵列元件与字符串连接) var a, b; a = new Array(0,1,2,3,4); b = a.join("-");   字符串转数组(根据一个字符串被分成 ...

  8. Matlab Tricks(二十四)—— 将一副图像逆时针旋转 180°

    function I2 = rot180(I) I2 = I(end:-1:1, end:-1:1); % 上下颠倒,左右颠倒:

  9. Android Ant 和 Gradle 包装工艺和效率控制

    一个.Ant 包:(下载ant.配置环境变量不说) 1.进入命令行模式,并切换到项目文件夹,运行例如以下命令为ADT创建的项目加入ant build支持: android update project ...

  10. debian kill 进程等命令

    netstat -antup 查看所有进程   譬如Firefox现在僵死,无法相应请求.打开一个终端,输入: pgrep firefox 会返回数值,譬如是7198.现在输入: kill 7198 ...