1. 程式人生 > >Python:滲透測試開源項目

Python:滲透測試開源項目

python 安全

sql註入工具:sqlmap
DNS安全監測:DNSRecon
暴力破解測試工具:patator
XSS漏洞利用工具:XSSer

Web服務器壓力測試工具:HULK

SSL安全掃描器:SSLyze

網絡
Scapy: send, sniff and dissect and forge network packets. Usable interactively or as a library

pypcap, Pcapy and pylibpcap: several different Python bindings for libpcap

libdnet: low-level networking routines, including interface lookup and Ethernet frame transmission

dpkt: fast, simple packet creation/parsing, with definitions for the basic TCP/IP protocols

Impacket: craft and decode network packets. Includes support for higher-level protocols such as NMB and SMB

pynids: libnids wrapper offering sniffing, IP defragmentation, TCP stream reassembly and port scan detection

Dirtbags py-pcap: read pcap files without libpcap

flowgrep: grep through packet payloads using regular expressions

Knock Subdomain Scan, enumerate subdomains on a target domain through a wordlist

Mallory, extensible TCP/UDP man-in-the-middle proxy, supports modifying non-standard protocols on the fly

Pytbull: flexible IDS/IPS testing framework (shipped with more than 300 tests)

調試和逆向工程
Paimei: reverse engineering framework, includes PyDBG, PIDA, pGRAPH

Immunity Debugger: scriptable GUI and command line debugger

mona.py: PyCommand for Immunity Debugger that replaces and improves on pvefindaddr

IDAPython: IDA Pro plugin that integrates the Python programming language, allowing scripts to run in IDA Pro

PyEMU: fully scriptable IA-32 emulator, useful for malware analysis

pefile: read and work with Portable Executable (aka PE) files

pydasm: Python interface to the libdasm x86 disassembling library

PyDbgEng: Python wrapper for the Microsoft Windows Debugging Engine

uhooker: intercept calls to API calls inside DLLs, and also arbitrary addresses within the executable file in memory

diStorm: disassembler library for AMD64, licensed under the BSD license

python-ptrace: debugger using ptrace (Linux, BSD and Darwin system call to trace processes) written in Python

vdb / vtrace: vtrace is a cross-platform process debugging API implemented in python, and vdb is a debugger which uses it

Androguard: reverse engineering and analysis of Android applications

Fuzzing
Sulley: fuzzer development and fuzz testing framework consisting of multiple extensible components

Peach Fuzzing Platform: extensible fuzzing framework for generation and mutation based fuzzing (v2 was written in Python)

antiparser: fuzz testing and fault injection API

TAOF, (The Art of Fuzzing) including ProxyFuzz, a man-in-the-middle non-deterministic network fuzzer

untidy: general purpose XML fuzzer

Powerfuzzer: highly automated and fully customizable web fuzzer (HTTP protocol based application fuzzer)

SMUDGE

Mistress: probe file formats on the fly and protocols with malformed data, based on pre-defined patterns

Fuzzbox: multi-codec media fuzzer

Forensic Fuzzing Tools: generate fuzzed files, fuzzed file systems, and file systems containing fuzzed files in order to test the robustness of forensics tools and examination systems

Windows IPC Fuzzing Tools: tools used to fuzz applications that use Windows Interprocess Communication mechanisms

WSBang: perform automated security testing of SOAP based web services

Construct: library for parsing and building of data structures (binary or textual). Define your data structures in a declarative manner

fuzzer.py (feliam): simple fuzzer by Felipe Andres Manzano

Fusil: Python library used to write fuzzing programs

Web
Requests: elegant and simple HTTP library, built for human beings

HTTPie: human-friendly cURL-like command line HTTP client

ProxMon: processes proxy logs and reports discovered issues

WSMap: find web service endpoints and discovery files

Twill: browse the Web from a command-line interface. Supports automated Web testing

Ghost.py: webkit web client written in Python

Windmill: web testing tool designed to let you painlessly automate and debug your web application

