-y
オプションで記号を無効にする
このステップでは、Hydra の -y
オプションを使って、ファイルからパスワードを読み取る際に記号の使用を無効にする方法を学びます。これは、ターゲットシステムがパスワード内の特殊文字を扱う際に問題を引き起こす可能性があると思われる場合、またはブルートフォース攻撃の試行から記号を明示的に除外したい場合に役立ちます。
-y
オプションは、Hydra にパスワードリストファイル内に存在する記号を無視するよう指示します。このオプションは -x
オプションでのパスワード生成には影響せず、ファイルからパスワードを読み取る場合にのみ適用されます。
まず、記号を含むいくつかのパスワードを含むパスワードリストファイルを作成しましょう。~/project
ディレクトリに移動します。
cd ~/project
次に、nano
を使って passwords.txt
という名前のファイルを作成します。
nano passwords.txt
以下のパスワードをファイルに追加します。
password123
P@sswOrd
secret!
12345
qwerty
ファイルを保存し、nano
を終了します(Ctrl+X を押し、次に Y を押し、最後に Enter を押します)。
では、このパスワードリストを使って、-y
オプションを 使用せずに Hydra でダミー FTP サーバーを攻撃しましょう(前のステップでサーバーを起動したままであると仮定します)。
hydra -l testuser -P passwords.txt -vV 127.0.0.1 ftp
Hydra は、passwords.txt
ファイル内の各パスワード(記号を含むものも含む)を使ってログインを試行します。
では、-y
オプションを使って記号を無効にしましょう。
hydra -l testuser -P passwords.txt -y -vV 127.0.0.1 ftp
-y
オプションを使用すると、Hydra は "P@sswOrd" のようなパスワードを "PsswOrd" として、"secret!" を "secret" として扱います。ログインを試行する前に記号を削除します。
重要な注意: -y
オプションは、パスワードがターゲットサービスに送信される 前 にパスワードを変更します。つまり、実際のパスワードに記号が 必要 な場合、-y
を使用するとそのパスワードを見つけることができません。
これをさらに説明するために、正しいパスワードが "secret!" であるシナリオを考えてみましょう。-y
を使用すると、Hydra は "secret" を試行し、失敗します。
-y
を使用する場合:
- ターゲットシステムがパスワード内の記号に問題があると思われる場合。
- ブルートフォース攻撃の試行から記号を明示的に除外したい場合(たとえば、パスワードポリシーで記号が許可されていないことがわかっている場合)。
- 接続問題をトラブルシューティングしており、記号が原因であると思われる場合。
このステップでは、Hydra の -y
オプションを使ってファイルからパスワードを読み取る際に記号を無効にする方法を示しました。ブルートフォース攻撃の試行に対する潜在的な影響を考慮することを忘れないでください。記号を含むパスワードを見つけることができなくなる可能性があります。