web-dev-qa-db-ja.com

ハイドラはパスワードを見つけたと言いましたが、表示しません

私は自分のサーバーで実行されている脆弱なVMに対してHydraを実行しています。 "admin"ユーザー名のパスワードを見つけようとしています。

これは私が実行したコマンドです:

hydra -vV -l admin -P /root/Documents/000webhost.txt 10.0.2.10 http-post-form '/wordpress/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In:F=is incorrect'

しばらく実行した後、次のメッセージが表示されました。

[80][http-post-form] Host: 10.0.2.10   login: admin
[STATUS] attack finished for 10.0.2.10 (waiting for children to complete tests)
1 of 1 target successfully completed, 1 valid password found
Hydra (http://www.thc.org/thc-hydra) finished at 2017-12-27 18:12:43

パスワードが見つかったと表示されますが、そのパスワードは表示されません。

通常、パスワードは「login:admin」と書かれている行に表示されます。

何が起こっているのか?ありがとう。

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

問題を見つけたようです。ファイルに空の行/パスワード(つまり、 "")があります。この空のパスワードは、「結果」出力の前に19行試行されたことが示されています。

[ATTEMPT] target 10.0.2.10 - login "admin" - pass "" - 15067 of 720303 [child 10] (0/0)

ターゲットのWebアプリに直接「」をパスワードとして入力しましたが、その応答が「正しくありません」とは異なるため、誤検知が発生します。奇妙なことに、ハイドラはそれを出力しません。

空の行を含む小さなパスワードファイルを作成しましたが、この問題は繰り返し発生しました。次に、ファイルから空の行を削除して、Hydraを再度実行しましたが、今回は誤検知は発生しませんでした。

再度、感謝します。

2
MyNameIsZero

Hydraに送信したパスワードファイルに空の行(つまり、 "")が含まれています。この値がWebアプリに送信されると、応答は "パスワードが空です"になります。これは、他のほとんどのパスワードに対して返され、Hydraに送信した "不正解"とは異なります。

パスワードが「0」の場合も同様ですが、この場合、Hydraは試行されたパスワードを表示します。

当面は、これら2つのエントリをパスワードファイルから削除しました。これにより、取得していた誤検知を回避しています。

誰かがHydraに複数の「失敗」文字列をサポートするように指示する方法を知っている場合は、私に知らせてください。ありがとう。

0
MyNameIsZero