FunkLoad: functional and load web tester

spynner: Programmatic web browsing module for Python with Javascript/AJAX support

python-spidermonkey: bridge to the Mozilla SpiderMonkey JavaScript engine; allows for the evaluation and calling of Javascript scripts and functions

mitmproxy: SSL-capable, intercepting HTTP proxy. Console interface allows traffic flows to be inspected and edited on the fly

pathod / pathoc: pathological daemon/client for tormenting HTTP clients and servers

取證
Volatility: extract digital artifacts from volatile memory (RAM) samples

LibForensics: library for developing digital forensics applications

TrIDLib, identify file types from their binary signatures. Now includes Python binding

aft: Android forensic toolkit

惡意程序分析
pyew: command line hexadecimal editor and disassembler, mainly to analyze malware

Exefilter: filter file formats in e-mails, web pages or files. Detects many common file formats and can remove active content

pyClamAV: add virus detection capabilities to your Python software

jsunpack-n, generic JavaScript unpacker: emulates browser functionality to detect exploits that target browser and browser plug-in vulnerabilities

yara-python: identify and classify malware samples

phoneyc: pure Python honeyclient implementation

PDF
Didier Stevens‘ PDF tools: analyse, identify and create PDF files (includes PDFiD, pdf-parserand make-pdf and mPDF)

Opaf: Open PDF Analysis Framework. Converts PDF to an XML tree that can be analyzed and modified.

Origapy: Python wrapper for the Origami Ruby module which sanitizes PDF files

pyPDF: pure Python PDF toolkit: extract info, spilt, merge, crop, encrypt, decrypt…

PDFMiner: extract text from PDF files

python-poppler-qt4: Python binding for the Poppler PDF library, including Qt4 support

Misc
InlineEgg: toolbox of classes for writing small assembly programs in 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: enumerate virtual hosts for a given IP address

simplejson: JSON encoder/decoder, e.g. to use Google‘s AJAX API

PyMangle: command line tool and a python library used to create word lists for use with other penetration testing tools

Hachoir: view and edit a binary stream field by field

py-mangle: command line tool and a python library used to create word lists for use with other penetration testing tools

其他有用的Py庫和工具
IPython: enhanced interactive Python shell with many features for object introspection, system shell access, and its own special command system

Beautiful Soup: HTML parser optimized for screen-scraping

matplotlib: make 2D plots of arrays

Mayavi: 3D scientific data visualization and plotting

RTGraph3D: create dynamic graphs in 3D

Twisted: event-driven networking engine

Suds: lightweight SOAP client for consuming Web Services

M2Crypto: most complete OpenSSL wrapper

NetworkX: graph library (edges, nodes)

Pandas: library providing high-performance, easy-to-use data structures and data analysis tools

pyparsing: general parsing module

lxml: most feature-rich and easy-to-use library for working with XML and HTML in the Python language

Whoosh: fast, featureful full-text indexing and searching library implemented in pure Python

Pexpect: control and automate other programs, similar to Don Libes Expect system

Sikuli, visual technology to search and automate GUIs using screenshots. Scriptable inJython

PyQt and PySide: Python bindings for the Qt application framework and GUI library

其他
Python 作為程序員的寵兒,越來越得到人們的關註,使用 Python 進行應用程序開發的越來也多。那麽,在 2013 年有哪些流行的 Python 項目呢?下面,我們一起來看下。

  一、測試和調試

python_koans:Python Koans 算 “Ruby Koans” 的一部分,作為交互式教程,可以學習 TDD 技巧。
sure:Sure 是最適合自動化測試的 Python 工具,包含流利的斷言、深度選擇器等等特性。
responses:用 responses 能令測試更加輕松,這是一個可以偽裝各種請求的庫。
boom:Boom! Apache Bench 的替代品。作為一個命令行工具,Boom 能對你的應用進行快捷的 smoke test。
cricket:BeeWare 套件的一部分,cricket 是種圖形化工具,協助你進行案例測試。
bugjar:BeeWare 套件的一部分,bugjar 是針對 Python 的圖形化交互式調試器。
pudb:pudn 是針對 Python 的全屏命令行調試器。
voltron:更好的 gdb 界面。
  二、Web 框架

