連載
» 2006年02月17日 00時00分 公開

ツールを使ってネットワーク管理(6):ユーザー名と同じ安易なパスワードを撲滅せよ! 〜危険なパスワード調査編〜 (3/4)

[山本洋介,@IT]

John the Ripperで解析してみる

 これでパスワードを解析する準備の方は整いました。早速、John the Ripperを使って解析することにします。サーバの方でも使えなくはないですが、マシンにかなりの負担を掛けてしまいますので、必ず自分のマシンで実行しましょう。

 先ほどunshadowを実行したフォルダでjohn-mmx(もしくはjohn-386)とコマンドを打つとオプション一覧が表示されると思います。

\john-17\run>john-mmx
John the Ripper password cracker, version 1.7
Copyright (c) 1996-2006 by Solar Designer and others
Homepage: http://www.openwall.com/john/
Usage: john-mmx [OPTIONS] [PASSWORD-FILES]
--single "single crack" mode
--wordlist=FILE --stdin wordlist mode, read words from FILE or stdin
--rules enable word mangling rules for wordlist mode
--incremental[=MODE] "incremental" mode [using section MODE]
--external=MODE external mode or word filter
--stdout[=LENGTH] just output candidate passwords [cut at LENGTH]
--restore[=NAME] restore an interrupted session [called NAME]
--session=NAME give a new session the NAME
--status[=NAME] print status of a session [called NAME]
--make-charset=FILE make a charset, FILE will be overwritten
--show show cracked passwords
--test perform a benchmark
--users=[-]LOGIN|UID[,..] [do not] load this (these) user(s) only
--groups=[-]GID[,..] load users [not] of this (these) group(s) only
--shells=[-]SHELL[,..] load users with[out] this (these) shell(s) only
--salts=[-]COUNT load salts with[out] at least COUNT passwords only
--format=NAME force ciphertext format NAME: DES/BSDI/MD5/BF/AFS/LM

 John the Ripperには大まかに分けて3つのパスワード解析モードがあります。

・シングルモード

 シングルモードではパスワードがなかったり、ユーザー名=パスワードだったり、ユーザー名を少し並べ替えたりするくらいの、パスワードファイルにある情報だけでパスワードを探すモードです。このモードでパスワードが見つけられるというくらいならかなり単純なパスワードを設定しているといえます。

C:\john-17\run>john-mmx --single passfile

・辞書クラックモード

 辞書クラックというのはパスワードで使われていそうな単語をたくさん収録した辞書ファイルを作って、そこに記載されている単語が登録されているパスワードでないか調べます。-rulesオプションで辞書に載っている単語を変形させて試すこともできます。よくある英単語やらキャラクター名などをパスワードにしている人は見つけられやすいでしょう。

C:\john-17\run>john-mmx --wordfile=wordfile.dic --rules passfile

・インクリメンタルクラックモード

 インクリメンタルクラックというのはaから順にb、c、d、……、aa、ab、a9、a! ……、aaaaaaaと見つかるまでパスワードを1文字ずつ変更させてクラックするやり方です。さすがにこのやり方をずっと進めていけばいつかは必ず見つかるはずです。ただ設定されているパスワードが短ければいいのですが、けたが多くなればなるほど時間がかかってしまいます。長いものだと何年もかかってしまいますので、あまり実用的ではありません。

C:\john-17\run>john-mmx --incremental=ALL passfile

 パスワードが見つかると、

Loaded 47 password hashes with 47 different salts (FreeBSD MD5 [32/32])
abc (eight)
TAKUJI (takuji)
ceo (ceo)
hiroshi (hiroshi) 
(略)
guesses: 24 time: 0:00:00:13 100% c/s: 6719

のように表示されます。

 また、どのモードであってもコントロール( Ctrl )+Cで中断することができ、

C:\john-17\run>john-mmx --restore

で続きを実行することが可能です。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。