【初心者向け】John the Ripperの「No password hashes left to crack」の原因と対処法

ハッキング学習やTryHackMeなどのCTF(Capture The Flag)に挑戦していると、パスワード解析ツール「John the Ripper(ジョン・ザ・リッパー)」を使用する場面が多くあります。しかし、実際に使っていると以下のようなメッセージに悩まされることがあります。

No password hashes left to crack (see FAQ)

この記事では、このエラーメッセージの原因と、具体的な対処方法について、初心者の方にも分かりやすく解説いたします。


エラーの原因:「すでにクラック結果が保存されている」

John the Ripperでは、一度パスワードの解析(クラック)に成功すると、その結果を自動的に保存する仕組みになっています。

具体的には、以下の場所に解析結果が記録されます。

~/.john/john.pot

このファイルには、すでに解析されたハッシュ値と対応するパスワードが保存されています。そのため、同じハッシュを再度johnにかけても「すでに解析済み」と判断され、冒頭のエラーメッセージが表示されます。


実際の状況例

私自身、TryHackMeのRoomで以下の流れを経験いたしました。

  1. ssh2johnコマンドで、RSA秘密鍵からハッシュを抽出
  2. johnコマンドでパスワードを解析
  3. 別の日に同じ形式の鍵ファイル(中身が同じ)を再度解析しようとしたところ、以下のエラーが表示
No password hashes left to crack (see FAQ)

この場合、IPアドレスやサーバーが違っていても、鍵ファイルの内容が同じであれば、johnは同一のものと判断します


対処法:クラック結果の確認と再実行

すでに解析済みかどうかは、以下のコマンドで確認できます。

john --show hash

これにより、保存されたパスワードが表示されるはずです。

もし再度解析をやり直したい場合は、以下のようにjohn.potを削除してから再実行できます。

rm ~/.john/john.pot
john hash --wordlist=/usr/share/wordlists/rockyou.txt

ただし、john.potを削除すると、過去すべての解析結果が消えるため注意してください。


まとめ

  • 「No password hashes left to crack」は、johnが過去の結果を記録していることが原因
  • john --show hashでパスワードを確認できる
  • 必要に応じてjohn.potを削除し、再実行可能

John the Ripperを使いこなす上で、こうした仕組みを理解しておくと、不要なエラーや混乱を避けられます。

CTFや実践練習でのトラブル回避に、ぜひご活用ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次