django-stronghold:試過將 login_required 裝飾器四處亂放? 在你的堡壘中令所有 Django 視圖有默認 login_required 唄。
Falcon Framework:Falcon 自稱為髙性能雲接口框架,號稱能在相同硬件條件下提高服務端性能 30 倍! 聽起來有點兒意思?
django-xadmin:用 bootstrap 對 django-admin 進行了深度升級,提供了可插件安裝的儀表盤。
clay:基於 Flask 的封裝,能令我們輕松的創建 RESTful 後端服務,完整文檔可查看 clay。
flask-restful:基於 Flask 的簡單框架,用以創建 REST 接口。
sandman:Sandman 希望通過 REST 接口暴露你現有的 app,相關 博客也值得一讀。
Django Unchained:名字很髙大上,也的確是 Python Django 初學者的靠譜指南。
  三、並發

pulsar:部署新 web 服務器走起! 有趣的事件驅動的並發框架 ! 兼容從 2.6+ 到 pypy 的所有 python 版本!
toro:同步化的 Tornado 協程支持。
offset:Offset Go 的並發模式在 Python 中的實現,請參考相關演講 幻燈來理解!
  四、任務調度

pyres:從 resque 獲得靈感的純 Python 任務調度模塊,是 celery 的替代。
dagobah:Dagobah 是 Python 完成的簡單關系依賴為基礎的任務調度模塊,還包含很 COOL 的關聯任務工作流圖形工具。
schedule:使用生成器模式來為定期任務生成配置的進程調度模塊。
  五、實用工具

howdoi:發覺你總在 Google 一些簡單的最簡單的編程任務? howdoi 能讓你遠離瀏覽器,就解決這類事兒!
delorean:時間旅行?簡單! Delorean 的目標就是令你的 Python 項目在處理時間/日期時輕而易舉!查閱完備的 文檔。
powerline-shell:對於那些想讓常用工具漂亮起來人,一定要用 powerline-bash,能打造漂亮的 shell 提示符,增加力線(powerline),兼容 Bash/Zsh。
fn.py:在 Python 中談及函數編程時失落的那節"電池"終於出現了! 如果對 Python 函數式編程有興趣的立即下手安裝體驗吧!
lice:為你的開源工程方便的追加許可證,而不用自個兒去 Google,支持 BSD、MIT 和 GPL 以及變種協議。
usblock:基於 USB 來鎖定或是解鎖你的筆記本!
Matchbox:MatchBox 能在你自個兒的服務器上提供類似 Dropbox 風格的備份服務! 基於 Flask 並通過 http 協議進行文件傳輸。
cleanify:用 cleanify 能異步美化你項目的所有 html/css/js 文件。
locksmith:Locksmith 是 AES 加密的口令管理器,看起來不錯,完全開源,源代碼、截屏都有。
storm:在 Storm 的命令行界面,管理你所有的 SSH 連接。
sqlparse::這個很給力! sqlparse 是個 SQL 有效性分析器,支持解析/分裂/格式化 SQL 語句。
autopep8:能自動化以 pep8來格式化你的代碼。
colout:colout 用以在命令行中色彩化輸出,這就從其 github page 查看範例來體驗吧。
bumpversion:版本號沖撞總是惱人的,而每個人總是忘記給發行版本打 tag,bumpversion 用一條簡單的命令簡化了這方面的操作。
pyenv:需要更好的管理你 Python 的多版本環境 ? pyenv 讓你能簡潔的作到!(甚至超出你的預期!有插件能將 VirtualEnv 也無縫結合進來!)
pip-tools:一整套能令你的 Python 項目保持清爽的工具。
cdiff:Cdiff 是種非常 nice 的工具,可以用彩色輸出統一 diff 格式信息,或用雙欄形式來展示。
  六、數據科學及可視化

