Linux
Tips |
|
パスワードが安全か調べるには(John the Ripper編)
北浦訓行
2002/1/17
|
セキュリティパッチをまめに当てていても、パスワードが簡単だと容易にクラッキングされてしまう。そこで、パスワードの解析ツールを使って、自分のパスワードが安全かどうか確かめてみてはどうだろう。ここでは、「John
the Ripper」というツールを使って、パスワードが解析可能かチェックする方法を説明する。
まず、John the RipperのWebサイト(http://www.openwall.com/john/)からソースファイル(john-1.6.tar.gz)をダウンロードして、適当なディレクトリで展開する。
$ tar zxvf john-1.6.tar.gz
(省略)
$ cd john-1.6/src ←生成されたディレクトリに移動 |
makeコマンドでは、自分の使用している環境に適したオプションを指定する必要がある。引数なしでmakeコマンドを実行すると、指定可能なオプション一覧が表示される。
$ make
To build John the Ripper, type:
make SYSTEM
where SYSTEM can be one of the following:
linux-x86-any-elf Linux, x86, ELF binaries
linux-x86-mmx-elf Linux, x86 with MMX, ELF binaries
linux-x86-k6-elf Linux, AMD K6, ELF binaries
linux-x86-any-a.out Linux, x86, a.out binaries
linux-alpha Linux, Alpha
linux-sparc Linux, SPARC
(省略) |
MMX Pentium以降のPentiumを搭載したPCであれば、「linux-x86-mmx-elf」を指定すればいいだろう。もし、このオプションを指定してエラーが出た場合は、これに近いオプション(例えば「linux-x86-any-elf」や「linux-x86-any-a.out」など)を指定して再度実行してみる。それでもうまくいかないときは、「general」というオプションを指定する。以上の作業で、john-1.6/runディレクトリにJohn
the Ripperのコマンド本体やツール類が置かれる。
$ make linux-x86-mmx-elf
(省略)
$ cd ../run ←バイナリが保存されているrunディレクトリに移動 |
解析を試みる前に、もう1つやっておくことがある。それは、解析するためのデータファイルの作成だ。最近のディストリビューションはシャドウパスワードになっているので、unshadowというコマンドを使ってパスワードファイルとシャドウパスワードファイルを結合する。また、シャドウパスワードのファイルはrootしか読めないのでrootになっておくこと。
$ su
Password:
# ./unshadow /etc/passwd /etc/shadow > passwdfile
# exit
exit |
いよいよパスワードの解析だ。
$ ./john passwdfile
Loaded 6 passwords with 6 different salts (FreeBSD MD5 [32/32])
suzuki (suzuki) ←ユーザーIDとパスワードが同じ |
John the Ripperには、解析のためのオプションがいくつかある。代表的なものは、辞書を使った解析だろう。John the Ripperには、デフォルトでrun/password.lstという辞書がある。この辞書を使用する場合は、以下のオプションを指定する。
$ ./john -wordfile:password.lst passwdfile
Loaded 5 passwords with 5 different salts (FreeBSD MD5 [32/32])
coffee (tanaka) ←パスワードに英単語を使用 |
John the Ripperには、これ以外にも多くのオプションやツールが用意されている。具体的には、john-1.6/docディレクトリにあるドキュメントを参照のこと。なお、パスワード解析用の辞書は日本語版も含めて用意されており、オックスフォード大学のFTPサイト(ftp://ftp.ox.ac.uk/pub/wordlists/)などからダウンロードできる。
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間