
John the Ripper jumbo - 高度なオフラインパスワードクラッカーです。数百種類のハッシュおよび暗号タイプをサポートし、多くのオペレーティングシステム、CPU、GPU、さらには一部のFPGA上で動作します。
これは、John the Ripper のコミュニティ強化版である「jumbo」バージョンです。 jumbo 開発者とユーザーコミュニティによって提供された多くのコード、ドキュメント、およびデータが含まれています。jumbo に新しいコードを追加するのは簡単で、品質要件は低く設定されていますが、最近ではすべての貢献をかなりの自動テストにかけるようになりました。つまり、必ずしも「成熟」していない機能が多数含まれるということになり、その結果、このコードにはバグがあることが想定されます。
John the Ripper のホームページは次のとおりです:
https://www.openwall.com/john/
このリリースまたは JtR 全般についてコメントがある場合は、john-users メーリングリストに参加して投稿してください:
https://www.openwall.com/lists/john-users/
John the Ripper jumbo への貢献は、GitHub でプルリクエストを使用してください:
https://github.com/openwall/john/blob/bleeding-jumbo/CONTRIBUTING.md
以下に、John the Ripper コアの基本的なドキュメントを示します。
John the Ripper は高速なパスワードクラッカーであり、現在、多くの Unix 系、macOS、Windows、DOS、BeOS、OpenVMS で利用できます(後者には提供されたパッチが必要です)。その主な目的は、脆弱な Unix パスワードを検出することです。さまざまな Unix 系で最も一般的に見られるいくつかの crypt(3) パスワードハッシュタイプに加えて、Kerberos/AFS および Windows LM ハッシュ、DES ベースのトリップコードが標準でサポートされており、さらに「-jumbo」バージョンでは数百の追加ハッシュと暗号がサポートされています。
システムに John をインストールする方法については、INSTALL を参照してください。
John を実行するには、いくつかのパスワードファイルを指定し、必要に応じてクラッキングモードを指定する必要があります。たとえば、次のように、モードのデフォルトの順序を使用し、「passwd」がパスワードファイルのコピーであると仮定します:
john passwd
または、ワードリストモードのみに制限し、ワードマングリングルールの使用を許可する場合:
john --wordlist=password.lst --rules passwd
クラックされたパスワードは端末に出力され、$JOHN/john.pot というファイルに保存されます(ドキュメントと John の設定ファイルでは、「$JOHN」は John の「ホームディレクトリ」を指します。実際にどのディレクトリになるかは、John のインストール方法によって異なります)。$JOHN/john.pot ファイルは、次回 John を実行するときに、すでにクラックしたパスワードハッシュを読み込まないようにするためにも使用されます。
クラックされたパスワードを取得するには、次のコマンドを実行します:
john --show passwd
クラッキング中は、任意のキーを押すとステータスが表示され、'q' または Ctrl-C を押すと、セッションの状態をファイル(デフォルトでは $JOHN/john.rec)に保存して中断します。John が最初の Ctrl-C の処理を完了する前に 2 回目の Ctrl-C を押すと、John は保存せずに即座に中断します。デフォルトでは、クラッシュ時の復旧を可能にするため、状態は 10 分ごとに保存されます。
中断されたセッションを続行するには、次のコマンドを実行します:
john --restore
これらは John でできる最も基本的なことの一部にすぎません。コマンドラインオプションの完全なリストとより複雑な使用例については、それぞれ OPTIONS と EXAMPLES を参照してください。
John の「バイナリ」(コンパイル済み)ディストリビューションには、「john」だけでなく代替の実行可能ファイルが含まれている場合があることに注意してください。システムに最適な実行可能ファイルを選択する必要がある場合があります。たとえば、複数の CPU や CPU コアを活用するには「john-omp」を選択します。
John the Ripper は、多機能で高速になるように設計されています。1 つのプログラムに複数のクラッキングモードを統合し、特定のニーズに合わせて完全にカスタマイズできます(C のサブセットをサポートする組み込みコンパイラを使用して、カスタムクラッキングモードを定義することもできます)。さらに、John は複数のプラットフォームで利用できるため、どこでも同じクラッカーを使用できます(別のプラットフォームで開始したクラッキングセッションを続行することもできます)。
標準で、John は次の Unix crypt(3) ハッシュタイプをサポート(および自動検出)します: 従来の DES ベース、"bigcrypt"、BSDI 拡張 DES ベース、FreeBSD MD5 ベース(Linux および Cisco IOS でも使用)、OpenBSD Blowfish ベース(現在は一部の Linux ディストリビューションでも使用され、最近の Solaris でサポートされています)。また、Kerberos/AFS および Windows LM(DES ベース)ハッシュ、DES ベースのトリップコードも標準でサポートされています。
glibc 2.7+ を搭載した Linux ディストリビューションで実行する場合、John 1.7.6+ は SHA-crypt ハッシュ(実際には最近の Fedora および Ubuntu で使用されています)を追加でサポート(および自動検出)し、オプションで OpenMP 並列化を利用できます(GCC 4.2+ が必要で、Makefile の先頭付近にある適切な OMPFLAGS 行のコメントを解除してコンパイル時に明示的に有効にする必要があります)。
同様に、最近の Solaris で実行する場合、John 1.7.6+ は SHA-crypt および SunMD5 ハッシュをサポートおよび自動検出し、これもオプションで OpenMP 並列化を利用できます(GCC 4.2+ または最近の Sun Studio が必要で、Makefile の先頭付近にある適切な OMPFLAGS 行のコメントを解除してコンパイル時に明示的に有効にし、実行時に OMP_NUM_THREADS 環境変数を目的のスレッド数に設定する必要があります)。
"-jumbo" バージョンは、SHA-crypt および SunMD5 の高速な組み込み実装、Windows NTLM(MD4 ベース)パスワードハッシュ、さまざまな macOS および Mac OS X ユーザーパスワードハッシュ、raw MD5、SHA-1、SHA-256、SHA-512 などの高速ハッシュ(多くの「Web アプリケーション」がパスワードに歴史的に誤用してきた)、その他のさまざまな「Web アプリケーション」パスワードハッシュ、さまざまな SQL および LDAP サーバーパスワードハッシュ、その他多数のハッシュタイプに加えて、SSH 秘密鍵、S/Key skeykeys ファイル、Kerberos TGT、macOS .dmg ファイルや「sparse bundles」などの暗号化ファイルシステム、ZIP(クラシック PKZIP および WinZip/AES)、RAR、7z などの暗号化アーカイブ、PDF や Microsoft Office などの暗号化ドキュメントファイルなど、数百の追加ハッシュおよび暗号タイプのサポートを追加します。これらはほんの一部の例です。これらの大きなファイルの一部をクラッキング用に読み込むには、まず対応するバンドル済みの *2john プログラムを使用し、その出力を JtR -jumbo に渡す必要があります。
John the Ripper 用の公式 GUI があります: Johnny。
Johnny は JtR コアを対象としていますが、すべての基本機能は jumbo を含むすべてのバージョンで動作するようになっています。
Johnny は別のプログラムであるため、使用するには John the Ripper がインストールされている必要があります。
Johnny とそのリリースの詳細については、wiki を参照してください:
https://openwall.info/wiki/john/johnny
残りのドキュメントは別のファイルにあり、推奨される閲覧順に以下に示します:
(*) ほとんどのユーザーはこれらを読み飛ばしても問題ありません。
jumbo の「doc」ディレクトリには追加のドキュメントファイルが多数あり、それらも参照することをお勧めします。
楽しくお読みください!