辞書やブルートフォース攻撃などのパスワードクラッキング方法に興味があります。現在、パスワードはプレーンテキストではなくハッシュとしてサーバーに保存されています。それでは、ディクショナリのプレーンテキストのパスワードを、リークされたデータベースのハッシュとどのように比較できますか?ハッシュはbcryptやSHA-512などのさまざまなタイプにすることができるので、クラッキングツールはどのようにしてハッシュを作成して比較する方法を知ることができますか?
たとえば、以下の辞書攻撃を見てください。漏えいしたパスワードはハッシュだけで、辞書には単純な英語の単語があります。次に、それらをどのように比較できますか?攻撃者またはクラッキングツールは、どのハッシュアルゴリズムを使用すべきかをどのようにして知るのですか?塩さえありますが、攻撃者はどのようにして塩が何であるかを知っていますか?
ブルートフォース攻撃では、辞書の単語が正しいハッシュアルゴリズムとソルトでハッシュされ、データベースダンプのハッシュと比較されます。したがって、攻撃者はハッシュ値自体だけでなく、アルゴリズムとソルトも知っている必要があります。
ソルトは通常、ハッシュのすぐ隣のデータベースに保存されます。実際、そうである必要があります。それらをチェックするときに、他にどのようにしてWebサーバーが受信パスワードをハッシュできるでしょうか?したがって、データベースダンプがある場合は、ソルトがあります。
これは、いくつかの方法で実行できます。
$2b$
で始まります。