ログイン突破の相棒「Hydra」の使い方と可能性 ― SSHやFTPで試すブルートフォース入門
こんにちは、オレンジ君です!
今回はパスワードクラッキングツール「Hydra」についてまとめてみようと思います。
最近TryHackMeやCTFの演習をやっている中で、ログイン認証を突破する問題によく出くわすんですが、そこで活躍するのがこの hydra コマンド。
正直、最初は「なんかブルートフォースできるらしい?」くらいの理解で使っていましたが、「実際どんなことができるの?」「どんなオプションがあるの?」と疑問もたくさん出てきました。
そこで今回は、自分が実際に試した内容をもとに、Hydraの基本的な使い方や、SSH・FTPなどでの具体例を交えながら紹介していきたいと思います👍
「Hydraって聞いたことあるけど、よくわかってないかも…」という方や、CTF・実務で認証突破の仕組みを理解したい方の参考になれば嬉しいです!
※以降で使用される画像は全て投稿主によって撮影されたものになります。
hydraとは
hydra
は、ログイン画面などで使われるユーザー名とパスワードを自動で総当たりして試すことができるコマンドラインツールです。
正式名称は "THC-Hydra"。「このアカウント、どのパスワードだったら入れるかな?」というのを、事前に用意したパスワードリストを使って高速に試していくツールです。
簡単に言えば、
「パスワードがわからない。でも候補がいっぱいあるから、全部自動で試して見つけてくれないかな?」
というときに活躍してくれます。
なぜCTFやTryHackMeで使われるのか?
CTFやTryHackMeの問題では、「このサーバーのSSHログインを突破せよ!」とか「FTPに入ってフラグを探せ!」といった問題がよく出てきます。でも、ログイン情報(ユーザー名とパスワード)は与えられていないことが多いです。
そんなときにHydraを使えば、
- ユーザー名が分かっていて、
- パスワードが分からない
という状況で、パスワードの候補を一つずつ自動で試してくれるんです。
たとえば
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://10.10.10.10
とすれば、「admin」というユーザーで、rockyou.txtの中のすべてのパスワード候補をSSHログインで試してくれます!
実際にやってみた
TryHackMeのNet Sec Challengeというルームで使ったことがあったのでそれを例にやっていきます。https://tryhackme.com/room/vulnversity
今回のルームではeddieというユーザがFTPで存在することを確認できているという前提です。そのeddieユーザに対してブルートフォースを行うコマンドは以下になります
hydra -l eddie -P /usr/share/wordlists/rockyou.txt -f -s 10021 ftp://10.10.5.125
見事eddieユーザのパスワードjordanを取得することに成功しました!
盗んだユーザ名とパスワードでFTPのログインにも成功しました👍
hydraでブルートフォースできるサービス
TryHackMeで自分が実際に攻撃対象としたのは、主にSSHとFTPでしたが、Hydraはこれ以外にもSMTP、RDP、VNCなどさまざまなプロトコルに対応しています。
さらに、http-get
やhttp-post-form
を使えば、Webフォームへのログイン試行も可能です。
これまでWebフォームのブルートフォースはBurp Suiteに頼ることが多かったのですが、Hydraでも対応できると知って選択肢が広がりました。
時間があるときに、ぜひこちらも試してみたいと思います!
オプション
最後にhydraコマンドのオプションの紹介です
- l
- 単一ユーザに対して実行
- L
- ユーザリストに対して実行
- p
-パスワードのリストファイル - V
- すべての試行に対して詳細の出力
- w10
- 試行と試行の間に10秒の待機時間を入れる
最後に
ここまで読んでいただき、ありがとうございました!
Hydraは、CTFやTryHackMeで「ログイン突破系」の問題に挑戦する際に非常に頼もしいツールです。
また、SSHやFTPだけでなく、HTTPフォームやメール認証などにも対応しているため、使いこなすことで攻撃の幅も広がります。
それにしても、「Hydra(ヒドラ)」って名前めっちゃかっこいいですよね!!
ギリシャ神話の“首を切っても再生する怪物”から名付けられているようですが、次々とパスワードを試して突破を狙うこのツールにピッタリの名前ですよね、、
今回の記事を通じて、「Hydraって名前は知ってるけど、何ができるの?」という方が、“実際に使える” 状態に一歩近づけていたら嬉しいです!
今後は、HTTPログインフォームへの攻撃や、Burp Suiteとの使い分け、さらに検知されない工夫なども含めて記事を書いていければなと思っています。
ぜひ一緒に、実務にもつながるセキュリティ学習を深めていきましょう!🙆
Discussion