「鍵は“J”の中にあるよ」CTF by ダークナイト解答編セキュリティ・ダークナイト(3)(4/4 ページ)

» 2010年02月22日 00時00分 公開
前のページへ 1|2|3|4       

補習:1つのファイルに隠れた「ジキルとハイド」

図17 解答後にもう一問 図17 解答後にもう一問

【問題文】

Where does hyde lurk?


 問題文は「ハイドはどこに潜んでいるのだろう」。まずは問題ファイルを、もはやおなじみとなった「file」コマンドを実行してみよう。

図18 Microsoft Word文書のようだが…… 図18 Microsoft Word文書のようだが……

 結果は、上図の通り、Microsoft Wordファイルのようである。では、開いて見てみてよう。

図19 Wordファイルを開く 図19 Wordファイルを開く

 「私はジキル」と書かれている。しかし、「file」コマンドの結果には、「Title: I am hyde」とある。問題文にもある通り、ハイドはどこかに潜んでいるのである。しかし、Wordドキュメントの関連の調査を行ってもこの問題は先に進むことはできない。いま見えているものばかりが答えにつながらないのだ。

 それでは、次にファイルそのものに何か隠された文字列がないかの確認のために「strings」コマンドを実行してみよう。

図20 stringsには「Excel」の文字が 図20 stringsには「Excel」の文字が

 文字列の最後に「Microsoft Office Excel」「Excel.Sheet.8」という文字列が見つかることだろう。何も手を加えていないWordドキュメントは下図のように、このような表示はされない。

図21 通常のWordファイルのstring 図21 通常のWordファイルのstring

 このWordドキュメントにはExcelワークシートが隠されている可能性があるのである。ちなみに、GUIでは、「Structured Storage Viewer」を使うことでこのトリックを見破る糸口を見つけることができる。

図22 Structured Storage Viewerでファイルを開く 図22 Structured Storage Viewerでファイルを開く

 それでは、この「.doc」としたWordドキュメントを「.xls」とリネームし、開いて見よう。問題なく、Excelドキュメントとして開くことができる。

図23 同一のファイルをExcelで開く 図23 同一のファイルをExcelで開く

 さて、開くことは開けた。「私はハイド」と書かれているが、答えがどこにあるのかは一見分からない。ここのトリックは、分かってしまえばなんということのない、本当に古典的なトリックである。

 貼り付けてある画像を移動させて、全選択(ctrl+a)をしてみて欲しい。うっすらと文字が浮かび上がっている。縦書きで「consistency」と。

図24 写真の下に隠された解答文字列 図24 写真の下に隠された解答文字列

 この稚拙とも呼べるトリックに地道に気付く方法以外にも、この文字列を導き出すことのできるツールをこの問題にチャレンジし、正解した方にお教えいただいた。

 その方法とは、ファイルの拡張子を「.xls」としてから「xdoc2txt」というツールを使って文字列抽出を行う方法である。この方法をであれば、「xls」にすることさえ気付けば一瞬で正解にたどり付くことができるだろう。

図26 xdoc2txtで開くと 図26 xdoc2txtで開くと

CTFチャレンジは自分の枠を超えるために

 前回、前々回と筆者がチャレンジした問題を紹介し、正解への過程を解説させていただいた。そして、今回は、筆者が作成した問題にチャレンジいただき、その解答を解説させていただいた。中には、筆者が想定していない解き方で正解にたどりついた方もいるだろう。

 正解にたどり付く決め手にならない方法をさまざま考え、試された方もたくさんいらっしゃるようだ。しかし、それは、単なる無駄ではなく、楽しみであり、日常触れなかったものへの学習につながったのではないだろうか。

 筆者自身も、CTF09の予選に参加することで、ひと言ではいい表せないさまざまなことを学ぶことができたと強く感じた。その感覚をより多くの方々に感じて欲しいと思い、問題を作成し、出題させていただいたのである。

 人は、無自覚なまま、固定観念という牢獄に自らとらわれてしまう。しかし、そんな牢獄は誰かに用意されたものではなく、知らず知らずのうちに自分自身が作り出した「枠」なのかもしれない。

 日常生活、人間関係、そして、コンピュータセキュリティ。どのような分野においても自身の目に見えるもの、自身の経験から知っているものだけが物事のすべてではなくその「枠」を超えたところに「答え」と呼べるものがあるのかもしれないと筆者は考えている。

筆者紹介

NTTデータ・セキュリティ株式会社

辻 伸弘(つじ のぶひろ)

セキュリティエンジニアとして、主にペネトレーション検査などに従事している。

民間企業、官公庁問わず多くの検査実績を持つ。

自宅では、趣味としてのハニーポットの運用、IDSによる監視などを行っている。

▼辻氏のブログ「(n)」: http://n.pentest.jp/

▼辻氏のTwitter: http://twitter.com/ntsuji



前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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