John the ripperをWindowsとGPUで動かし、ZIPファイルのパスワードを解析!(2024/07/15、現在GPUは使えません。)
Openwallの公式サイトで公開されているWindows用のバイナリ(exeファイル)は、かなり前のものであるため、最新のGPU(OpenCL)が使えない。
※現在GPUは使えません。
![](https://assets.st-note.com/img/1720988082061-RzFAQ9paWN.png?width=1200)
そのため、OpenwallのGithubから最新のものをダウンロードして、ビルドする必要がある。
1.Visual Studioのインストール
ここからWindows用のVisual Studioをインストールしてください。
2.Cygwinのインストール
ここからCygwinをインストールします。
Cygwinについては、chatgptに聞いてみてください。
少し難しいところは、これらのパッケージをインストール時に、
1つずつ検索して、選ばなければなりません。
libssl-devel
libbz2-devel
libgmp-devel
zlib-devel
gcc-core
libOpenCL-devel
libcrypt-devel
make
wget
rebase
perl
これらと全く同名のパッケージについて、「Skip」を「最新バージョン」に切り替えて、インストールしてください。
3.John the ripperのソースをダウンロード
ここからソースをDownload ZIPして、展開してください。
4.Cygwinでビルド
Cygwinターミナルを開き、srcフォルダまでcdします。
Windowsとスラッシュの向きが反対なので、注意しましょう。
cd path/to/john-bleeding-jumbo/src
ここまで来たら、次のコマンドを入力して、ビルドします。
./configure && make -s clean && make -sj4
エラーが出なければ、ビルド完了です。
runフォルダにバイナリ(exeファイル)が作られます。
以下、Cygwinターミナルを使い続けます。
5.Hashファイルの作成
続いて、runフォルダまでcdします。
cd path/to/john-bleeding-jumbo/run
zip2john.exeにより、ハッシュを生成します。
今回は変換元がZIPファイルですが、他のものでも大丈夫です。
「>」のマークを忘れないでください。
./zip2john.exe (ファイル名).zip > (ファイル名).txt
6.CPUによるパスワード解析
最も一般的なCPUによるパスワード解析を行います。
オプションについては、他のウェブサイトを参考いただきたいですが、
ブルートフォース攻撃(総当たり攻撃)の一例として、英大小文字+数字の6文字の場合の例を、ここに載せています。
./john.exe --mask=?1?1?1?1?1?1 -1=[0-9a-zA-Z] (ファイル名).txt
7.GPUの接続確認
GPU(OpenCL)でもパスワード解析を行うために、まず接続確認を行います。
次の2つのコマンドを入力して、エラーが出ないことを確認します。
./john.exe --list=opencl-devices
(結果)
Platform #0 name: NVIDIA CUDA, version: OpenCL 3.0 CUDA 12.5.78
Device #0 (1) name: NVIDIA RTX A2000 Laptop GPU
Device vendor: NVIDIA Corporation
Device type: GPU (LE)
Device version: OpenCL 3.0 CUDA
OpenCL version support: OpenCL C 1.2
Driver version: 555.99 [recommended]
Native vector widths: char 1, short 1, int 1, long 1
Preferred vector width: char 1, short 1, int 1, long 1
Global Memory: 4095 MiB
Global Memory Cache: 560 KiB
Local Memory: 48 KiB (Local)
Constant Buffer size: 64 KiB
Max memory alloc. size: 1023 MiB
Max clock (MHz): 1357
Profiling timer res.: 1000 ns
Max Work Group Size: 1024
Parallel compute cores: 20
CUDA INT32 cores: 1280 (20 x 64)
Speed index: 1736960
Warp size: 32
Max. GPRs/work-group: 65536
Compute capability: 8.6 (sm_86)
Kernel exec. timeout: no
PCI device topology: 01:00.0
./john.exe --test=0 --format=zip-opencl
(結果)
Device 1: NVIDIA RTX A2000 Laptop GPU
Testing: ZIP-opencl, WinZip [PBKDF2-SHA1 OpenCL]... PASS
8.GPUによるパスワード解析
最後に、次のコマンドを入力して、GPUによるパスワード解析を行います。
(現在、このコマンドは動かないことが確認されています。)
./john.exe --format=zip-opencl --device=0 --mask=?1?1?1?1?1?1 -1=[0-9a-zA-Z] (ファイル名).txt
以上です。
この記事が気に入ったらサポートをしてみませんか?