web-dev-qa-db-ja.com

二重暗号化ルーターのパスワードを解読しますか?

私は私のルーターのhtmlでこのパラメーターに気づきました:

form.addParameter('Password', base64encode(SHA256(Password.value)));

したがって、パスワードpasswを入力すると、sslstripを介してこれを取得します。

2018-09-25 21:13:31,605 POST Data (192.168.1.1):
Username=acc&Password=ZTQ1ZDkwOTU3ZWVjNzM4NzcyNmM2YTFiMTc0ZGE3YjU2NmEyNGZmNGNiMDYwZGNiY2RmZWJiOTMxYTkzZmZlMw%3D%3D

このハッシュはブルートフォース/辞書を介して簡単に解読できますか?私はまだ初心者ですが、私には二重暗号化のように見えます。また、このパスワードを解読するよりも速く取得する方法はありますか?

27
MyWays

これは、base64無塩sha256ハッシュです。これは二重の暗号化ではなく、単に不要なエンコーディングです。

無塩ハッシュは、Googleでハッシュを検索するだけで簡単で、おそらく結果を見つけることができることを意味します。

70
ThoriumBR

私は RLでデコードし、次にbase64からデコードしました 、次に オンラインハッシュデータベース に渡しました。

結果は:

Hash                                                                Type    Result
e45d90957eec7387726c6a1b174da7b566a24ff4cb060dcbcdfebb931a93ffe3    sha256  passw

これは無塩ハッシュであるため、簡単に検索できます。すべてのエンコーディングは、セキュリティコントロールではなく、ログインサービスにとって便利です。

塩では、見上げるだけではできないため、総当たりする必要があります。ソルトを知っている場合、成功はパスワードと使用するワードリストに依存します。単語リストをブルートフォーシングでより効率的にする方法はいくつかありますが、最終的には時間の関数です。

83
schroeder

これは、次の理由により簡単に破ることができます。

  1. Base64は暗号化ではなく、エンコードスキームです。 Base64のデコードは簡単です。

  2. SHA256は、データを検証するために設計された暗号化アルゴリズムであり、高速になるように設計されています。つまり、複数のGPUを備えた特殊なコンピューターは、SHA256でハッシュされたパスワードを信じられないほどの速度でチェックできます。執筆時のパスワードクラッキングSHA256の記録は、25 GPUによって設定された21.4 GH/s(毎秒210億ハッシュ)です。パスワードを安全にハッシュすることを目的とした場合、SHA256は適切な選択ではありません。主要な派生関数は、進むべき道です。 SHA256はパスワードハッシュには弱いですが、データ/メッセージの検証には最適です。

16
Kevin

無塩ハッシュを使用することは非常に悪いことであり、sha256は理想的なハッシュ関数ではないことに誰もが同意します。ただし、この知識は、パスワードの保存ではなく、送信に関連しています

ターゲットデバイスでパスワードを検証する方法がわかりません。

データがその後パスワードストレッチ機能を介して渡され、ターゲットデバイスでソルト化およびハッシュ化される(安全でしょう)か、または格納されているリテラル値と単に比較される(安全でない)ことがわかっています。

質問に示されているように、ルーターとの通信が常にHTTPS経由で行われている場合、これは転送中のデータの保護に何も追加せず、冗長です。通信がHTTPを介して行われた場合、それは一部の非常にささいな攻撃(たとえば、単純なリプレイ攻撃ではない)を防止すると主張できます。

13
symcbean