John the Ripper

出典: フリー百科事典『ウィキペディア(Wikipedia)』
John the Ripper
/etc/shadowのパスワードリストを使用してjohnを実行している様子
開発元 OpenWall英語版
初版 1996年 (28年前) (1996)[1]
最新版
1.9.0[2] / 2019年5月14日 (5年前) (2019-05-14)
リポジトリ ウィキデータを編集
対応OS クロスプラットフォーム
種別 パスワードクラッキング
ライセンス
公式サイト www.openwall.com/john/ ウィキデータを編集
テンプレートを表示

John the Ripperは、パスワードクラッキングのための自由ソフトウェアツールである[3]。元々はUNIX向けに開発され、15の異なるプラットフォームで実行することができる[注釈 1]。これは多数のパスワードクラッカーを1つのパッケージに統合し、パスワードハッシュの種類を自動的に検出することができ、カスタマイズできるパスワードクラッカーを含むので、最も頻繁に使用されるパスワードのテスト及び解読のためのプログラムの1つである[4]。様々なUNIXのバージョンで最も一般的に見られるcrypt英語版のパスワードハッシュ[注釈 2]Kerberos AFS及びWindows NT/2000/XP/2003のLMハッシュを含む様々な暗号化されたパスワード形式に対して実行することができる。追加のモジュールによってにMD4に基づくパスワードハッシュとLDAPMySQLなどに保存されているパスワードを含める機能が拡張された[5]

出力例[編集]

以下はDebian環境での出力例である。

$ cat pass.txt
user:AZl.zWwxIh15Q
$ john -w:password.lst pass.txt
Loaded 1 password hash (Traditional DES [24/32 4K])
example         (user)
guesses: 1  time: 0:00:00:00 100%  c/s: 752  trying: 12345 - pookie

最初の行は「pass.txt」の内容を表示するコマンドである。次の行はファイルの内容、つまりユーザー(AZl)とそれに関連付けられたハッシュ(zWwxIh15Q)である。3行目は「-w」フラグを使用してJohn the Ripperを実行している。「password.lst」はプログラムがハッシュの解読に利用する単語の一覧が入ったテキストファイルのファイル名である。pass.txtはJohnに処理させたいファイルである。

実行されたJohnの出力を見てみると、1つのパスワードハッシュ(「cat」コマンドで見たハッシュ値)とJohnが推測したハッシュの種類(従来のDES)がロードされている。また、この試行は0秒で1つの推測が行われ、推測率は100%であることが分かる。

攻撃の種類[編集]

Johnが使用できる攻撃の種類の1つは辞書攻撃である。これは、テキスト文字列のサンプル[注釈 3]を取得し、検査対象のパスワードと同じ形式で暗号化して[注釈 4]、その出力を検査対象のパスワードと比較する。また、辞書の単語に様々な変更を加えて、これを試すこともできる。これらの変更の多くは、関連するプレーンテキスト[注釈 5]を変更し、ハッシュ値に対して変化を確認するJohnのシングルアタックモードでも使用される。

Johnは総当たり攻撃も提供している。この攻撃では、プログラムは全てのプレーンテキストに対して暗号学的ハッシュ関数を適用して、入力されたハッシュ値と比較する。Johnは文字の出現頻度を格納したテーブルを使用して、より頻繁に使用される文字を含むプレーンテキストを最初に試す。この攻撃は、辞書の単語リストにないパスワードを解読する場合に役に立つが、実行には長い時間が必要になる。

脚注[編集]

注釈[編集]

  1. ^ そのうちの11は、UNIX、DOSWin32BeOSOpenVMSのアーキテクチャ固有のバージョンである。
  2. ^ DESMD5またはBlowfishに基づく。
  3. ^ 通常、辞書で見つかった単語や、以前に解読された実際のパスワードを含むワードリストと呼ばれるファイルを用いる。
  4. ^ 暗号化アルゴリズムと鍵の両方を含む。
  5. ^ 暗号化されたパスワードを持つユーザー名など。

出典[編集]

  1. ^ john-users - Re: When was John created?”. 2022年7月8日閲覧。
  2. ^ Announce - [openwall-announce] John the Ripper 1.9.0-jumbo-1”. 2022年7月8日閲覧。
  3. ^ Anonymous (2001). Maximum Linux Security (2 ed.). Sams Publishing. p. 154. ISBN 0-672-32134-3 
  4. ^ Password Crackers”. Concise Cybersecurity. 2017年4月4日時点のオリジナルよりアーカイブ。2016年12月3日閲覧。
  5. ^ John the Ripper”. sectools.org. 2022年7月8日閲覧。

関連項目[編集]

外部リンク[編集]