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

pypcapPcapy 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 PDFiDpdf-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
  • cricketBeeWare 套件的一部分,cricket 是種圖形化工具,協助你進行案例測試。
  • bugjarBeeWare 套件的一部分,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 環境。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章