パスワードクラッカーによる解析

 次に,なんらかの形でサーバにあるパスワードファイル(暗号化されたパスワードが記載されているもの:※1)を入手できた場合,前述したようにパスワードクラックツールを用いて,自分のマシンでパスワード解析を行うことができる。もちろんパスワードファイルそのものを見てもパスワードは暗号化されているため,そのままのパスワードが分かるわけではない。

 パスワードの暗号化は,UNIX標準では「DES」(Data Encryption Standard)という暗号化アルゴリズムが用いられる。パスワードは最長8文字までしか使用できないが,「MD5」という暗号化アルゴリズムが用いられていれば,8文字以上(最大256文字まで)のパスワードが設定できる。ただしどちらもパスワードクラッカーによるクラッキングは可能だ。

※1:パスワードファイルについて
サーバ側でshadowパスワードが使用されている場合,暗号化されたパスワードが記載されているパスワードファイルが,簡単に閲覧されることはない。またWeb認証や一部の掲示板などに使用されているパスワードファイルも閲覧されてしまえば,パスワードクラッカーによるクラッキングが可能である

 たとえば,あるパスワードファイルに以下のような情報が記載されているとしよう。

暗号化されたパスワード部分(YA1J4n0K1ZOwc)
         ↓

yamada:YA1J4n0K1ZOwc:16855:10001:
tamada taro :/home/yamada:/bin/bash
   
GECOSフィールド(tamada taro)

 ユーザー名がかかれている部分を「GECOSフィールド」というが,「ログイン名」=「パスワード」という方法や,パスワードファイルにあるGECOSフィールドを参照して,パスワードクラッカーは,パスワードとして使われていそうな単語を辞書として作成する。そして,辞書を元に攻撃するといった方法で単語を照らし合わせることでクラックを行うわけだ。また,それぞれの単語に対してのいろいろな組みあわせも(たとえばログイン名が「yuji」であれば「YUJI」や「YUJ1」,「yuji7」など),パスワードクラッカーが自動的に試してくれる。パスワードクラッカーツールは,UNIXやWindowsでは「John the Ripper」,Macintoshでは「MacCrac」,「Meltino」などがある。

画面
写真2■John the Ripperは有名なパスワードクラックツールだ。コマンドプロンプトで利用する

 クラッカーはパスワードファイルを入手したら,たいていの場合まず初めにシングルモード(パスワードとしてログイン名やGECOS情報を使用し,いくつかの組みあわせパターンも試す方法)でパスワードクラックを試みる。この段階で,パスワード設定の甘いユーザーはクラックされてしまう。

 そして次に辞書を用いたクラックへと移行していく。当然ながら辞書の中身(単語の量)に比例して,パスワード解析にも時間がかかる。そこでクラッカーはあらかじめパスワードとして使用されている可能性の高い単語を選び,効率よくクラックできる辞書を作成するわけだ。

 たとえば,「女性名」(「mihomiho」,「yumiko」など)や,「車の車種名」(「silvia」,「180sx」),アニメ系の単語(「doraemon」,「nobitakun」)など,それぞれの分野の中から,パスワードとして使用されそうなものを選ぶわけだ。実際に女性名(彼女や奥さんの名前?)をパスワードにしている例は多いようで,女性名でのヒット率は高い。

 これ以外にも,パスワードクラッカーによっては,いくつかのモード(パスワードを生成してアタックするなど)を選んでクラックすることもある。つまり,甘いパスワードを設定していれば,比較的短時間でクラックされてしまうのだ。

画面
写真3■MacCracを使用してパスワードファイルを解析している画面。赤色の部分がクラックに成功している

PREV 3/4 NEXT