2013年1月16日水曜日

john the ripper の使い方

Backtrack に収録されているパスワードクラックツール john the ripper の使い方。
/etc/shadow ファイルが必要なので root 権限が必要になる。
実際に使う場面としては root 権限はあるが他のユーザのパスワードを取得したい時などになる。

Linux 系のシステムではユーザとパスワードは以下の二つのファイルで管理されている。

/etc/passwd
/etc/shadow

passwd がユーザ属性が記述してあり、shadow がハッシュ化されたパスワードが格納されている。
john the ripper ではこの二つのファイルからパスワードを解析する。

ここでは、Backtrack のファイルを解析する。
まず最初に passwd ファイルと shadow ファイルを手元にコピーして john the ripper が解析できる形式に変換する。

root@bt:~# cp /etc/passwd ./passwd
root@bt:~# cp /etc/shadow ./shadow
変換するコマンドは unshadow で、pass ファイルと shadow ファイルを読み込ませて出力ファイルを設定する。
root@bt:~# /pentest/passwords/john/unshadow
Usage: unshadow PASSWORD-FILE SHADOW-FILE
root@bt:~# /pentest/passwords/john/unshadow passwd shadow > pass_shadow
root@bt:~# ls
Desktop  pass_shadow  passwd  shadow

ファイルができたら解析する。

root@bt:~# /pentest/passwords/john/john pass_shadow 
Warning: detected hash type "sha512crypt", but the string is also recognized as "crypt"
Use the "--format=crypt" option to force loading these as that type instead
Loaded 1 password hash (sha512crypt [32/32])
toor             (root)
guesses: 1  time: 0:00:00:00 DONE (Wed Jan 16 21:07:35 2013)  c/s: 23.33  trying: toor
Use the "--show" option to display all of the cracked passwords reliably
root@bt:~# 


これで解析できた。

ただし、実際の環境でこのコマンドを実行すると複数の解析モードが複数のユーザに対して延々実行されるのでかなりの時間がかかる。
実際に試す場合は下記のオプションを使い分ける。

john --single file_name : シングルモード、ユーザ名に含まれる情報から推測する、お手軽
john --wordlist=word_list file_name : 辞書解析、実質的に使えるのはこのモードまで
john --incremental file_name : ブルートフォースアタック、あまり使わないと思う


あとは、ユーザ名を付け加えるぐらいで十分。
john --users=user_name

解析が終わって結果を見る場合は --show コマンドで元のファイルを表示させる
./john --show pass_shadow

0 件のコメント:

コメントを投稿