123個Python滲透測試工具,固然不只於滲透~python
若是你想參與漏洞研究、逆向工程和滲透,我建議你時候用Python語言。Python已經有不少完善可用的庫,我將在這裏把他們列出來。web
這個清單裏的工具大部分都是Python寫成的,一部分是現有C庫的Python綁定,這些庫在Python中均可以簡單使用。正則表達式
一些強力工具(pentest frameworks、bluetooth smashers、web application vulnerability scanners、war-dialers等)被排除在外,緣由是部分工具在德國法律上有一點爭議——就算最高法院曾經認定過。這個清單的主要目的是爲了幫助白帽黑客,因此我仍是慫一點。shell
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共享驅動器
調試和逆向工程json
- 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包索引