data_hacks:由 bitly 發布的一堆數據分析用命令行工具。這些工具接受命令行或是其它工具輸入的數據,輕易的生成柱圖以及直方圖等等。
給黒客的概率編程和貝葉斯方法:這書是極好的,介紹如何用貝葉斯方法和概率編程進行數據分析,而且每章都提供了用以 iPython Notebooks 的示例。
simmetrica:想對自個兒的應用基於時間的數據序列進行展示、匯總、分享嘛? 趕緊上 simmetrica 吧,同時還提供了可定制的儀表盤。
vincent: Python 構建的專為運用 D3.js 進行可視化的 vega 轉換工具。
bamboo:一種簡潔的實時數據分析應用,bamboo 提供了一個進行合並、匯總、數值計算的數據實時接口。
dataset:難以置信的工具,dataset 讓對數據庫的讀寫簡單的象對 JSON 文件的操作,沒有其它的文件配置,頃刻間就讓你在 BOSS 面前高大上起來。
folium:喜歡地圖?也愛 Python? Folium 讓你在地圖上自在操縱數據。
prettyplotlib:用 prettyplotlib 來強化你的 matplotlib,讓你默認的 matplotlib 輸出圖片更加漂亮.
lifelines:有興趣在 Python 中研究生存分析的話,不用觀望了,用 lifelines! 包含對 Kaplan-Meier、Nelson-Aalen 和生存回歸分析。
  七、編輯器及其改善

sublime-snake:想在無盡的 coding 中喘口氣? 當然是這種經典遊戲了……
spyderlib:又一個用 Python 寫的開源 IDE。
vimfox:對於 Vim 黨最貼心的 web 專發工具,VimFox 能讓 vim 實時的看到 css/js/html 的修改效果,能神奇的讓 vim 中的修訂,立即在瀏覽器中看到。
pcode:基於 Py3 的 IDE,通過簡單的 UI 提供了重構、工程管理等。
  八、持續交付

metrology:這個庫很酷,支持你對應用進行多種測量並輕松輸出給類似 graphite 的外部系統。
python-lust:支持在 Unix 系統中用 Python 實現一個守護進程。
scales:Scales 對你的 Python 應用進行持續狀態和統計,並發送數據到 graphite。
glances:跨平臺,基於 curses 命令行的系統監視工具。
ramona:企業級的應用監管。 Ramona 保證每個進程在值,一但需要立即重啟,並有監控/日誌輸出,會發送郵件提醒。
salmon:基於 Salt Stack 的多服務監視系統,即能作報警系統,也能當監控系統。
graph-explorer:Graph-explorer 是對 Graphite 面板的增強,比原版的好很多,值得體驗。
sovereign:Sovereign 是一系列 ansible 的攻略手冊,能為自個兒建造個私人雲。
shipyard:能在指定的機器上彈出你的彈窗實例,也支持你創建/刪除等等對彈窗的遠程控制。
docker-py:瘋狂的 docker 工程接口的 Python 包裝。
dockerui:基於 docker 接口通過 web 界面進行交互操作的工具。
django-docker:如果想知道怎麽將 Djnago 應用同 Docker 結合? 可以從這裏學習。
diamond:Python 實現的守護進程,自動從你的服務或是其它指定數據源中提取數值,並 graphite、以及其它支持的狀態面板/收集系統輸出。
  九、Git

git-workflow:可視化你的 git 工作流程的工具,示例: Demo。
gitto:簡潔的庫,協助你建立自個兒的 git 主機。
git-imerge:git-imerge 能讓 git 進行增量合並。 本質上是允許你在進行 imerge 有沖突時,有機會先合並掉,再繼續。
  十、郵件與聊天

mailbox:Mailbox 是對 Python 的 IMAP 一個人性化的再造。 基於簡單即是美的態度,作者對 IMAP 接口給出了一個簡單又好理解的形式。
deadchat:deadchat 旨在不安全的網絡環境中提供安全的單一房間群聊服務以及客戶端。
Mailpile:Mailpile 是針對郵件的索引及搜索引擎 。
  十一、音頻和視頻

