web-dev-qa-db-ja.com

Linuxシャドウファイルを復号化するためのプログラム

Linuxシャドウファイルの復号化に使用できるプログラムまたはスクリプトはありますか?

10
Kumar

Linuxシステムのパスワードは暗号化されておらず、ハッシュ化されているため、大きな違いがあります。

定義によりハッシュ関数を元に戻すことはできません。詳細については、 ハッシュウィキペディアエントリ を参照してください。

使用されるハッシュ関数は、システム構成によって異なります。 MD5 および blowfish は、使用されるハッシュ関数の一般的な例です。

したがって、ユーザーの「実際の」パスワードがシステムに保存されることはありません。

ログインすると、パスワードとして入力した文字列がハッシュされ、/ etc/shadowファイルと照合されます。一致する場合は、明らかに正しいパスワードを入力しています。

とにかく、パスワードハッシュに対する攻撃方法はまだいくつかあります。あなたは人気のあるパスワードの辞書を保持し、それらを自動的に試すことができます。インターネット上にはたくさんの辞書があります。別のアプローチは、膨大な時間を消費する可能性のあるすべての文字の組み合わせを試すことです。これはブルートフォース攻撃と呼ばれます。

Rainbowtables は、ハッシュに対するもう1つの素晴らしい攻撃ベクトルです。この概念の背後にある考え方は、考えられるすべてのハッシュを事前に計算し、テーブル内のハッシュを検索するだけで、対応するパスワードを見つけることです。いくつかの このようなテーブルを作成するための分散コンピューティングプロジェクト があり、サイズは使用する文字によって異なり、ほとんどが数TBです。

このようなルックアップテーブルのリスクを最小限に抑えるために、Unix/Linuxの一般的な慣行とデフォルトの動作で、いわゆる「 salt 」をパスワードハッシュに追加します。パスワードをハッシュし、ランダムなソルト値をハッシュに追加して、この新しい文字列をもう一度ハッシュします。入力した値が正しいパスワードかどうかを確認するには、新しいハッシュとソルトを保存する必要があります。この方法の大きな利点は、一意のソルトごとに新しいルックアップテーブルを作成する必要があることです。

さまざまなオペレーティングシステムのユーザーパスワードに対して辞書攻撃またはブルートフォース攻撃を実行するための一般的なツールは John The Ripper (またはJTR)です。詳細は project homepage を参照してください:

John the Ripperは高速パスワードクラッカーであり、現在Unix、Windows、DOS、BeOS、OpenVMSの多くのフレーバーで利用できます。その主な目的は、弱いUnixパスワードを検出することです。

29
echox

パスワードは一方向で暗号化されているため、パスワードを復号化することは事実上不可能です。

1
Bertrand Marron

シャドウファイルの復号化はブルートフォースでのみ可能です。パスワードのハッシュが含まれるため、パスワードを推測し、ハッシュを計算して、ハッシュが同一かどうかを確認する唯一の機会です。ハッシュ生成の詳細については wikipedia を参照してください。

1
fschmitt

他の人が言ったように、あなたは本当にシャドウファイルを解読することはできません。

あなたが試すことができる唯一のことは John the Ripper のようなツールを使用してパスワードを総当たりで推測することです。これは成功する場合としない場合があり、ほぼ確実に長い時間がかかります。

1
Kristof Provost

パスワードは、パスワードを取得し、そのパスワードに固有のハッシュを作成するアルゴリズムを使用して暗号化されます。このハッシュは/ etc/shadowファイルに保存されます。ハッシュからパスワードを回復することはできません。パスワードを回復する唯一の方法は、 brute force キースペース全体を使用するか、何らかの dictionary 攻撃。初期のハッシュ関数はDES標準を使用しました。計算能力の向上により、DESキースペースを適切な時間内にブルートフォースすることが可能になりました。最新のハッシュ関数が使用されましたパスワードを暗号化するには、MD5、SHAなど)を含めます。crypt(3)ライブラリの詳細については、こちらをご覧ください こちら

1
user591