如果你对漏洞挖掘、逆向工程分析或渗透测试感兴趣的话,我第一个要推荐给你的就是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:纯蜜罐系统

PDF

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库所需模块

专为渗透测试人员设计的 Python 工具大合集的更多相关文章

  1. 免费DDOS攻击测试工具大合集

    FreeBuf微科普: DoS(Denial Of Service)攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访 ...

  2. DDOS攻击方式总结以及免费DDOS攻击测试工具大合集

    若有雷同或者不足之处,欢迎指正交流,谢谢! DoS(Denial Of Service)攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提 ...

  3. Kali Linux的发展史,专为数字取证和渗透测试而设计

    Kali Linux拥有非常强大的网络功能,Kali Linux是一个Debian衍生的Linux发行版,专为数字取证和渗透测试而设计.它是由OffensiveSecurityLtd维护和资助,是由M ...

  4. python字符串操作实方法大合集

    python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下:   #1.去空格及特殊符号 s.st ...

  5. 【分享】Python学习资源大合集

    地址:http://www.hejizhan.com/html/xueke/520/x520_03.html Python安装软件合集(Windows)(78) Python教程——游戏编程(13) ...

  6. 手把手教渗透测试人员打造.NET可执行文件

    在进行渗透测试的过程中,我们有时候会希望使用可执行文件来完成某些任务.最近,我们在测试过程中拿下了一个网站,从而获得了一次发动水坑攻击的机会. 原文地址:https://www.peew.pw/blo ...

  7. 前端,Java,产品经理,微信小程序,Python等资源合集大放送

    为了感恩大家长久以来的关注和支持,小编准备了一些福利,整理了包含前端,Java,产品经理,微信小程序,Python,网站源码,Android应用视频教程,微信公众平台开发教程及材料等资源合集大放送. ...

  8. 不容错过的UI设计素材大合集

    免费PSD素材 TETHR by InVision 这是出自InVision的8款PSD文件,其中包含了100个模板和超过500个UI控件.来自InVision和UI8的设计师一同协作完成了这套UI ...

  9. 读书分享全网学习资源大合集,推荐Python学习手册等三本书「01」

    0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code之 ...

随机推荐

  1. mysql行锁和死锁检测

    行锁顾名思义,就是针对单行数据加锁,在mysql中,锁的实现是由引擎层实现的,MyISAM引擎就不支持行锁 不支持行锁就意味着并发控制只能使用表锁,也就是说同一时间,在这个表上只能有一个更新在执行,这 ...

  2. Eclipse + pydev插件

    在Eclipse中安装pydev插件 启动Eclipse, 点击Help->Install New Software...   在弹出的对话框中,点Add 按钮.  Name中填:Pydev,  ...

  3. 移动端Web页面适配方案

    概念理解 viewport视口 visual viewport 可见视口,设备屏幕的宽度  windw.innerWidth/Height layout viewport 布局视口,DOM宽度 doc ...

  4. 推荐一个 Java 里面比较牛逼的公众号!

    今天给大家推荐一个牛逼的纯 Java 技术公众号:Java技术栈,作者:栈长. Java程序员.Java爱好者扫码关注吧! 确实牛逼,几十万人关注了,原创文章350+,好友都 3000+ 关注了. 栈 ...

  5. 58-python基础-python3-集合-集合常用方法-删除元素-remove()-discard()-pop()-clear()

    删除元素-remove()-discard()-pop()-clear() 1-remove() remove()用于删除一个set中的元素,这个值在set中必须存在,如果不存在的话,会引发KeyEr ...

  6. JDK8之ArrayList源码

    ArrayList三个构造器 /** * Default initial capacity. */ private static final int DEFAULT_CAPACITY = 10; // ...

  7. NGUI的输入框制作(attach- input filed script的使用)

    一,我们添加一个sprite,给这个sprite添加一个box collider ,然后添加input filed script,如下图: 二,我们给sprite添加一个child的label,然后绑 ...

  8. 3. ZooKeeper客户端(一)

    ZooKeeper常用客户端有三种:原生客户端.zkClient.curator 项目中使用前,需要导入相关依赖 <dependencies> <dependency> < ...

  9. 20191114PHP文件操作

    <meta charset="utf-8"><?php// $fn=fopen("c:\\abc.txt","w"); / ...

  10. mysql 8.0.15忘记密码重置方法

    1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务, 2.开启跳过密码验证登录的MySQL服务 输入命令 mysqld --console --skip-grant-t ...