Kali で John を使ってパスワードを復元する

サイバーセキュリティBeginner
オンラインで実践に進む

はじめに

オフラインのパスワード復元は、ログインを試す代わりに、提供されたハッシュと候補を比較します。成功や失敗を解釈するには、形式、候補集合、保存された復元状態の理解が不可欠です。

この実習では、意図的に弱い演習用ハッシュ一つと、ごく小さな辞書を提供します。専用の pot とセッションを使い、範囲を限定した John の辞書復元を実行し、アカウントに対応する結果を表示して保存します。

提供された弱いパスワードをオフラインで復元する

このステップでは、既知の演習用ハッシュ形式に小さな候補一覧を使い、他の演習とは復元状態を分けます。

Kali に入り、提供された演習ディレクトリを選びます。

kali
cd /home/labex/project/password-practice

パスワードハッシュは、パスワードを平文で保存せずに照合するための、導出された表現です。ソルトは、同じパスワードから異なる保存ハッシュができるようにします。この演習では、ソルト付きの SHA512-crypt 形式で表した、意図的に弱い演習パスワードを提供します。これは生の SHA-512 ダイジェストとは別の形式です。

提供されたアカウントとハッシュのファイルを読みます。

cat hashes.txt

行は、演習アカウント名、コロン、$6$ で始まるハッシュの順です。ソルトと導出値は、保存された表現の一部です。ハッシュを生成・編集する必要はありません。

小さな候補一覧を調べます。

cat candidates.txt

各行はパスワード候補一つです。辞書復元は、提供されたハッシュに対して候補をオフラインでテストします。ネットワークサービスへログイン試行を送りません。

John はパスワード復元ツールです。--format=sha512crypt は提供形式を明示的に選び、--wordlist=candidates.txt は候補ファイルを選び、--pot=guided.pot は専用 pot ファイルに復元結果を保存します。--session=guided-session は、無関係なセッションと混ぜず、この実行の復元セッションを名付けます。

john --format=sha512crypt --wordlist=candidates.txt --pot=guided.pot --session=guided-session hashes.txt

完了を待ちます。出力は一つのパスワードの復元を報告するはずです。正確な性能値やスレッドのメッセージは異なります。pot ファイルは復元したハッシュとパスワードの対応を保存するので、同じ pot で再実行すると、復元済みのハッシュを飛ばす場合があります。これは新しい試行が再び復元した証明ではありません。

辞書実行は、候補の不在、形式の選択誤り、入力形式の不備によって失敗することがあります。失敗は、パスワードの復元が不可能な証拠ではありません。

確認した復元結果を表示して保存する

このステップでは、John で復元状態を読み、確認用にアカウントに対応する結果を保存します。

同じ演習ディレクトリにとどまってください。John の --show モードは、指定 pot と提供ハッシュファイルを照合し、復元したアカウントとパスワードの結果を表示します。

john --show --format=sha512crypt --pot=guided.pot hashes.txt

アカウント行には training-user:cedar42 があり、復元したハッシュが一つ、残りがないことを示す概要が続くはずです。パスワードは意図的に弱く、提供された候補一覧にあります。

復元成功の主張を手書きせず、この確認済みの表示を保存します。

john --show --format=sha512crypt --pot=guided.pot hashes.txt > recovered.txt
cat recovered.txt

保存ファイルには、アカウントに対応する結果と復元概要があるはずです。正確な演習データと結果を照合できるよう、提供ハッシュ、候補一覧、専用 pot を一緒に保持してください。

結果には平文の演習用認証情報が含まれます。実務では、復元パスワードは機密の証拠であり、許可された作業手順内だけで扱います。この演習は、実際のアカウントのテストや、デモ用パスワードの再利用を要求しません。

まとめ

ハッシュ、ソルト、平文を区別し、明示的な形式でオフライン辞書復元を実行し、pot とセッションを分離して、show モードの結果を保存しました。復元を、特定の提供ハッシュと候補集合に関する証拠として解釈しました。