魂まで支配されかねない「名前を知られる」という事件セキュリティ対策の「ある視点」(7)(2/4 ページ)

» 2008年02月08日 00時00分 公開

最も重要なユーザー名の取得、そして……

 取得できる情報の中で最も重要と思われる情報とは、やはりユーザー名だろう。

図5 LanSpyで取得できたユーザー名のリスト 図5 LanSpyで取得できたユーザー名のリスト

 システムへのログオンに関するセキュリティでは、パスワードの重要性がなにかと取りざたされるのだが、ユーザー名もパスワードと同等とまではいかないにしても、セキュアに扱うべきであると筆者は考えている。

 ユーザー名が判明しないことには、ユーザー名を固定したブルートフォースアタックなどのパスワード推測を行うことはできない。極端ないい方かもしれないが、パスワードが判明したとしてもユーザー名が判明しなければログオンすることはできないのである。

 ブルートフォースの手法の中には、リバースブルートフォースという、脆弱なパスワードを固定し、ユーザー名を推測するという手法も存在する。しかしユーザー名が容易に推測できなければ、この手法に対してもある程度の強度を保つことが可能である。

 ブルートフォースとリバースブルートフォース、それぞれの手法を見ることでユーザー名もパスワード同様に攻撃(クラッキング)の対象になるということが分かるだろう。

 根本的にいえば、狙われるのはユーザー名だけでもパスワードだけでもなく、その両方を合わせた「アカウント」であるため、ユーザー名、パスワードともにセキュアに扱うことが大前提であるのはいうまでもない。

最も危険なパスワードとは

 さて、ペネトレーションテストでは、ユーザー名が判明した場合、どのようにパスワード推測を行うのかを見てみよう。

 まず、ユーザー名が判明した場合は、Windowsに限ったことではないが、以下の2つのパターンのオンラインパスワードクラッキングを実施する。

  1. Null(空)パスワードか?
    (パスワードが設定されていないという意味)
  2. Joeパスワードか?
    (「ユーザー名 = パスワード」という状態という意味)

 つまり、容易に判明しそうなアカウントが存在するか否かの調査を行うわけである。

 それでは、実際の調査の様子を追っていこう。

 使用した情報は、先ほどLanSpyにてWindows 2000から取得できた8つのユーザー名をテキストファイル(今回は「userlist」という名前)に保存したもの。そして、使用したのは「Hydra」というツールである。

Administrator

ace

king

zoom

muman

topper

karoyama

joker

リスト1 userlistの内容

 下図は、その実行結果ログである。

図6 Hydraの実行結果 図6 Hydraの実行結果

 上図の赤ラインで囲われた個所に注目してほしい。

[139][smb] host: xxx.xxx.xxx.xxx login: zoom password:

[139][smb] host: xxx.xxx.xxx.xxx login: karoyama password: karoyama


 これは、ユーザー名「zoom」のパスワードが設定されていない(空文字)ことと、ユーザー名「karoyama」のパスワードが「karoyama」であると判明したことを教えてくれている。

 今回は、Nullパスワード、Joeパスワードについてのみのパスワードクラッキングを試みているが、ペネトレーションテストでは、この後、一般的によく使用される単語や文字列が記述された辞書ファイルを用いたオンラインパスワードクラッキングを行う。

 しかし、ペネトレーションテストの現場では、そのフェイズに移る前、つまり、今回のようなNullパスワード、Joeパスワードでのオンラインパスワードクラッキングの段階でいくつかのユーザーのクラッキングに成功することが多いのが実情である。特にActive Directoryサーバなど、ユーザーが多数存在するサーバに対して検査を行った場合は、驚くほどの確率でこのような状態のユーザーに出会うかもしれない。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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