John the Ripper

これはなに?

John the Ripperはパスワード解析ツールである。

「おいおい物騒なソフトだな」って?そう考える君は甘い!このJohn the Ripperは解析に必要なファイルを揃えるのにそのサーバの管理者権限が必要なものが含まれるし、ツール自体も古典的な辞書解析や総あたり(インクリメンタル)解析をするツールなわけで、当然複雑なパスワードを解析しようとしたら途方もない時間がかかって実用的ではない。そういう用途には使いものにならない。

(確かに、暗号化したデータがあれば原理的には総あたりでクラック可能です。しかしjohn the ripperでそれをやろうとしても、その答えを見るのは貴方が死んで数十万年未来の子孫かもしれない。原理は正しくてもこれでは使用できないのは言うまでもありません)

ではこのツールの存在価値は何かというと、「正当な管理者が、適当なパスワードでお茶を濁している人を探し出す」ためのソフトと言っていい。実際、これでアッというまに割り出されるのはIDとパスワードが同じとか英単語を使うもの、あるいは四桁以下の短いものに限られるわけで、これでさっくり割り出されるようなパスワードを使っているほうがはるかに危険である。

なんとかとハサミではないが道具とはそういうものだ。ポートスキャナーの古典としてセキュリティ対策に使われるnmapだって当然、おばかな管理者を探し出すためのツールとしても使うことができるのだから。

入手方法

Debian GNU/Linuxを使っているのならパッケージツールか aptitude を動かせばすぐに「john」というパッケージが見つかるだろう。これをインストールすればOK。

その他の場合でもパッケージが用意されている場合もあるし、Windows、MacOS Xなどなら本家のページにパッケージがある。ツールの性格上ここには書かないし質問されても答えないつもりだが、検索すれば実に容易に見つけられるだろう。

使い方

詳しくはman johnするといい。

基本的には $ john passwordfile で動くのだが、こんな手順もあったほうがいいかな?

$ unshadow /etc/passwd /etc/shadow > p.txt
$ john p.txt   ( john -users:hachikun p.txt )

結果は保存される。以下で閲覧もできるぞ。

$ john -show p.txt