pms:窮人的 Spotify,搜索和收集音樂流!
dejavu:在琢磨 Shazam 的原理? 音頻指紋識別算法的 Python 實現在此!(譯註:Shazam:是個神奇的音樂識別應用,對她啍個幾秒調子,就能精確告訴你是什麽歌曲、作者、歌詞……)
HTPC-Manager:為 HTPC 粉絲準備的工具,提供了完備的界面來管理所有家庭媒體服務器上的好物。
cherrymusic:Python 實現的一個音樂流媒體服務器。 流化輸出你的音樂到所有設備上。
moviepy:腳本化的電影剪輯包,切/串/插入標題等基本操作,幾行就搞定!
  十二、其它

emit:用 redis 為你的函式追加可訂閱能力,很有趣。
zipline:Zipline 是種很 Pythonic 的交易算法庫。
raspberry.io:Raspberry.io 是樹莓派的社區實現。 剛剛發布,匯集了各種創意想法,有興趣的話立即檢出折騰吧。
NewsBlur:Google Reader 已經關張兒了,Newsblur 已經發布了有段日子了,開源的 RSS 閱讀器,這絕對是應該首先體驗的。
macropy:Macropy 是在 Python 中實現 macros 的庫。 檢出文檔,參考所有功能,看怎麽用上了。
mini:對編譯器以及語言設計有興趣的,一定要看看這個倉庫,以及配套的錄像!
parsimonious:Parsimonious 的目標是最快的 arbitrary-lookahead 解析器。 用 Python 實現,基本可用。
isso:Disqus 的開源替代,從 demo 看很不錯,而且提供了更好的隱私設置。
deaddrop:Deaddrop 能為新聞機構或是其它人提供在線投遞箱,詳細信息參考其 github page。
nude.py:裸體檢測的 Python 實現,是 node.js 的仿制。
kaptan: Kaptan 是你應用的配置管理器!
luigi:Luigi 幫你構建復雜的管道來完成批處理。
gramme:Gramme 以簡單而優雅的方式,通過 UDP 接口對易失數據完成消息包裝序列化。
q:為你的 Python 程序提供快速而隨性的日誌。 有一系列幫手來追蹤你的函式參數,並能在控制臺快速交互式加載。
fuqit:來自偉大的 Zed Shaw 最新作品,fuqit 試圖令你忘記 MVC 的經驗,用全新的方式專註簡潔一切。
simplicity:基於靠譜的 pydanny 將你的新結構化文本轉換為 JSON 格式。
lassie:Lassie 允許你輕松的從網站檢索出內容來。
paperwork:Paperwork 是個 OCR 文檔並完成可搜索轉化的工具,用 GTK/Glade 實現了友好的界面。
cheat:cheat 允許你創建並查閱命令行上的交互式備忘。設計目的是幫助 *nix 的系統管理員們在習慣的環境中,快速調閱不易記憶的常用命令。
cookiecutter:良心模塊! 提供一堆有用但是不常寫,所以記不下來的代碼模板,也支持自制代碼模板。
pydown:支持用 Python 構建亮麗的 HTML5 效果幻燈,Demo。
Ice:模擬器粉絲們現在能用 Ice 向 Steam 裏塞 ROM 來玩了。
pants:用以編寫異步網絡應用的輕量級框架。 Pants 是單線程,回調服務,也包含支持 Websockets 的 HTTP 服務、WSGI 支持和一個簡單的 web 框架。
pipeless:Pipeless 是一個構建簡單 數據管道的框架。
marshmallow:marshmallow 是個 ORM 無關的庫,能將復雜的數據類型轉換為 Python 原生類型對象,以便容易的轉換為 JSON 提供接口使用。
twosheds:Python 實現的庫,用來構造命令或是 shell 解釋器。Twosheds 讓你用 Python 來定制自個兒的 shell 環境。

Python:滲透測試開源項目