High SierraでJohn The Ripperをコンパイルする方法。

OS X (High Sierra) 上でJtRを使おうとして色々と罠があったのでメモ。

GCCとOpenSSLのインストール

まず、GCCとOpenSSLをインストールします。その後、OpenSSLにパスを通します。

$ brew update && brew upgrade
$ brew install gcc openssl


続いてOpenSSLにパスを通します。

$ brew list openssl
/usr/local/Cellar/openssl/1.0.2n/.bottle/etc/ (8 files)
/usr/local/Cellar/openssl/1.0.2n/bin/c_rehash
/usr/local/Cellar/openssl/1.0.2n/bin/openssl
/usr/local/Cellar/openssl/1.0.2n/include/openssl/ (75 files)
/usr/local/Cellar/openssl/1.0.2n/lib/libcrypto.1.0.0.dylib
/usr/local/Cellar/openssl/1.0.2n/lib/libssl.1.0.0.dylib
/usr/local/Cellar/openssl/1.0.2n/lib/engines/ (12 files)
/usr/local/Cellar/openssl/1.0.2n/lib/pkgconfig/ (3 files)
/usr/local/Cellar/openssl/1.0.2n/lib/ (4 other files)
/usr/local/Cellar/openssl/1.0.2n/share/man/ (1680 files)

$ export PATH=/usr/local/Cellar/openssl/1.0.2k/bin:$PATH

$ which openssl
/usr/local/Cellar/openssl/1.0.2k/bin/openssl

JohnTheRipperのコンパイル

公式のリポジトリからソースコードを取得し、コンパイルします。

$ git clone --depth 1 git@github.com:magnumripper/JohnTheRipper.git
$ cd JohnTheRipper/src
$ ./configure CPPFLAGS="-I/usr/local/Cellar/openssl/1.0.2k/include" CFLAGS="-I/usr/local/Cellar/openssl/1.0.2k/include" LDFLAGS="-L/usr/local/Cellar/openssl/1.0.2k/lib" --disable-pkg-config CC="gcc-7"  
$ make -s clean && make -sj4


最後に操作確認をします。

$ cd ../run
$ ./john --test