比較のための Hashcat によるハッシュ解読
John the Ripper は優れたツールですが、Hashcat のような代替ツールにも慣れておくのが良い習慣です。Hashcat は、特に GPU を搭載したシステムでの速度に定評があります。ここでは、Hashcat を使用して同じ辞書攻撃を実行します。
Hashcat は、ハッシュ値のみが含まれるクリーンなファイルを好みます。awk コマンドを使用して sample_hashes.txt から 2 番目のフィールド(ハッシュ部分)を抽出し、新しいファイル clean_hashes.txt に保存します。
awk -F':' '{print $2}' /root/sample_hashes.txt > /root/clean_hashes.txt
新しいファイルの内容を確認します。
cat /root/clean_hashes.txt
出力にはハッシュ文字列のみが含まれているはずです。
$6$randomsalt$WS2qjCQ1JrmZv8otdbtntIYu6lRzkk2aIVhgIMdMexOcvD9bEAoxtKcyZLXbR3wlhOOPBscJbLCPUU/fYjFhM0
$6$anothersalt$ZffCt8y5Hl8gLYS79/rhyT76C12kNhuOvkFR8Ll0RXcjQz2Nzuh3VUdT//e21HYfH6fP9btOp2aG22O3S7q1z/
次に、Hashcat を実行します。ハッシュモード(SHA-512 crypt の場合は -m 1800)と攻撃モード(ストレート辞書攻撃の場合は -a 0)を指定する必要があります。
hashcat -m 1800 -a 0 /root/clean_hashes.txt /root/custom_wordlist.txt
Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 1800 (sha512crypt $6$, SHA512 (Unix))
Hash.Target......: /root/clean_hashes.txt
Time.Started.....: Mon Sep 1 06:33:21 2025 (0 secs)
Time.Estimated...: Mon Sep 1 06:33:21 2025 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Base.......: File (/root/custom_wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 226 H/s (5.08ms) @ Accel:8 Loops:1024 Thr:1 Vec:8
Recovered........: 2/2 (100.00%) Digests (total), 1/2 (50.00%) Digests (new), 2/2 (100.00%) Salts
Progress.........: 6/12 (50.00%)
Rejected.........: 0/6 (0.00%)
Restore.Point....: 0/6 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:4096-5000
Candidate.Engine.: Device Generator
Candidates.#1....: password -> password123
Hashcat がクラッキングセッションを開始します。ワードリストに正しいパスワード(password と 123456)が含まれているため、Hashcat はこれらのハッシュを非常に迅速に解読するはずです。終了後、同じコマンドに --show フラグを付けて実行し、解読されたパスワードを確認します。
hashcat -m 1800 -a 0 /root/clean_hashes.txt /root/custom_wordlist.txt --show
攻撃が成功すると、Hashcat はハッシュの後にコロンで区切られた解読済みパスワードを表示します。
$6$randomsalt$WS2qjCQ1JrmZv8otdbtntIYu6lRzkk2aIVhgIMdMexOcvD9bEAoxtKcyZLXbR3wlhOOPBscJbLCPUU/fYjFhM0:password
$6$anothersalt$ZffCt8y5Hl8gLYS79/rhyT76C12kNhuOvkFR8Ll0RXcjQz2Nzuh3VUdT//e21HYfH6fP9btOp2aG22O3S7q1z/:123456
このステップでは、パスワードクラッキングのための強力な代替手段として Hashcat を紹介しました。最後のステップでは、調査結果を適切に文書化する方法を学びます。