John the Ripper とはなんぞや
言葉を選ばなければ、パスワードハッキングツール。
ハッシュ化されて保存されたパスワードや情報を元のテキストに変換できるツールで、
使い方によっては簡単に悪用できる危ういツールでもある。
ホームページはこちら:https://www.openwall.com/john/
ちなみに、GUI 版の Johnny なるものもある。
基本のコマンド
いろいろなモードはあるものの、一番スタンダードは:
john --format={format_type} --wordlist={wordlist_path} {file path}
このコマンドによって特定の hash テキストを特定のフォーマットとワードリストを使って解析する。例えばこんな感じ:
john --wordlist=/usr/share/wordlists/rockyou.txt hash_to_crack.txt
有名な rockyou.txt (詳細はコチラ。リストはこちら)をつかって hash_to_crack.txt を解析。
ただこれだと、ハッシュのフォーマットを指定していないので、分析に時間がかかってしまう。それ故に以下のフォーマットが最適である:
john --format={format_type} --wordlist={wordlist_path} {file}
フォーマットがわからない!そんなときは Hashes.com のようなツールを用いたり、Hash Identifier .py を用いたハッシュ分析を併用することも良いと思う。
Hash Identifier を使う場合は通常の Python コードの利用通り。
python3 hash-id.py
モードもろもろ
- Automatic Cracking :
john --wordlist={wordlist_path} {file}
John the ripper が自動的にフォーマットを検知してクラックする。これだと誤検知の可能性や時間が長く掛かる可能性があるので。推奨ではない。
- Format Specific Cracking :
フォーマットを指定してのクラック。無難で簡単
- Unshadow Cracking :
unshadow {/etc/passwd} {/etc/shadow} > {export_file_name.txt}
/etc/shadow は Linux 上のハッシュ化されたパスワードやその記録が残っている箇所。(参照記事)
/etc/passwd はユーザーのアカウント情報が記録されている。このファイルの中にはパスワードの記載があるが、xxxx で隠されており、実際のパスワードは /etc/shadow に存在する。(参照記事)
unshadow コマンドはその passwd と shadow ファイルを使って必要な情報を John the Ripper が読める形式に変換する。変換したファイルを今度 John コマンドで解析するという手順。
john --format={format_type_optional} --wordlist={wordlist_path} {file}
- Single Crack Mode:
john --single --format={format} {file}
username:hash値 というファイルがあった際に username を word mangling してくれるクラックモード mark というユーザーに対して Mark, mArk , MArk など... 様々なパターンでハッシュ解析する際に適応。利用頻度は低そうだが便利。
- Custom Rule (上級):
john.conf というファイルに特定のルールなどを指定することでカスタマイズ化したクラックが可能になる。
- パスワード保護されている Zip/ rar の Cracking :
zip2john {zip_file} > {output_file}
john --wordlist={wordlist_path} {output_file}
パスワード保護されている zip ファイルを zip2john というコマンドでまず John で読み込める形式に変更。
変更した後に通常の john コマンドでワードリストを指定した上でパスワードを抽出が可能。このパスワードを用いて zip を解凍できる。
ちなみに、rar ファイルの場合は rar2john というコマンドで同じパターンで解析可能。
rar ファイルを解凍する場合は unrar e コマンドで。
その他便利なページ
-
https://countuponsecurity.com/wp-content/uploads/2016/09/jtr-cheat-sheet.pdf : John The Ripper Cheat Sheet
-
https://denizhalil.com/2023/11/02/john-the-ripper-usage-guide/ : John the Ripper Usage Cheat Sheet A Quick Guide