「John the Ripper」(以下、John)は、
パスワード解析のためのオープンソースツールです。
主に以下のような用途で使用されます:
- 忘れたパスワードの解析
- セキュリティ診断やペネトレーションテスト
Contents
John the Ripperのインストール
Windows環境でのインストール
- 公式ダウンロードページから最新バージョンを取得します。
- ZIPファイルを解凍し、任意のフォルダに配置します。
- フォルダ構造が以下のようになっていることを確認します
john
├── run
├── doc
└── src
Linux環境でのインストール
- ターミナルを開きます。
- 以下のコマンドを順に実行します
sudo apt update
sudo apt install john
Cygwinを利用したインストール
- Cygwinをインストールします。
- 必要なパッケージ(gccやmake)を追加します。
- ソースコードをダウンロードしてビルドします。
基本的な操作手順
ZIPファイルの準備
- 解析対象のZIPファイルを用意します。
- ZIPファイルを「john > run」フォルダにコピーします。
コマンドプロンプトの使用
- Windowsのコマンドプロンプトを起動します。
- 以下のコマンドで「run」フォルダに移動します
cd C:\path\to\john\run
パスワードの解析方法
辞書攻撃を使った解析
辞書攻撃は、事前に用意された単語リストとパスワードを照らし合わせる方法です。
- 辞書ファイルを準備(例:
password.lst
)。 - 以下のコマンドを実行
john --wordlist=password.lst --format=zip hashfile.txt
総当たり攻撃を使った解析
辞書を用いない総当たり攻撃では、可能な文字の全組み合わせを試します。
- 以下のコマンドを実行
john --incremental --format=zip hashfile.txt
解析結果の確認
解析結果は以下のコマンドで確認できます:
john --show hashfile.txt
応用例
SSH秘密鍵ファイルのパスフレーズ解析
- 秘密鍵ファイルを準備します(例:
id_rsa
)。 - ハッシュ値を抽出
sh2john id_rsa > hashfile.txt
- 通常の辞書攻撃または総当たり攻撃を実行。
PDFファイルの解析
- PDFのハッシュを抽出するツールを利用(例:
pdf2john
)。 - 抽出したハッシュをJohnで解析します。
実験結果で見る解析の効率性
パスワード桁数と解析時間
以下は、パスワード桁数と解析時間の目安です:
桁数 | 時間(推定) |
---|---|
4 | 数秒 |
6 | 数分~数時間 |
8 | 数日~数週間 |
暗号化方式による解析の難易度
ZIPの暗号化方式により結果が異なります:
- 古い方式:容易に解析可能。
- AES暗号化:時間が大幅にかかる。
6. 注意点とまとめ
- ツールの不正利用を避けること。
- 暗号化方式によっては解析が難しい場合があるため、期待値を設定しておく。