ハッキング学習や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で以下の流れを経験いたしました。
- ssh2johnコマンドで、RSA秘密鍵からハッシュを抽出
- johnコマンドでパスワードを解析
- 別の日に同じ形式の鍵ファイル(中身が同じ)を再度解析しようとしたところ、以下のエラーが表示
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や実践練習でのトラブル回避に、ぜひご活用ください。

 
			 
			 
			 
			 
			 
			 
			