このステップでは、以前に設定した IPv6 アドレス上で動作する SSH サービスに対して、Hydra を使用してブルートフォース攻撃を実行します。Hydra は、SSH を含むさまざまなプロトコルをサポートする強力なパスワードクラッキングツールです。
-
SSH サービスの起動:
まず、システム上で SSH サービスが実行されていることを確認する必要があります。以下のコマンドを実行して SSH サービスを起動します。
sudo systemctl start ssh
SSH サービスが実行されていることを確認するには、そのステータスをチェックします。
sudo systemctl status ssh
出力は、サービスがアクティブで実行中であることを示すはずです。
-
SSH を IPv6 でリスニングするように設定:
デフォルトでは、SSH は IPv4 アドレスでのみリスニングする場合があります。IPv6 でもリスニングするように設定する必要があります。まず、現在 SSH がリスニングしているアドレスを確認します。
ss -tlnp | grep :22
出力は LISTEN 0 128 0.0.0.0:22 0.0.0.0:* のようなものになり、SSH は IPv4 でのみリスニングしていることを示します。
次に、SSH 設定ファイル (sshd_config) を編集して IPv6 リスニングを有効にします。
sudo nano /etc/ssh/sshd_config
#AddressFamily any または AddressFamily inet を含む行を探し、次のように変更します。
AddressFamily any
行が存在しない場合は、追加します。これにより、SSH は IPv4 と IPv6 の両方のアドレスでリスニングするように指示されます。
Ctrl + X、Y、Enter キーを押してファイルを保存します。
変更を適用するために SSH サービスを再起動します。
sudo systemctl restart ssh
SSH が現在 IPv4 (0.0.0.0:22) と IPv6 ([::]:22) の両方でリスニングしていることを確認します。
ss -tlnp | grep :22
-
パスワードリストの作成:
LabEx VM のターミナルを開きます。現在 ~/project ディレクトリにあります。nano エディタを使用して、このディレクトリに passwords.txt という名前のファイルを作成します。
nano passwords.txt
ファイルに、各行に 1 つのパスワードを追加します。
password
123456
qwerty
admin
labex
Ctrl + X、Y、Enter キーを押してファイルを保存します。
-
Hydra を使用して IPv6 SSH サービスを攻撃:
次に、Hydra を使用して SSH サービスを攻撃します。IPv6 アドレスをターゲットにすることを指定するために -6 オプションを使用します。攻撃するユーザー名 (例:labex)、作成したパスワードリスト (passwords.txt)、SSH サーバーの IPv6 アドレス (2001:db8:1::1) を指定します。
以下のコマンドを実行します。
hydra -6 -l labex -P passwords.txt ssh://[2001:db8:1::1]
このコマンドを分解します。
hydra: Hydra ツールを実行するコマンド。
-6: Hydra が IPv6 を使用する必要があることを指定します。
-l labex: 攻撃するユーザー名を指定します。この場合は、labex ユーザーを攻撃します。
-P passwords.txt: 使用するパスワードリストを指定します。この場合は、現在の ~/project ディレクトリに作成した passwords.txt ファイルを使用します。
ssh://[2001:db8:1::1]: ターゲットの SSH サービスを指定します。ssh:// プレフィックスは SSH サービスを攻撃することを示し、[2001:db8:1::1] はサーバーの IPv6 アドレスです(Hydra で IPv6 アドレスを使用する場合、角括弧が必要です)。
Hydra は、passwords.txt ファイルのパスワードを SSH サービスに対して試すようになります。Hydra が有効なパスワードを見つけると、資格情報が表示されます。パスワードが見つからない場合は、出力は次のようになります。
//省略
パスワードが見つからない場合は、passwords.txt ファイルにさらに一般的なパスワードを追加してみてください。また、各試行を表示する詳細な出力を確認するために -V オプションを使用することもできます。
hydra -6 -V -l labex -P passwords.txt ssh://[2001:db8:1::1]
Hydra がパスワードを見つけた場合、出力は次のようになります。
//省略
この出力は、Hydra が labex ユーザーのパスワードをクラッキングしたことを示します。
重要な注意事項: 許可なくシステムに対してパスワードのブルートフォース攻撃を行うことは違法かつ不適切です。この実験は教育目的でのみ使用し、テストするシステムを所有しているか、明示的なテスト許可がある場合にのみこれらのテクニックを使用してください。