
第9回 人の造りしもの――“パスワード”の破られ方と守り方
辻 伸弘
NTTデータ先端技術株式会社
2008/5/8
| ※ご注意 本記事に掲載した行為を自身の管理下にないネットワーク・コンピュータに行った場合は、攻撃行為と判断される場合があり、最悪の場合、法的措置を取られる可能性もあります。また、今回紹介するツールの中には、攻撃行為に利用されるという観点から、アンチウイルスソフトにウイルスとして検出されるものも存在します。このような調査を行う場合は、くれぐれも許可を取ったうえで、自身の管理下にあるネットワークやサーバに対してのみ行ってください。 また、本記事を利用した行為による問題に関しましては、筆者およびアイティメディア株式会社は一切責任を負いかねます。ご了承ください。 |
第8回「魂、奪われた後――弱いパスワードの罪と罰」では、攻撃者がシステムへ侵入した後、どのようなことを行うのかをペネトレーションテストの現場を例に挙げ解説した。
今回も引き続きパスワードをテーマにするが、本題に入る前に前回のコラムで出題した、ハッシュ化されたパスワードの復元の問題の解答をお送りしよう。順を追って解説していくので、解けなかった方も内容を確認しつつ、再チャレンジしていただければ幸いである。
それでは、早速、前回出題した問題を見てみよう。
【前回コラムの問題】 「辻伸弘株式会社」という組織の「Administrator」の
|
パスワード復元、その考え方を追う
| 【編注】 本項では解答となる文字列を、クリックするまで見えないようにしております。実際にツールを使いながら、パスワード復元の思考を追いかけてみてください。 |
まずは、このハッシュを「question.dump」という名前で保存し、デフォルトモードで「John The Ripper」を実行する。その結果は以下のとおりである。
| [root@localhost run]# ./john question.dump Loaded 2 password hashes with no different salts (NT LM DES [32/32 BS]) MIN (Administrator:2) guesses: 1 time: 0:00:00:00 (3) c/s: 158726 trying: LMS - 1995 Session aborted |
| リスト1 John The Ripperの実行結果 |
上記のように、瞬時に後半の3文字が「MIN」(大文字か小文字かはこの時点では判明しない)であることが判明する。ここで前回説明した、Windowsのパスワードハッシュが7文字区切りで格納されているということを思い出してほしい。つまり、判明していない前半の7文字+判明している後半の3文字「MIN」で10文字の文字で構成されているパスワードであるということである。
●判明文字列からの単語推測
それでは、次に前半の7文字がどのような文字列であるかを考えてみよう。現在、唯一判明している後半の3文字がヒントとなる。「MIN」という文字列に対して、前に何を付けるかを考えてみてほしい。ここでは7文字でなくても構わない。よく使用されそうで安易なものを想像してほしい。ヒントは、
- 2001年9月にインターネット上で猛威を振るったワームの名前を逆に読むものである
- 付け足す文字は2文字である
の2つである。
わたしなら、この文字列から「ADMIN」、つまりAdministratorの略称を想像する。「MIN」で構成されている単語が「ADMIN」であると仮定すると、残りの文字数は、「全体(7+3=10)−後半の「MIN」(3文字)−推測した「AD」(2文字)=5文字」となる。
●文字数からの文字列推測
ここで思い出してほしいのは、出題した問題の文章である。ここに5文字となる単語はないだろうか。ヒントはいうまでもないかもしれないが、社名である。
正解は、辻(TSUJI)である。
先ほど、予測した文字列と連結すると「TSUJIAD」となる。ここまではあくまで予測でしかないので、次にこの文字列で正しいかということを、John The Ripperの辞書モードを用いて確認してみよう。
「question.dict」というファイルの前半に、今回パスワードに設定されていると思われる文字列「TSUJIADMIN」を記述し実行してみよう。結果は以下のとおりである。
| [root@localhost run]# ./john --wordlist=question.dict question.dump Loaded 1 password hash (NT LM DES [32/32 BS]) TSUJIAD (Administrator:1) guesses: 1 time: 0:00:00:00 100% c/s: 33.33 trying: TSUJIAD |
| リスト2 推測した文字列を用いて辞書モードを実行する |
上記のように前半7文字が予想どおりの「TSUJIAD」であることが判明した。これと、デフォルトモードで実行した結果の後半3文字「MIN」とを連結すると「TSUJIADMIN」となる。
ただし、この段階で「TSUJIADMIN」がパスワードであるとはいい切れない。前回も解説したが、John The Ripperは、デフォルトではLMハッシュに対してのパスワード復元を行うため、結果はすべて大文字で出力してしまう。よって、辞書ファイル(question.dic)に小文字のパターン「tsujiadmin」をさらに加え、オプションには「--format=NT」を付け加えて再度実行してみよう。
| [root@localhost run]# ./john --wordlist=question.dict --format:NT question.dump Loaded 1 password hash (NT MD4 [TridgeMD4]) guesses: 0 time: 0:00:00:00 100% c/s: 100 trying: tsujiadmin |
| リスト3 辞書ファイルに「すべて小文字のパターン」を加えて再度実行する |
大文字と小文字のパターンでは復元することはできなかったことが上記結果で分かるだろう。この結果からは、パスワードに設定されている文字列は大文字と小文字が混在しているということが判明したといえる。
次に、辞書ファイル内の単語を変化させ、復元を試みるためのオプション「--rules」を付け加えて実行してみよう。
| [root@localhost run]# ./john --wordlist=question.dict --format:NT --rules question.dump Loaded 1 password hash (NT MD4 [TridgeMD4]) tsujiadmiN (Administrator) guesses: 1 time: 0:00:00:00 100% c/s: 833 trying: tsujiadmiN |
| リスト4 --rulesを用いて実行する |
上記の結果、最後の文字だけ大文字にした「tsujiadmiN」がパスワードであることが判明した。この文字列が前回出題した問題の正解である。
ここまでの実行結果を下図のとおりまとめた。
|
| 図1 パスワード復元の思考フロー |
正解にはたどりつけただろうか? 解答と前回の記事を比べていただければ分かるのだが、前回の記事で紹介した内容と、ほんの少しの推測を加えることで、正解にたどりつけるようになっている【注1】。
| 【注1】 今回は解答編ということで可能な限り細かく解説させていただいたのだが、ペネトレーションテストの現場では、このようなことを瞬時に行い、トライ&エラーを繰り返し、検査を行っている。 |
正解にたどりつけなかった方も、今回の解説を参考にし、ご自身の環境で再現してもらえると幸いである。
この問題の解答である管理者パスワードのような組織名やシステム名、管理者名に関係する文字列+管理者IDと同じ文字列といった文字列をパスワードにしている方は、この記事を読まれてドキっとしたのではないだろうか。例えば、「●●+admin」や「▲▲+root」などである。ここでドキっとされた方は、この記事を読み進めたあと、すぐにパスワードを変更することを強くお勧めする。
1/4 |
| Index | |
| 人の造りしもの――“パスワード”の破られ方と守り方 | |
| Page1 パスワード復元、その考え方を追う |
|
| Page2 復元ツールの存在を踏まえたパスワードの保護設定を考える |
|
| Page3 サーバの再起動ができない環境で今やるべきこと NTLMハッシュへの攻撃――Rainbow Crackにも耐えられるか |
|
| Page4 パスワードへの攻撃、根本的な対策はあるのか いま、わたしたちが取れる対策とその考え方 |
|
セキュリティ対策の「ある視点」 バックナンバー
- 第1回 たった2行でできるWebサーバ防御の「心理戦」
- 第2回 ディレクトリ非表示の意味をもう一度見つめ直す
- 第3回 「Forbidden」「サンプル」をセキュリティ的に翻訳せよ
- 第4回 メールサーバ防御でも忘れてはならない「アリの一穴」
- 第5回 DNS、管理者として見るか? 攻撃者として見るか?
- 第6回 己を知り、敵を知る――Nmapで見つめ直す自分の姿
- 第7回 魂まで支配されかねない「名前を知られる」という事件
- 第8回 魂、奪われた後――弱いパスワードの罪と罰
- 第9回 人の造りしもの――“パスワード”の破られ方と守り方
- 第10回 SNMPコミュニティ名、そのデフォルトの価値は
- 第11回 ハニーポットによるウイルス捕獲から見えてくるもの
- 第12回 プレイバックPart.I:ウイルスのかたち、脅威のかたち
- 第13回 プレイバックPart.II:シフトした脅威の中で
- 第14回 ASV検査、ペネトレテスターの思考を追う
- 第15回 報告、それは脆弱性検査の「序章」
- 第16回 たった1つの脆弱性がもたらすシステムの“破れ”
- 最終回 Q.E.D.――セキュリティ問題を解決するのは「人」
| セキュリティ対策の「ある視点」 連載インデックス |
TechTargetジャパン
- Facebook タイムライン利用時の「鉄則」 (2012/2/9)
ユーザーインターフェイスの変更措置に伴い浮上した、Facebookの「過剰な情報提供」のリスクと対策とは - 無料サービスなら通信内容を記録してもいいの? (2012/1/13)
無料の公衆無線LANサービスが、ユーザーに無断で通信履歴を記録していたことが判明し、話題に - 攻撃はまるでレーザービーム (2011/12/26)
2011年に話題となった標的型攻撃は「人」という弱点ををねらい打ちにしました。では、人に教育さえしておけば防げるものなのでしょうか? - 見せたくないなら「持たせない」が鉄則! (2011/12/15)
逆コンパイル対策で難読化したのに、大事なデータが解析されちゃった? Androidアプリのセキュリティの道は深い
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

