John the Ripper

John the Ripperは、パスワードクラッキングを目的とした、非常に汎用性の高い自由ソフトウェアツールです。当初はUNIX環境向けに開発されましたが、現在では15種類以上のプラットフォームで利用可能です。このツールは、複数のパスワードクラッカーを一つのパッケージに統合しており、与えられたパスワードハッシュの種類を自動的に識別する機能も備えています。

John the Ripperの最大の特徴の一つは、そのカスタマイズ性です。ユーザーは、さまざまなパスワード解読アプローチを試すことができ、頻繁に使用されるパスワードのテストや解読に非常に役立ちます。対応する暗号化されたパスワード形式も多岐にわたり、一般的なUNIXシステムで見られるcryptハッシュ、Kerberos AFS、Windows NT/2000/XP/2003のLMハッシュなどが含まれます。さらに、モジュールを追加することで、MD4ベースのパスワードハッシュや、LDAP、MySQLなどのデータベースに保存されたパスワードにも対応可能です。

Debian環境での使用例

以下は、Debian環境でJohn the Ripperを使用する際の例です。

1. `cat pass.txt` : このコマンドは、`pass.txt`ファイルの内容を表示します。
2. `AZl:zWwxIh15Q` : ファイルの内容は、ユーザー名(`AZl`)とそのパスワードハッシュ(`zWwxIh15Q`)です。
3. `john -w password.lst pass.txt` : このコマンドは、John the Ripperを実行します。`-w`フラグは、単語リストを含むファイル(この場合は`password.lst`)を指定し、`pass.txt`ファイルに記載されたハッシュの解読を試みます。

実行結果を見ると、1つのパスワードハッシュがロードされ(catコマンドで表示されたもの)、ハッシュの種類(この場合は従来のDES)が特定されていることがわかります。また、この試行は0秒で完了し、1つの推測が行われ、推測率は100%であることが示されています。

攻撃の種類

John the Ripperは、複数の攻撃手法を提供していますが、その中でも代表的なものに以下の二つがあります。

辞書攻撃
この攻撃手法では、あらかじめ用意された単語リスト(辞書)から単語を取り出し、解読対象のパスワードと同じ形式で暗号化します。その後、生成されたハッシュ値を解読対象のハッシュ値と比較することで、パスワードの特定を試みます。辞書内の単語だけでなく、一般的なパスワードの変更パターン(文字の置換や数字の追加など)も試すことができます。このプロセスは、Johnのシングルアタックモードでも利用され、ハッシュ値と関連するプレーンテキストの変更を検証するのに役立ちます。

総当たり攻撃(ブルートフォースアタック)
この攻撃では、プログラムはすべての可能なプレーンテキストに対して、暗号ハッシュ関数を適用し、生成されたハッシュ値を解読対象のハッシュ値と比較します。John the Ripperは、文字の出現頻度に基づいたテーブルを利用して、より頻繁に使用される文字を含むプレーンテキストから試行します。この手法は、辞書に含まれていない複雑なパスワードを解読する際に有効ですが、非常に時間がかかることがあります。

関連情報

力まかせ探索総当たり攻撃とも呼ばれ、すべての可能性を試す方法です。
Crack:パスワードを解読する行為や、そのためのツールを指します。
Openwall Project:John the Ripperの開発を支援するプロジェクトです。
パスワードクラック:パスワードを解読する行為全般を指します。

外部リンク

* 公式ウェブサイト

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。