ネットワークレベルのパケットファジングを実行するためのプログラマフレンドリーな(つまり拡張可能な)フレームワークまたはシステムを推奨できる人はいますか?
私は、追加のパケット形式でプログラムし、プロトコルに依存する方法でそれらのパケットを分割するさまざまな方法をプログラムできるようなシステムを探しています。
私はグーグルする方法を知っています。私は具体的な推奨事項を探しています:)
ありがとう!
ネットワークレベルのパケットファジングを実行するためのプログラマフレンドリーな(つまり拡張可能な)フレームワークまたはシステムを推奨できる人はいますか?
私は、追加のパケット形式でプログラムし、プロトコルに依存する方法でそれらのパケットを分割するさまざまな方法をプログラムできるようなシステムを探しています。
私はグーグルする方法を知っています。私は具体的な推奨事項を探しています:)
ありがとう!
Scapyは本当にプログラマーフレンドリーに見えます。Pythonで書かれています。
コマンド インタープリターとして Python コマンド インタープリターを使用します。非常に優れたドキュメントがあります。使いやすく、理解しやすいようです。
API は適切に見えます。「pythonic」スタイルで書かれています。非常に完成度が高く、活発な開発が行われています。
Sulley ファジング フレームワークをお勧めします。これは Python フレームワークであり、その仕事が得意です。
レイヤー 2 プロトコルのファジングが必要な場合は、ernw.de の人々によるすばらしい成果をチェックしてください。
http://www.ernw.de/download/l2sulley_04-15-08.tar.bz2
http://www.ernw.de/download/l2_fuzzing_shmoo08.pdf
ファジングに特に関心のあるプロトコルは何ですか?
更新: DNS をターゲットにしているため、PROTOS テスト スイート、特にDNS モジュールを確認する必要があります。ただし、これはクローズド ソースの Java パッケージであるため、フレームワークのように使用することはできませんが、PROTOS が完全でない場合は、特定のニーズに合わせて Sulley モジュールをいつでも作成できます。
Preenyと組み合わせたAmerican Fuzzy Lopに興味があるかもしれません。これは非常に使いやすく、遺伝的アルゴリズムを採用するファザーです。この場合、入力ビットのどの変更が新しいコード パスにつながるかを検出し、それらにもっと注意を払うことを意味します。
私はただグーグルで検索しました。私はこれらのいずれも使用したことがありません。
提案された回答はどれも私のニーズを満たしていないので、代わりに独自のファジングDNSサーバーを作成しました。
Perl に興味があるなら、fuzzled がフレームワークとして本当に優れていることは知っています: http://www.securiteam.com/tools/5FP0Q1PKUS.html
JborFuzz や他のほとんどのファザーは、フレームワークとして設計されておらず、ネットワーク レベル向けではないため、これを行いません。