Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
fuzzowski — 私たちが使用したいNetwork Protocol Fuzzer | Kitploit
ツール/GitHubGitHub/nccgroup/fuzzowski
脆弱性分析ファジングネットワークセキュリティペネトレーションテスト
GitHubnccgroup/fuzzowski

fuzzowski

私たちが使用したいNetwork Protocol Fuzzer

リポジトリを見る
7931144年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Fuzzowski

root@kitploit:~
       █      █       
       ████████       
      ██████████      
     ██  ████  ██     
     ██  ████  ██     
    ████      ████    
   █ ████████████ █   
   █  ██████████  █   Fuzzowski Network Fuzzer
   █    █     █   █           🄯  Fuzzers, inc.
       ██     ██                by Mario Rivas

Travis

このアイデアは、私たちが使いたいと思うネットワークプロトコルファザーになることです。

このツールの目的は、ネットワークプロトコルのファジングプロセス全体を支援し、通信の定義を可能にし、サービスクラッシュの「容疑者」の特定を支援すること、そしてさらに多くのことを行うことです。

最新の変更点

[2019年12月16日]

  • データ生成モジュール(プリミティブ、ブロック、リクエスト)を完全に書き直しました
    • 文字列ファジングライブラリを改善し、カスタムリスト、ファイル、コールバックコマンドも使用可能に
    • 変数データ型:セッション、ユーザー、または応答によって設定された変数を利用
  • セッションを完全に書き直しました。現在はテストケースベースで、リクエストの実行、応答の確認、受信エラーなどのデータ保存に必要な情報をすべて含みます
  • 応答を追加しました。s_response()で応答を定義できるようになり、サーバーからの応答をチェックしたり、変数を設定したり、応答に対して追加テストを実行して問題を検出できます
  • モニターは、障害が発生したテストケースを自動的に容疑者としてマークするようになりました
  • **IPP(インターネット印刷プロトコル)**ファザーを追加しました。これは、プリンター研究プロジェクト中にさまざまなブランドのプリンターで複数の脆弱性を発見するために使用したものです(https://www.youtube.com/watch?v=3X-ZnlyGuWc&t=7s)

機能

  • データ生成はSulleyファザーに基づく(https://github.com/OpenRCE/sulley)
  • 実際にはBooFuzz(Sulleyのフォーク)からフォーク(https://github.com/jtpereyda/boofuzz)
  • Python3対応
  • ランダムではない(有限の可能性)
  • タイプを使用したパケット作成が必要(スパイクファザースタイル)
  • パラメータから「Raw」パケットを作成することも可能(注入ポイント付き。単純なプロトコルのファジングに非常に便利)
  • 優れたコンソール(prompt_toolkit)で一時停止、レビュー、容疑者の再テストが可能
  • エラーを引き起こすパラメータを自動またはコンソールでスキップ可能
  • 容疑パケットの見やすい印刷フォーマット(何がファズされたかを正確に把握)
  • テストケースをクラッシュとしてマークすると、PoCをPythonスクリプトとして保存
  • ターゲットから情報を収集し、異常な動作を検出して容疑者をマークするモニターモジュール
  • 接続が失われた場合にターゲットを再起動するリスタートモジュール(例:スマートプラグの電源オフ/オン)

実装済みプロトコル

  • LPD(ラインプリンタデーモン):完全実装
  • IPP(インターネット印刷プロトコル):部分実装
  • BACnet(ビルディングオートメーション制御ネットワークプロトコル):部分実装
  • Modbus(ICS通信プロトコル):部分実装

インストール

root@kitploit:~
virtualenv venv -p python3
source venv/bin/activate
pip install -r requirements.txt

ヘルプ

root@kitploit:~
usage: python -m fuzzowski [-h] [-p {tcp,udp,ssl}] [-b BIND] [-st SEND_TIMEOUT]
                    [-rt RECV_TIMEOUT] [--sleep-time SLEEP_TIME] [-nc] [-tn]
                    [-nr] [-nrf] [-cr]
                    [--threshold-request CRASH_THRESHOLD_REQUEST]
                    [--threshold-element CRASH_THRESHOLD_ELEMENT]
                    [--ignore-aborted] [--ignore-reset] [--error-fuzz-issues]
                    [-c CALLBACK | --file FILENAME] -f
                    {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}
                    [-r FUZZ_REQUESTS [FUZZ_REQUESTS ...]]
                    [--restart module_name [args ...]]
                    [--restart-sleep RESTART_SLEEP_TIME]
                    [--monitors {IPPMon} [{IPPMon} ...]] [--path PATH]
                    [--document_url DOCUMENT_URL]
                    host port

       █      █       
       ████████       
      ██████████      
     ██  ████  ██     
     ██  ████  ██     
    ████      ████    
   █ ████████████ █   
   █  ██████████  █   Fuzzowski Network Fuzzer
   █    █     █   █           🄯  Fuzzers, inc.
       ██     ██       

positional arguments:
  host                  宛先ホスト
  port                  宛先ポート

optional arguments:
  -h, --help            このヘルプメッセージを表示して終了

Connection Options:
  -p {tcp,udp,ssl}, --protocol {tcp,udp,ssl}
                        プロトコル(デフォルト tcp)
  -b BIND, --bind BIND  バインドするポート
  -st SEND_TIMEOUT, --send_timeout SEND_TIMEOUT
                        send() タイムアウトを設定(デフォルト 5秒)
  -rt RECV_TIMEOUT, --recv_timeout RECV_TIMEOUT
                        recv() タイムアウトを設定(デフォルト 5秒)
  --sleep-time SLEEP_TIME
                        各テスト間のスリープ時間(デフォルト 0)
  -nc, --new-conns      同じテストの各パケットの後に新しい接続を開く
  -tn, --transmit-next-node
                        ファズされたノードのグラフ内の次のノードを送信

RECV() Options:
  -nr, --no-recv        各送信後にソケットでrecv()を行わない
  -nrf, --no-recv-fuzz  ファズリクエスト送信後にソケットでrecv()を行わない
  -cr, --check-recv     recv()でデータが受信されたか確認

Crashes Options:
  --threshold-request CRASH_THRESHOLD_REQUEST
                        リクエスト内で許可されるクラッシュ数を設定(スキップする前に)(デフォルト 9999)
  --threshold-element CRASH_THRESHOLD_ELEMENT
                        プリミティブ内で許可されるクラッシュ数を設定(スキップする前に)(デフォルト 3)
  --ignore-aborted      ECONNABORTEDエラーを無視
  --ignore-reset        ECONNRESETエラーを無視
  --error-fuzz-issues   ファズノードで接続問題がある場合にエラーとしてログ

Fuzz Options:
  -c CALLBACK, --callback CALLBACK
                        コールバックアドレスを設定(通常の変異の代わりにコールバックジェネレータでファズ)
  --file FILENAME       ファズ変異にファイルの内容を使用

Fuzzers:
  -f {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}, --fuzz {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}
                        利用可能なプロトコル
  -r FUZZ_REQUESTS [FUZZ_REQUESTS ...], --requests FUZZ_REQUESTS [FUZZ_REQUESTS ...]
                        ファズするプロトコルのリクエスト、デフォルトはすべて
                          dhcp: [opt82]
                          ipp: [http_headers, get_printer_attribs, print_uri_message, send_uri, get_jobs, get_job_attribs]
                          lpd: [long_queue, short_queue, ctrl_file, data_file, remove_job]
                          telnet_cli: [commands]
                          tftp: [read]
                          raw: ['\x01string\n' '\x02request2\x00' ...]

Restart options:
  --restart module_name [args ...]
                        リスタートモジュール:
                          run: '<実行ファイル> [<引数> ...]'(コマンドと引数を引用符で囲んで1つの引数として渡す)
                          smartplug: スマートプラグをオフにしてオンにする
                          teckin: <PLUG_IP>
  --restart-sleep RESTART_SLEEP_TIME
                        クラッシュ後に続行するまでのスリープ秒数を設定(デフォルト 5)

Monitor options:
  --monitors {IPPMon} [{IPPMon} ...], -m {IPPMon} [{IPPMon} ...]
                        モニターモジュール:
                          IPPMon: ターゲットにget-attributes IPPメッセージを送信

Other Options:
  --path PATH           HTTPベースのプロトコルをファズするときのパスを設定(デフォルト /)
  --document_url DOCUMENT_URL
                        print_uriのドキュメントURLを設定

例

get_printer_attribs IPP操作をデフォルトオプションでファズ:

python -m fuzzowski printer1 631 -f ipp -r get_printer_attribs --restart smartplug

asciicast

IPPのraw機能を使ってfingerプロトコルをファズ:

python -m fuzzowski printer 79 -f raw -r '{{root}}\n'

asciicast

IPPのraw機能を使ってfingerプロトコルをファズ。ただし、事前定義された変異の代わりにファイルを使用:

python -m fuzzowski printer 79 -f raw -r '{{root}}\n' --file 'path/to/my/fuzzlist'

ステートフルファザーの例:s_responseとs_variableを使用して、リクエストのファズに必要なトークンを取得する方法を示します。この例はmock http server test caseに基づいています。

asciicast

ツールをダウンロード