web-dev-qa-db-ja.com

プロトコルファジングの結果を確認する方法

今日、プロトコルのファジングに関するクラスがありました。これにより、私の教授はファジングを詳細に説明しましたが、実際にファジングプロセスを測定する方法を説明するのを怠っていました。

では、実際にこれをどのように行いますか?不正なパケットを示す単純なWiresharkキャプチャは、ファジングの試みが成功した結果でしょうか?私はサリーを見て、それを両方のマシン(攻撃者/犠牲者)にインストールする必要がありますが、攻撃者であり、ファジングセッションの結果とそれがどれだけ成功したかを確認したい場合は、どのオプションを使用できますか(つまり、クラッシュが発生した場所)?

5
Papantonia

あなたがファジングのクラスを持つことはうらやましいです。
理想的には、被害者のソフトウェアの独自のインストールをセットアップし、被害者にツールをインストールして監視することができます。制御していないサービスをファジングする場合、サラストロは「サーバーが応答を停止したときに行を印刷する」と言っているように、選択肢はバリエーションに限定されます。

Sulleyのようなファジングフレームワークには、ターゲットを定義して計測し、その状態をより適切に監視する方法があります。したがって、質問の答えは対象によって異なります。

本当に簡単な例:あなたはリモートホストでのftpログインシーケンスをファジングしています。 USERとPASSへの応答を除いて、サーバーからの反応が予期されないこと、サーバーがx秒以内に応答すること、定義されていないユーザー名と検索されたユーザー名の方が長くかかることを定義できます。次に、ファザーを引き裂いて、予期しない応答やタイムアウトが発生するかどうかを確認します。あなたのフレームワークはこれらの予期しない結果を記録し、それがあなたの答えになります。

(このシナリオは sulley-fuzzing および sulley-101 から変更)

1
mcgyver5

ブラックボックスまたはホワイトボックスをファジングする場合に応じて、単純なファザーからコードを読み取ると、その方法を簡単に見つけることができます IMAP Fuzzer Metasploit metasploit-unleashed この例は、サーバーが応答を停止したときに行を出力し、そのインスタンスによって使用されるバッファー長、「ログ」および「犠牲者」マシン上のデバッガー(ImmunityDebuggerなど)は、クラッシュを再現するのに十分です

ブラックボックスの場合は、「ブラインド」ファジングを試す前に、「被害者」のシナリオを再現しようとするラボをセットアップする必要があります。ファジングによってシステムがクラッシュまたは損傷することに注意してください。被害者のシステムを再現できない場合は、送信されたバッファにログを設定し、wiresharkで問題ないと思いますが、プロトコルのタイムアウトやその他のネットワークの考慮事項を監視する必要があります。詳細については、試してみてください 15分でファジング

1
Sarastro