0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SSH ブルートフォース攻撃入門(Hydra 編)

0
Posted at

はじめに

SSH は Linux サーバやクラウド環境の管理に欠かせないリモート接続手段です。しかし、インターネットに公開された SSH サーバは、弱い認証設定のままだとブルートフォース攻撃の標的になりやすいのが現実です。

本記事では、有名なパスワード攻撃ツール Hydra を使って SSH に対するブルートフォース攻撃の仕組みを解説し、あわせて防御のポイントも整理します。


1. SSH ブルートフォース攻撃とは?

SSH のブルートフォース攻撃とは、

  • 多数のユーザー名とパスワードの組み合わせを
  • 自動化ツールで
  • 片っ端からログイン試行する攻撃

のことです。

もし「ユーザー名が推測できる」「パスワードが弱い」場合、攻撃は短時間で成功 してしまう可能性があります。
だからこそ、攻撃手法を理解することは、防御設計の第一歩になります。


2. Hydra とは?

Hydra は、ログイン認証に対する攻撃を自動化するための有名なツールで、以下の特徴があります。

  • SSH / FTP / HTTP / SMB / RDP / SMTP など多数のプロトコルに対応
  • ユーザー名リスト × パスワードリストの総当たりが可能
  • 並列実行により高速に試行できる
  • ペネトレーションテストや演習環境で広く利用されている

一言で言うと、「ログイン系ブルートフォースの定番ツール」 です。


3. SSH に対する Hydra の基本コマンド

SSH に対してブルートフォースを行う基本構文は次のとおりです。

hydra -L users.lst -P /path/to/wordlist.txt ssh://10.10.x.x -v

各オプションの意味は以下のとおりです。

  • -L users.lst
    → ユーザー名のリストファイル(複数ユーザーを試す)
  • -P /path/to/wordlist.txt
    → パスワードのワードリスト
  • ssh://10.10.x.x
    → 攻撃対象のプロトコルと IP アドレス(SSH, 通常は 22 番ポート)
  • -v
    → 詳細ログ(Verbose)表示

つまりこのコマンドは、

「users.lst にあるユーザー名と、wordlist.txt にあるパスワードを組み合わせて、10.10.x.x の SSH に順番にログインを試す」

という意味になります。


4. 実行時のログの読み方

Hydra を実行すると、次のような警告が出ることがあります。

[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4

これは、

SSH は同時接続数を制限していることが多いので、-t 4 などでスレッド数を減らしたほうが安定する

という意味です。
SSH は DoS 対策のため、並列接続に厳しい設定になっていることが多く、スレッド数を下げないと接続拒否されやすい点に注意が必要です。

攻撃が成功すると、次のような行が表示されます。

[22][ssh] host: 10.10.x.x   login: victim   password: xxxxxxxx

これは、

  • ホスト: 10.10.x.x
  • ユーザー名: victim
  • パスワード: xxxxxxxx

の組み合わせで ログインに成功した ことを意味します。


5. なぜ「ワードリストの質」が重要なのか?

ブルートフォース攻撃の成功率は、ワードリストの質に大きく依存します。

例えば:

  • よくある弱いパスワード(password, 123456, admin123 など)
  • サービス名+数字(company2024 など)
  • 季節+年(Spring2025! など)
  • CeWL や CUPP で生成したターゲット特化リスト

こうした「人間が付けがちなパスワード」を含むリストほど、現実の環境では成功率が高くなります

裏を返せば、防御側は「推測されやすいパスワードを使わない」ことが極めて重要だということです。


6. 防御の観点

SSH サーバを守るために、最低限以下の対策は必ず行うべきです。

  • パスワード認証を無効化し、公開鍵認証のみにする
  • fail2ban などでブルートフォースを自動遮断する
  • root ログインを禁止する
  • SSH のポート変更(本質対策ではないがノイズ削減には有効)
  • 強力で推測不能なパスワードやフレーズを使う(パスワード認証を使う場合)

特に重要なのは:

パスワード認証を無効化して、鍵認証のみを使うこと

これだけで、Hydra などによるパスワード総当たり攻撃はほぼ無力化できます。


まとめ

  • Hydra は SSH を含む多くのサービスに対してブルートフォース可能な強力ツール
  • 攻撃の成否は「ワードリストの質」に大きく依存する
  • 実運用の SSH サーバでは:
    • パスワード認証の無効化
    • 公開鍵認証の使用
    • ブルートフォース対策の導入
      を必ず行うべきである

攻撃手法を知ると、「これは通ったら危ないな」と実感できます。
でも同時に、「じゃあ、ここを塞げばいい」という防御ポイントもクリアになります。
セキュリティは結局、攻撃者の視点を知ることで強くなる世界なんですよね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?