John the Ripper v1.4 ---------------------- ========================== John the Ripperとは何か? ========================== John the RipperとはUNIXパスワードクラッカーのことで、現在UNIX (Linux x86、FreeBSD x86、Solaris 2.x SPARC、OSF/1 Alphaで、テスト済 み)、DOS、WinNT/Win95で利用可能である。  既にいくつかのUNIXパスワードクラッカーを使用したことを前提に、John について特定のことだけ記述する。 ===================================== バージョン1.3から新しくなったこと ===================================== - MD5に基づくパスワードファイルのサポート - SPARC V8アセンブリバージョン - 多くのバグ修正 ========== 概要 ==========  John the Ripperは、強力かつ高速になるよう設計されている。1つのプロ グラム中にいくつかのクラッキングモードを併せ持ち、個々の必要に応じて完 全に構成可能である(組み込まれているCコンパイラーを使用してカスタムク リッキングモードをコーディングすることもできる)。また、Johnはいくつ かの異なったプラットホームで利用可能で、どこでも同じクラッカーを使用す ることができる(例えば、別のプラットホームで起動したクラッキングセッシ ョンを続けることもできる)。  Johnのcrypt()ルーチンは、より速い処理のために高度に最適化されてお り、他のクラッカーよりはるかに速く動作する。これはアセンブリバージョン、 および移植性のある純粋なCバージョン両方にあてはまる。  John the Ripperは以下のクラッキングモードをサポートする: - ルールあり、またはなしのワードリスト - "single crack"、login/GECOS情報の利用 - インクリメンタル、全文字の組合せを試す - エクスターナル、自分自身のクラッキングモードの定義を可能にする。 ================ インストール方法 ================ バイナリの提供物といっしょに、別々のディレクトリにすべてのファイルを コピーするだけである。次に、そこに(別々のアーカイブに提供されている)共 通のファイルを取り出す。また、使用しているアーカイブタイプに依存する `chmod +x john'も必要になるかもしれない。 ソースをコンパイルするには、取り出し先のディレクトリを入力して、 `make'と入力するだけである。サポートされているシステムのリストが表示さ れる。そのうちの1つを選択するか、または自分のシステムが表示されない場 合は、'make generic'を試してみる。必ずGCCおよびGNUのmakeを使用すること。 (ほとんどの場合、`/bin/make'も存在し、必要としているものではないので、 'make'へのフルパスを入力する必要があるかもしれない。) ============ 使い方 ============ 以前にクラッカー・ジャックを使用したことがある人達にとって、Johnを より簡単に使い始められるように、Johnのコマンドラインインタフェースを 故意にクラッカー・ジャックに似せて作っている。とにかく、ここではクラッ カー・ジャックと同じものを含め、Johnの機能について簡単に説明する。 John the Ripperを使用するには、いくつかのパスワードファイル、および クラッキングモードを指定する必要がある。クラックされたパスワードは画面 に表示され、~/john.potと呼ばれるファイルにセーブされる。(本記述で`~'は Johnの"ホームディレクトリ"を意味する。すなわち、Johnのバイナリを入 れたディレクトリのことである。)また、同じパスワードファイルでJohnを 再実行する場合、このファイルは、クラックしたアカウントをロードしないよ うに使用される。クラックしたパスワードを~/john.potから検索するには、 `-show'オプションを使用する。 クラック中は、状態をみるためのEnterキーやセッションを中止するCtrl+Cを 押すことができ、ファイルにポイント情報がセーブされる(デフォルトは、 ~/restore)。ちなみに、Ctrl+Cを二度押すと、Johnはセーブしないですぐに 中止する。また、ポイント情報は万一のクラッシュに備えて10分毎にセーブさ れる。 コマンドラインオプション ------------------------- Johnのコマンドラインで、以下のオプションのいくつかを指定することが できる(それらのすべては大文字/小文字に左右され、省略できる): -pwfile:[,..] パスワードファイルを指定する(ワイルドカ ードが可能) このオプションはクラックするパスワードファイルを指定するのに使用する (実際には、ダッシュで始まっていないコマンドライン上のものは何でもパス ワードファイル名として使用される)。 -wordfile: -stdin ワードリスト・モード、またはstdin から単語を読み込む これらは、ワードリスト・モードを使用可能にするのに使われる。 -rules ワードリスト・モードのためのルールを使                  用可能にする ルール(Alec MuffettによるCrackと同様の)を使用可能にする。このルール は[List.Rules:Wordlist]セクションの~/john.iniに格納される。 -incremental[:] インクリメンタル・モード [使用するjohn. iniエントリー ] 指定された~/john.iniの定義([Incremental:]セクションのことで、 ここでのはコマンドラインで指定したものである。デフォルトは [Incremental:All])を使用して、インクリメンタル・モードを使用可能にす る。 -single シングルクラック・モード   [List.Rules:Single]のルールを使用して、「シングルクラック」モードを 使用可能にする。 -external: エクスターナル・モード、john.iniのエン トリー を使用する エクスターナル・モードを使用可能にし、~/john.ini's [List.External: ]に定義されている外部関数を使用する。 -restore[:] [から]セッションを復元する 指定されたファイルからポイント情報を読み込み、割り込みをかけられてい るクラッキングセッションを続ける。(デフォルトは、~/restore) -makechars: 文字セットを作成し、 に上書きする インクリメンタル・モードで使用するため、~/john.potから文字頻度を基に した文字セットのファイルを作り出す。 なんらかのパスワードファイルを指定 しないかぎり、~/john.pot全部が文字セットファイルとして使用されるだろう 。また、このオプションで外部のfilter()ルーチンを使用することもできる。 -show クラックしたパスワードを表示する 見やすい形式でクラックしたパスワードを表示する。また、パスワードファ イルも指定する必要がある。 -test ベンチマークを実行する 性能が重要となるルーチンをベンチマークして、異なった数のアカウントと ソルトの推定クラック速度値の表を表示する。 パスワードクラッカーの内部をよく知らない人達にとって、xform1()と xform2()は、実際的な暗号化ルーチンで、setkey()が各単語だけを必要とする のに対し、キー/ソルトの各組を必要とする。これは、xform1()やxform2()が (使用しているクラッキング・モードによって)充分なソルトがロードされて いれば、クラックする速度に影響を及ぼす唯一のルーチンである、ということ を意味している。ちなみに、setkey()は、単語は1文字の長さにより異なり、 xform1()を使用した場合には、置き換わった1文字以上によって異なる −xform2()を使用した場合には、パスワードは8文字の長さで、完全に異なる (一致する文字列がない)−という前提でベンチマークされる。MD5に基づく パスワードファイルをクラックする場合には、他のすべてのルーチンの代わり にmd5crypt()が使用される。 -users:[,..]   この(これらの)ユーザのみクラック する クラック、または`-show'のために数個のアカウントをフィルターにかける ことができるようにする。 -shells:[!][,..]   この(これらの)シェルのユーザのみ クラックする このオプションは、要求されたシェルのアカウントだけをクラック/表示し たり、あるいは不正なシェルのアカウントをクラック/表示しないのに役立つ (シェル名の前の'!'は'not'を意味する)。シェル名の前のパスを省略するこ とができるが、'-shells:/bin/csh'は'/bin/csh'にのみ一致し、'-shells:csh' は、'/bin/csh'と'/usr/bin/csh'の両方に一致することになる。 -salts:[!] 少なくとも個数のアカウントだけソ ルトをクラックする。 この機能は、時としてより良い性能を実現することができる。例えば、 '-salts:2'を使用していくつかのソルトだけをより高速にクラックすることが でき、さらに、残りのソルトを'-salts:!2'を使用してクラックすることができ る。総クラック時間はほぼ同じだが、いくつかのアカウントをより早くクラッ クして、残りは必要としないかもしれない。 -lamesalts クリアテキスト・パスワードがソルトとして 使用されたとみなす。 自分のしていることがわからない場合、このオプションは使用しないこと。 -timeout: