はじめに
Burp Suiteシリーズのこの第3部では、Burp Suiteを使用してプロキシされたトラフィックを実際に収集し、その起動と実際のブルートフォース攻撃を使用する方法を学習します。これは、Hydraを使用したWordPressログインのテストに関するガイドとある程度並行して実行されます。ただし、この場合は、BurpSuiteを使用してWordPressに関する情報を収集します。
このガイドの目的は、BurpSuiteのプロキシによって収集された情報を使用して侵入テストを実施する方法を説明することです。 しないでください 所有していないマシンまたはネットワークでこれを使用してください。
このガイドでは、Hydraもインストールする必要があります。 Hydraの使用方法については詳しく説明しません。そのために、HydraSSHガイドを確認してください。 Kali LinuxにはすでにデフォルトでHydraがインストールされているため、Kaliを使用している場合でも心配はいりません。それ以外の場合、Hydraはディストリビューションのリポジトリにあるはずです。
ログインの失敗
開始する前に、Burpが引き続きローカルのWordPressサイトにトラフィックをプロキシしていることを確認してください。さらにトラフィックをキャプチャする必要があります。今回は、ログインプロセスに焦点を当てます。 Burpは、ユーザーのログイン情報の強度をテストするために、WordPressインストールに対してブルートフォース攻撃を開始できるようにするために必要なすべての情報を収集します。
http://localhost/wp-login.php
に移動します 。その要求と生成された応答を見てください。まだそこにエキサイティングなことは何もないはずです。リクエストでログインページのHTMLをはっきりと見ることができます。 form
を見つけます タグ。 name
をメモします そのフォームの入力フィールドのオプション。また、そのフォームと一緒に送信する必要があるCookieにも注意してください。
<中央>
本当に役立つ情報を収集するときが来ました。ログインが失敗して送信する原因となることがわかっているログインとパスワードを入力します。リクエストとともに送信されたパラメータを確認してください。ページソースに表示された入力フィールドの名前と一緒に、送信したログイン情報を明確に確認できます。また、送信ボタンの名前と、フォームと一緒に送信されるCookieを確認することもできます。
ログインの成功
Burp Suiteにログインして失敗したログインに関する情報を使用して、成功したログインがどのように表示されるかを確認できます。リクエストがどのようになるかはおそらく推測できますが、応答はやや意外なものになります。先に進み、正しいログイン情報をフォームに送信してください。
送信が成功すると、いくつかの新しいリクエストが生成されるため、失敗したリクエストを見つけるために振り返る必要があります。必要なリクエストはその直後にある必要があります。あなたがそれを持ったら。そのパラメータを見てください。見た目は非常に似ていますが、正しいクレデンシャルが入力されているはずです。
<中央>
次に、サーバーからの応答を見てみましょう。そこにはHTMLはありません。サーバーは、フォームの送信が成功するとリダイレクトします。ヘッダーは、ログインが成功するかどうかをテストするための最良の情報源として機能します。そこにある情報に注意してください。戻って、失敗したログインを確認してください。ログインの失敗ではなく、成功したもののためにそこにあったものに気づきましたか? Location
ヘッダーはかなり良い指標です。 WordPressは失敗したリクエストに対してリダイレクトしません。その後、リダイレクトはテスト条件として機能します。
<中央>
情報の使用
Hydraを使用してWordPressパスワードの強度をテストする準備が整いました。 Hydraを起動する前に、ユーザー名とパスワードをテストするためのHydraのワードリストが1つか2つあることを確認してください。
以下は、パスワードをテストするために使用できるコマンドです。最初にそれを見てください、そして内訳はそれの後にあります。
$ hydra -L lists/usrname.txt -P lists/pass.txt localhost -V http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'
-L
および-P
フラグは両方とも、Hydraがテストするユーザー名とパスワードのワードリストを指定します。 -V
すべてのテストの結果をコンソールに出力するように指示するだけです。明らかに、localhost
ターゲットです。次に、Hydraはhttp-form-post
をロードする必要があります POSTリクエストを使用してフォームをテストするためのモジュール。それはフォーム送信リクエストにも含まれていたことを忘れないでください。
最後の部分は、Hydraにフォームに何を渡すかを指示する長い文字列です。文字列の各セクションは、:
で区切られます。 。 /wp-login.php
Hydraがテストするページです。 log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1
Hydraが相互作用するフィールドのコレクションであり、&
で区切られています 。この文字列は、paramsのフィールド名を使用していることに注意してください。 ^USER^
および^PASS^
Hydraがワードリストから入力する変数です。最後のピースはテスト条件です。ログインが成功したかどうかを確認するために受信した応答で「場所」という単語を探すようにHydraに指示します。
うまくいけば、Hydraがテストを完了したときに、正常なログインが表示されないことを願っています。それ以外の場合は、パスワードを再考する必要があります。
まとめ
これで、ローカルでホストされているWordPressインストールの実際のテストを実行するための情報収集ツールとしてBurpSuiteを正常に使用できました。 BurpSuiteプロキシを介して収集されたリクエストとレスポンスから貴重な情報を抽出することがいかに簡単であるかがはっきりとわかります。
シリーズの次の最後のガイドでは、BurpSuiteで利用できる他の多くのツールについて説明します。それらはすべてプロキシを中心に展開しているため、すでに強固な基盤があります。これらのツールを使用すると、一部のタスクが簡単になる場合があります。