第3回 「鍵は“J”の中にあるよ」CTF by ダークナイト解答編
NTTデータ先端技術株式会社
辻 伸弘
2010/2/22
第3回は「ダークナイトからの挑戦状」解答編です。さらなるトリッキーな問題も用意したので、もの足りないチャレンジャーも必読の記事です(編集部)
第2回「魂を奪え! 隠されたシークレット・パスワード」の最後で、筆者なりのCTF的問題を出題した。この問題にチャレンジしていただけただろうか。筆者のTwitterでヒントを出していたので正解にたどり着けた方も多いだろう。ヒント自体は、できるだけ回りくどく出したつもりなので、中には正解にたどり着けずイライラした方もいらっしゃるかと思う。
今回は、その出題した問題の解答をお届けしよう。第1回、第2回と同様、正解までの道筋を可能な限り丁寧に解説していくので、解けなかった方も、この連載記事を初めて読む方も読みながら解き進めて欲しい。「答えはこれだ!」で終了といったものにするつもりはないのでご安心を。もちろん、途中でひらめいた方は記事を読むのを止めて、問題に再チャレンジしていただきたい。
今回、解説させていただくのは、筆者なりの模範解答「例」とさせていただく。解き方は1つではないからだ。では、始めよう。
まずはファイル内容の特定
問題はこの1文だけだった。
| 【問題文】 J will solve two concealed mysteries. |
問題ファイルには拡張子がついていないため、そもそもどういった種類のファイルであるか分からない。それを特定することから始めよう。まずは「file」コマンドによる確認を行う。
![]() |
| 図1 fileコマンドを実行。「RAR archive」と表示されている |
ここから、RAR形式書庫だと判断できる。ファイル名に拡張子「.rar」を付加して、実際に「WinRAR」で開いてみよう。
![]() |
| 図2 拡張子をrarとし、展開する |
上図のように、問題なく開くことができた。書庫の中には「ntsuji_ctf_01」というファイルが存在している。実際に問題ファイルをコピーし、展開してみよう。展開されたファイルは初期状態の問題ファイルと同名であるため、RAR展開後、ファイル名を、「ntsuji_ctf_01_1」とした。
展開後のファイルもどういった種類のファイルか分からないため、再度、「file」コマンドを実行しよう。結果は下図の通りである。
![]() |
| 図3 展開ファイルの内容を確認する |
ここから、tcpdump形式のパケットキャプチャファイルであることが分かる。確認のため、問題ファイルをtcpdumpで読み込んでみよう。下図のように問題なくパケットの内容が表示されるはずである。
![]() |
| 図4 tcpdumpで内容を確認する |
しかし、この先、tcpdumpで分析し続けるのは厳しいため、問題ファイルに拡張子「.cap」を付加して、Wiresharkで開いてみよう。
| 図5 WireSharkでファイルを開く |
ツールを駆使して正解に近づけ!
さて、ここまでは前回の「Packet Madness 100」をお読みいただいている方は、楽々とたどり着けたであろう。ここから正解までの突破口を見つけ出さないといけない。
このままWireSharkを眺め、ヒントを得て、正解にたどり着くことも可能だが、今回はパケットの情報を整理しやすくするためのツールを1つ紹介しよう。
紹介するツールは「NetworkMiner」という、Windows用のネットワークフォレンジック分析ツールである。このツールはWireShark同様、パケットキャプチャソフトとしても、取得後のパケットキャプチャファイル(PCAP形式ファイル)をオフライン分析することが可能である。早速、今回の問題ファイルを「WireShark」と「NetworkMiner」で読み込んでみよう。
| 図6 「NetworkMiner」でファイルを開く際にはメニューバーの[File]→[Open]から目的のファイルを選択する |
この結果から、問題ファイルから導き出せるポイントを整理してみよう。
- 2ホスト間の通信である。(192.168.0.20 および 192.168.0.150)
- 192.168.0.20はWindows系、192.168.0.150はLinux系OSと思われる。
- ICMP Echo (ping) request x 2 に対して、2つのICMP Echo (ping) reply x 2
- 主だった内容はFTPによる通信である。
- FTP通信では「USER」「PASS」「SYST」「CWD」「TYPE」「PORT」「RETR」「QUIT」が使われており「RETR」コマンドにより「key.zip」がダウンロードされている。

図7 TCP Streamの内容
まずは5.に注目してほしい。キャプチャファイルから「key.zip」をNetworkMinerを利用して方法を紹介しよう。
NetworkMinerはキャプチャファイルを読み込む過程で、自動的にパケットファイル中のファイルを抽出する機能を備えている。実際に読み込みを行った方は「NetworkMiner.exe」と同一ディレクトリの「AssembledFiles」以下に作られるディレクトリ内([Source host]ディレクトリ以下の[プロトコル - TCP/UDP Source Port]ディレクトリ)に抽出され保存されているはずである。
![]() |
| 図8 key.zipを取り出す |
難なく抽出することができた「key.zip」を早速、展開してみよう。
![]() |
| 図9 key.zipにはパスワードがかけられていた |
どうやら、上図のようにパスワードが設定されているようだ。このあたりで壁にぶち当たり、行き詰まり感満載だった方も多かっただろう。筆者もTwitterで#ntsujiのハッシュタグを付けている方のつぶやきを毎日見ていたが、この段階でつまずいている方が多いように感じた。
1/4 |
| Index | |
| 「鍵は“J”の中にあるよ」CTF by ダークナイト解答編 | |
| Page1 まずはファイル内容の特定 ツールを駆使して正解に近づけ! |
|
| Page2 echo request(type 8)に隠されたシークレットメッセージ 暗号化された文字列は |
|
| Page3 問題に隠されていた「視点」 |
|
| Page4 補習:1つのファイルに隠れた「ジキルとハイド」 CTFチャレンジは自分の枠を超えるために |
|
セキュリティ・ダークナイト バックナンバー
| セキュリティ・ダークナイト 連載インデックス |
TechTargetジャパン
- Facebook タイムライン利用時の「鉄則」 (2012/2/9)
ユーザーインターフェイスの変更措置に伴い浮上した、Facebookの「過剰な情報提供」のリスクと対策とは - 無料サービスなら通信内容を記録してもいいの? (2012/1/13)
無料の公衆無線LANサービスが、ユーザーに無断で通信履歴を記録していたことが判明し、話題に - 攻撃はまるでレーザービーム (2011/12/26)
2011年に話題となった標的型攻撃は「人」という弱点ををねらい打ちにしました。では、人に教育さえしておけば防げるものなのでしょうか? - 見せたくないなら「持たせない」が鉄則! (2011/12/15)
逆コンパイル対策で難読化したのに、大事なデータが解析されちゃった? Androidアプリのセキュリティの道は深い
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -








