blog

Pythonセキュリティテストツール集

もしあなたが脆弱性調査やリバースエンジニアリング、侵入テストが好きなら、プログラミング言語としてPythonを強くお勧めします。Pythonには便利なライブラリやツールがたくさんあります。本記事では、...

Nov 13, 2015 · 12 min. read
シェア

もしあなたが脆弱性調査やリバースエンジニアリング、侵入テストが好きなら、プログラミング言語としてPythonを強くお勧めします。Pythonには様々な便利なライブラリやツールが含まれています。この記事では、その中からベストなものをリストアップします。

網目

Scapy:ネットワークパケットの送信、スニッフィング、分解、偽造。 対話的に、またはライブラリとして使用可能。

pypcapPcapypylibpcap: libpcap のいくつかの異なる Python バインディング

libdnet: インターフェース検索やイーサネットフレーム転送を含む低レベルネットワーキングルーチン

dpkt: 基本的なTCP/IPプロトコルの定義を含む、高速でシンプルなパケット作成/解析

Impacket:ネットワークパケットの作成とデコードを行います。 NMBやSMBなどの高レベルプロトコルをサポートしています。

pynids: スニッフィング、IP デフラグ、TCP ストリーム再組み立て、ポートスキャン検出を提供する libnids ラッパー

: libpcap なしで pcap ファイルを読み込みます。

flowgrep: 正規表現を使ってパケットのペイロードをgrepします。

Knock Subdomain Scan、ワードリストを通してターゲットドメインのサブドメインを列挙します。

Mallory、拡張可能なTCP/UDP中間者プロキシ、非標準プロトコルのオンザフライでの変更をサポート

Pytbull: 柔軟なIDS/IPSテストフレームワーク

デバッグとリバースエンジニアリング

Paimei: リバースエンジニアリングフレームワーク, PyDBG, PIDA, pGRAPHを含む

Immunity Debugger: スクリプト可能なGUIおよびコマンドラインデバッガ

mona.py: pvefindaddr を置き換え、改良した Immunity Debugger 用 PyCommand

IDAPython: Pythonプログラミング言語を統合し、IDA Proでスクリプトを実行できるようにするIDA Proプラグイン

PyEMU: 完全にスクリプト可能な IA-32 エミュレータ。

pefile: Portable Executable ファイルの読み込みと操作

pydasm: libdasm x86 逆アセンブルライブラリへの Python インターフェース

PyDbgEng: Microsoft Windows デバッグエンジンの Python ラッパー

uhooker:DLL内のAPI呼び出しや、メモリ上の実行ファイル内の任意のアドレスへの呼び出しを傍受します。

diStorm: AMD64用逆アセンブラライブラリ, BSDライセンスの下で利用可能

python-ptrace: Python で書かれた ptrace を使うデバッガ

vdb / vtrace: vtraceはpythonで実装されたクロスプラットフォームのプロセスデバッグAPIで、vdbはそれを利用したデバッガです。

Androguard: Androidアプリケーションのリバースエンジニアリングと解析

ファジング

Sulley: 複数の拡張可能なコンポーネントからなるファザー開発とファズテストのフレームワーク

Peach Fuzzing Platform: 生成および突然変異ベースのファジングのための拡張可能なファジングフレームワーク

antiparser: ファズ・テストとフォールト・インジェクション API

中間者非決定論的ネットワークファザーProxyFuzzを含むTAOF

untidy: 汎用 XML ファザー

Powerfuzzer:高度に自動化され、完全にカスタマイズ可能なウェブファザー

スマッジ

Mistress: あらかじめ定義されたパターンに基づき、ファイル・フォーマットや不正なデータを含むプロトコルをオンザフライでプローブします。

Fuzzbox: マルチコーデックメディアファザー

Forensic Fuzzing Tools:フォレンジックツールや検査システムの堅牢性をテストするために、ファジングされたファイル、ファジングされたファイルシステム、ファジングされたファイルを含むファイルシステムを生成します。フォレンジック・ツールおよび検査システムの堅牢性をテストするため

Windows IPC Fuzzing Tools:Windowsプロセス間通信メカニズムを使用するアプリケーションをファジングするためのツールです。

WSBang: SOAP ベースのウェブサービスの自動セキュリティテストを実行します。

Construct: データ構造の解析と構築のためのライブラリ . データ構造を宣言的に定義 .

fuzzer.py: シンプルなファザー by Felipe Andres Manzano

Fusil: ファジングプログラムを書くためのPythonライブラリ

ウェブ

Requests: エレガントでシンプルなHTTPライブラリ。

HTTPie: 人に優しいcURLライクなコマンドラインHTTPクライアント

ProxMon: プロキシログを処理し、発見された問題を報告します。

WSMap: ウェブサービスのエンドポイントとディスカバリファイルの検索

Twill:コマンドラインインターフェイスからウェブをブラウズします。 自動ウェブテストをサポートします。

: Python で書かれた webkit ウェブクライアント

Windmill: ウェブアプリケーションを自動化し、デバッグするために設計されたウェブテストツールです。

FunkLoad: 機能的で負荷の高いウェブテスター

spynner: Javascript/AJAXをサポートしたPython用プログラム的ウェブ閲覧モジュール

python-spidermonkey: Mozilla SpiderMonkey JavaScript エンジンへのブリッジ; Javascript スクリプトと関数の評価と呼び出しができます。

mitmproxy:SSL対応、HTTPプロキシを傍受します。 コンソールインターフェイスにより、トラフィックフローをオンザフライで検査および編集できます。

: HTTP クライアントとサーバを苦しめるデーモン/クライアント

法医学

Volatility:揮発性メモリサンプルからデジタルアーティファクトを抽出

LibForensics: デジタル・フォレンジック・アプリケーション開発用ライブラリ

バイナリ署名からファイルタイプを識別するTrIDLib

aft: Androidフォレンジックツールキット

悪意あるプログラムの分析

pyew: コマンドライン16進エディタと逆アセンブラ。

:電子メール、ウェブページまたはファイル内のファイル形式をフィルタリングします。 多くの一般的なファイル形式を検出し、アクティブなコンテンツを削除することができます。

pyClamAV: Pythonソフトウェアにウイルス検出機能を追加します。

jsunpack-n、汎用JavaScriptアンパッカー:ブラウザの機能をエミュレートし、ブラウザやブラウザプラグインの脆弱性を狙うエクスプロイトを検出します。

yara-python: マルウェアサンプルの識別と分類

phoneyc: Python による純粋なハニークライアントの実装

PDF

Didier Stevens' PDF tools:PDFファイルの分析、特定、作成

Opaf : Open PDF Analysis Framework PDF を XML ツ リ ーに変換 し て、 分析 ・ 変更す る こ と がで き ます。

Origapy: PDFファイルをサニタイズするOrigami RubyモジュールのPythonラッパー

pyPDF: 純粋なPython PDFツールキット: 情報の抽出、分割、結合、切り取り、暗号化、復号化...

PDFMiner: PDFファイルからテキストを抽出

python-poppler-qt4: Poppler PDF ライブラリの Python バインディング。

その他

InlineEgg: Python で小さなアセンブリプログラムを書くためのクラスのツールボックス

Exomind: ソーシャルネットワークサービス、検索エンジン、インスタントメッセージングを中心に、装飾されたグラフを構築し、オープンソースのインテリジェンスモジュールやアイデアを開発するためのフレームワークです。検索エンジンとインスタントメッセージ

RevHosts: 与えられた IP アドレスのバーチャルホストを列挙します。

simplejson: JSONエンコーダー/デコーダー。

PyMangle: 他の侵入テストツールで使用するための単語リストを作成するためのコマンドラインツールと python ライブラリ。

Hachoir: バイナリストリームのフィールドごとの表示と編集

py-mangle: コマンドラインツールと python ライブラリ。

その他の便利な Py ライブラリとツール

IPython: オブジェクトのイントロスペクション、システムシェルアクセス、独自の特別なコマンドシステムなど多くの機能を備えた拡張対話型 Python シェルです。

Beautiful Soup: スクリーンスクレイピングに最適化されたHTMLパーサー

matplotlib: 配列の 2D プロットを作成

Mayavi: 科学データの3D可視化とプロット

RTGraph3D: 3Dでダイナミックなグラフを作成

Twisted: イベント駆動型ネットワーキング・エンジン

Suds: ウェブサービスを消費するための軽量 SOAP クライアント

M2Crypto: 最も完全な OpenSSL ラッパー

: グラフライブラリ

Pandas: 高性能で使いやすいデータ構造とデータ分析ツールを提供するライブラリ

pyparsing: 一般的な構文解析モジュール

lxml: Python 言語で XML と HTML を扱うための、最も機能が豊富で使いやすいライブラリです。

Whoosh:純粋な Python で実装された、高速で機能豊富な全文インデックス作成・検索ライブラリ

Pexpect: 他のプログラムの制御と自動化。Don Libesの`Expect`システムに似ています。

Sikuli、スクリーンショットを使ってGUIを検索・自動化するビジュアル技術。 Jythonでスクリプト可能。

PyQt と PySide: Qt アプリケーションフレームワークと GUI ライブラリの Python バインディング

Read next

Mapの値をインクリメントする最も効率的な方法:キーを一度だけ検索する!

この問題は最初は基本的なことに思えるかもしれませんが、フォーラムでは頻繁に議論されています。この投稿では、Map内で一度だけキーを検索する方法について説明します。

Nov 13, 2015 · 4 min read