John the Ripper を GPU 利用のために設定する
このステップでは、John the Ripper をインストールし、OpenCL を検出する能力を確認します。LabEx 環境には物理 GPU がないかもしれませんが、John the Ripper の OpenCL モジュールは存在し、設定可能です。
まず、John the Ripper をインストールします。
sudo apt install -y john
インストール後、John the Ripper の機能を確認し、特に OpenCL サポートを探します。John the Ripper のjohn --list=opencl-devicesコマンドは、検出された OpenCL デバイスを一覧表示するために使用されます。物理 GPU のない仮想環境では、実際のデバイスは一覧表示されないかもしれませんが、コマンド自体が OpenCL モジュールが John the Ripper にコンパイルされていることを確認します。
john --list=opencl-devices
「No OpenCL devices found.」のような出力が表示されるかもしれませんが、これはこの仮想環境では予想されることです。重要なのは、コマンドがエラーなく実行され、JtR の OpenCL 機能が存在することを確認することです。
No OpenCL devices found.
次に、クラッキングの準備としてダミーのハッシュファイルを作成します。デモンストレーションのために、簡単な MD5 ハッシュを使用します。
echo "testuser:5d41402abc4b2a76b9719d911017c592" > ~/project/hashes.txt
これにより、~/projectディレクトリにパスワード「hello」のハッシュを含むhashes.txtファイルが作成されます。
それでは、John the Ripper を使用してハッシュをクラックしてみましょう。物理 GPU がなくても、John the Ripper は利用可能な OpenCL 対応モジュールを使用しようとし、デバイスが見つからない場合は CPU にフォールバックします。
john --format=raw-md5 ~/project/hashes.txt --wordlist=/usr/share/john/password.lst
John the Ripper がハッシュを処理していることを示す出力が表示されるはずです。パスワード「hello」がデフォルトの単語リストに含まれている場合、クラックされます。
Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5])
Cost 1 (iteration count) is 1 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
hello (testuser)
1g 0:00:00:00 DONE (2024-01-01 12:00) 100.0% 1000000g/s 1000000p/s 1000000c/s 1000000C/s testuser
Session completed.
このステップにより、John the Ripper がインストールされ、その OpenCL コンポーネントが認識され、ハッシュを処理できることが確認されます。