作者:一起学习Python
原文链接:https://zhuanlan.zhihu.com/p/21803985
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

网络

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

pypcap , Pcapy , 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个测试样例)

调试和逆向工程

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

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

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

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

学习交流群:149290512

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

pefile : 读取并处理 PE 文件

pydasm : Python 封装的 libdasm

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

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

diStorm : AMD64 下的反汇编库

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

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

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

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

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

Fuzzing

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

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

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

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

untidy : 针对 XML 模糊测试工具

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

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

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 库

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/S 守护进程,用于测试和折磨 HTTP 客户端

取证

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

杂项 学习交流群:149290512

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

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

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

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

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

Hachoir : 查看和编辑二进制流

其他有用的库和工具

IPython : 增强的交互式 Python shell

Beautiful Soup : HTML 解析器

matplotlib : 制作二维图

Mayavi : 三维科学数据的可视化与绘图

RTGraph3D : 在三维空间中创建动态图

Twisted : Python 语言编写的事件驱动的网络框架

Suds : 一个轻量级的基于SOAP的python客户端

M2Crypto : Python 语言对 OpenSSL 的封装

NetworkX : 图库(边, 节点)

Pandas : 基于 Numpy 构建的含有更高级数据结构和工具的数据分析包

pyparsing : 通用解析模块

lxml : 使用 Python 编写的库,可以迅速、灵活地处理 XML

Whoosh : 纯python实现的全文搜索组件

Pexpect : 控制和自动化程序

Sikuli : 使用 Jython 脚本自动化基于截图进行视觉搜索

PyQt 和 PySide : Python 捆绑的 Qt 应用程序框架和 GUI 库

书籍

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

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 分析,加密和分析数据

其他

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

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

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

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

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

python渗透测试工具集合的更多相关文章

  1. Python渗透测试工具合集

    摘自:http://www.freebuf.com/tools/94777.html 如果你热爱漏洞研究.逆向工程或者渗透测试,我强烈推荐你使用 Python 作为编程语言.它包含大量实用的库和工具, ...

  2. Python渗透测试工具库

    漏洞及渗透练习平台 WebGoat漏洞练习平台: https://github.com/WebGoat/WebGoat webgoat-legacy漏洞练习平台: https://github.com ...

  3. 我的python渗透测试工具之主机嗅探

    嗅探工具的主要目标是基于UDP发现目标网络中的存活主机,选择UDP的原因是UDP访问过程开销小. 由于很多的操作系统在处理UDP端口的闭合时都会存在一个共性,我们也正是利用这个共性来开展确定此IP上是 ...

  4. python渗透测试工具集

    下载地址:https://github.com/githubmaidou/tools

  5. Android平台下渗透测试工具大集合

    Android平台下渗透测试工具大集合 分享一个google的项目,各种Android下的渗透测试工具. Ad Network Detector (1.2): http://market.androi ...

  6. python渗透库大集合

    l Scapy:一款强大的交互式数据报分析工具,可用作发送.嗅探.解析和伪造网络数据包. l pypcap.Pcapy和pylibpcap:配合libpcap一起使用的数据包捕获模块 l libdne ...

  7. github渗透测试工具库

    本文作者:Yunying 原文链接:https://www.cnblogs.com/BOHB-yunying/p/11856178.html 导航: 2.漏洞练习平台 WebGoat漏洞练习平台: h ...

  8. github渗透测试工具库[转载]

    前言 今天看到一个博客里有这个置顶的工具清单,但是发现这些都是很早以前就有文章发出来的,我爬下来后一直放在txt里吃土.这里一起放出来. 漏洞练习平台 WebGoat漏洞练习平台:https://gi ...

  9. 渗透测试工具之sqlmap

    1. sqlmap是什么 在这个数据有价的时代数据库安全已经成为了重中之重,于是就整理了一下最常用的一款(反正我上大学的时候它还是蛮流行的...)数据库安全方面的渗透测试工具sqlmap的使用笔记. ...

随机推荐

  1. 【剑指offer】 二叉树中和为某一值的路径

    一.题目: 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.(注意: 在返回值的list中,数组长度 ...

  2. 使用客户端等远程连接mysql数据库

    1:  远程数据库(D1)数据: 数据库用户:root,数据库密码:root,数据库ip 内网地址  192.168.100.91,数据库端口 3306 本地主机:ip  192.168.127.1 ...

  3. STL学习笔记--特殊容器

    容器配接器 (1) stack 栈 后进先出(LIFO), 头文件#include<stack> template<class _Ty, class _Container = deq ...

  4. map() 方法

    1. 方法概述 map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组. 2. 例子 2.1 在字符串中使用map 在一个 String 上使用 map 方法获取字符串中每 ...

  5. sqlserver 获得行号作为唯一id

    当sqlserver创建的view没有唯一的标识字段里,entity framework codefirst配置会出现错误,因为取其行号作为唯一标识列 CREATE VIEW [SafeWatch]. ...

  6. isKindOfClass和isMemberOfClass 的区别

    判断对象类型 -(BOOL) isKindOfClass: classObj判断是否是这个类或者这个类的子类的实例 -(BOOL) isMemberOfClass: classObj 判断是否是这个类 ...

  7. MYSQL的存储过程和函数简单写法

    存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] ro ...

  8. 解析分布式锁之Zookeeper实现(一)

    实现分布式锁目前有三种流行方案,分别为基于数据库.Redis.Zookeeper的方案,本文主要阐述基于Zookeeper的分布式锁,其他两种会在后文中一起探讨.现在我们来看下使用Zookeeper如 ...

  9. (三)github之GIT的导入

    什么是版本管理? git是一款[分散型版本管理]软件,提供了开发过程中不可少的功能,例如记录一款软件添加或者更改源代码的过程,回溯到特定阶段,恢复误删除的文件等. 集中型:将仓库集中放在服务器中,一旦 ...

  10. Js删除字符串中的指定字符串

    案例一. 比如:原字符串 var StringFirst = "12:30:08"; 现在要删掉冒号,变成123008 就可以先split var splitFirst = Str ...