Linux ハッシュに対する辞書攻撃の実行
この最終ステップでは、Hashcat を使用してキャプチャされたハッシュに対して辞書攻撃を実行します。辞書攻撃は、潜在的なパスワードのリスト(「辞書」または「単語リスト」)を取得し、ターゲットハッシュと同じアルゴリズムを使用してそれぞれをハッシュ化し、結果を比較することによって機能します。一致が見つかった場合、パスワードはクラックされたことになります。
実験のセットアップ中に ~/project ディレクトリにダウンロードされた rockyou.txt 単語リストを使用します。これは、パスワード監査で非常によく使用される単語リストです。
次に、収集したすべての情報を使用して完全な Hashcat コマンドを構築します。
- モード (
-m): sha512crypt の場合は 1800。
- ハッシュファイル:
~/project/hashes.txt。
- 単語リスト:
~/project/rockyou.txt。
- オプション (
--force): これは、仮想化環境または特定のドライバーで Hashcat を実行する際に発生する可能性のあるエラーを防ぐために追加されます。
攻撃を開始するには、コマンドを実行します。
hashcat -m 1800 --force ~/project/hashes.txt ~/project/rockyou.txt
Hashcat が初期化され、クラッキングセッションが開始されます。パスワード password123 は rockyou.txt リストに含まれているため、プロセスは非常に高速になるはずです。
...
Session..........: hashcat
Status...........: Running
Hash.Name........: sha512crypt, SHA512(Unix)
Hash.Target......: testuser:$6$somerandomsalt$gqE2qSg5aV1A3fH/vjXJ.nLdCn...
...
Approaching final keyspace - workload adjusted.
Session..........: hashcat
Status...........: Cracked
...
Hashcat がステータスを Cracked または Exhausted と表示したら、攻撃は完了です。クラックされたパスワードを表示するには、同じコマンドで --show オプションを使用できます。
hashcat -m 1800 --force ~/project/hashes.txt --show
出力には、クラックされたハッシュとその対応するプレーンテキストパスワードが明確に表示されます。
testuser:$6$somerandomsalt$gqE2qSg5aV1A3fH/vjXJ.nLdCn2KkL.D.v5/T6.zT.jC.gB6aB4bY3eZ2aX9cW8dY7eF6gH5iJ4kL3oP2qR1:password123
testuser のパスワードを正常にクラックしました!