検索
連載

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

第3回は「ダークナイトからの挑戦状」解答編です。さらなるトリッキーな問題も用意したので、もの足りないチャレンジャーも必読の記事です(編集部)

Share
Tweet
LINE
Hatena

 第2回「魂を奪え! 隠されたシークレット・パスワード」の最後で、筆者なりのCTF的問題を出題した。この問題にチャレンジしていただけただろうか。筆者のTwitterでヒントを出していたので正解にたどり着けた方も多いだろう。ヒント自体は、できるだけ回りくどく出したつもりなので、中には正解にたどり着けずイライラした方もいらっしゃるかと思う。

 今回は、その出題した問題の解答をお届けしよう。第1回第2回と同様、正解までの道筋を可能な限り丁寧に解説していくので、解けなかった方も、この連載記事を初めて読む方も読みながら解き進めて欲しい。「答えはこれだ!」で終了といったものにするつもりはないのでご安心を。もちろん、途中でひらめいた方は記事を読むのを止めて、問題に再チャレンジしていただきたい。

 今回、解説させていただくのは、筆者なりの模範解答「例」とさせていただく。解き方は1つではないからだ。では、始めよう。

まずはファイル内容の特定

 問題はこの1文だけだった。

 問題ファイルには拡張子がついていないため、そもそもどういった種類のファイルであるか分からない。それを特定することから始めよう。まずは「file」コマンドによる確認を行う。

図1 fileコマンドを実行。「RAR archive」と表示されている
図1 fileコマンドを実行。「RAR archive」と表示されている

 ここから、RAR形式書庫だと判断できる。ファイル名に拡張子「.rar」を付加して、実際に「WinRAR」で開いてみよう。

図2 拡張子をrarとし、展開する
図2 拡張子をrarとし、展開する

 上図のように、問題なく開くことができた。書庫の中には「ntsuji_ctf_01」というファイルが存在している。実際に問題ファイルをコピーし、展開してみよう。展開されたファイルは初期状態の問題ファイルと同名であるため、RAR展開後、ファイル名を、「ntsuji_ctf_01_1」とした。

 展開後のファイルもどういった種類のファイルか分からないため、再度、「file」コマンドを実行しよう。結果は下図の通りである。

図3 展開ファイルの内容を確認する
図3 展開ファイルの内容を確認する

 ここから、tcpdump形式のパケットキャプチャファイルであることが分かる。確認のため、問題ファイルをtcpdumpで読み込んでみよう。下図のように問題なくパケットの内容が表示されるはずである。

図4 tcpdumpで内容を確認する
図4 tcpdumpで内容を確認する

 しかし、この先、tcpdumpで分析し続けるのは厳しいため、問題ファイルに拡張子「.cap」を付加して、Wiresharkで開いてみよう。

図5 WireSharkでファイルを開く
図5 WireSharkでファイルを開く

ツールを駆使して正解に近づけ!

 さて、ここまでは前回の「Packet Madness 100」をお読みいただいている方は、楽々とたどり着けたであろう。ここから正解までの突破口を見つけ出さないといけない。

 このままWireSharkを眺め、ヒントを得て、正解にたどり着くことも可能だが、今回はパケットの情報を整理しやすくするためのツールを1つ紹介しよう。

 紹介するツールは「NetworkMiner」という、Windows用のネットワークフォレンジック分析ツールである。このツールはWireShark同様、パケットキャプチャソフトとしても、取得後のパケットキャプチャファイル(PCAP形式ファイル)をオフライン分析することが可能である。早速、今回の問題ファイルを「WireShark」と「NetworkMiner」で読み込んでみよう。

図6 「NetworkMiner」でファイルを開く際にはメニューバーの[File]→[Open]から目的のファイルを選択する
図6 「NetworkMiner」でファイルを開く際にはメニューバーの[File]→[Open]から目的のファイルを選択する

 この結果から、問題ファイルから導き出せるポイントを整理してみよう。

  1. 2ホスト間の通信である。(192.168.0.20 および 192.168.0.150)
  2. 192.168.0.20はWindows系、192.168.0.150はLinux系OSと思われる。
  3. ICMP Echo (ping) request x 2 に対して、2つのICMP Echo (ping) reply x 2
  4. 主だった内容はFTPによる通信である。
  5. FTP通信では「USER」「PASS」「SYST」「CWD」「TYPE」「PORT」「RETR」「QUIT」が使われており「RETR」コマンドにより「key.zip」がダウンロードされている。
図7 TCP Streamの内容
図7 TCP Streamの内容

 まずは5.に注目してほしい。キャプチャファイルから「key.zip」をNetworkMinerを利用して方法を紹介しよう。

 NetworkMinerはキャプチャファイルを読み込む過程で、自動的にパケットファイル中のファイルを抽出する機能を備えている。実際に読み込みを行った方は「NetworkMiner.exe」と同一ディレクトリの「AssembledFiles」以下に作られるディレクトリ内([Source host]ディレクトリ以下の[プロトコル - TCP/UDP Source Port]ディレクトリ)に抽出され保存されているはずである。

図8 key.zipを取り出す
図8 key.zipを取り出す

 難なく抽出することができた「key.zip」を早速、展開してみよう。

図9 key.zipにはパスワードがかけられていた
図9 key.zipにはパスワードがかけられていた

 どうやら、上図のようにパスワードが設定されているようだ。このあたりで壁にぶち当たり、行き詰まり感満載だった方も多かっただろう。筆者もTwitterで#ntsujiのハッシュタグを付けている方のつぶやきを毎日見ていたが、この段階でつまずいている方が多いように感じた。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ

Security & Trust 記事ランキング

  1. 増える標的型ランサムウェア被害、現場支援から見えてきた実態と、脆弱性対応が「限界」の理由
  2. 日本人の約半数が「1年前より危険」と考えるオンライン詐欺とは マカフィーがホリデーショッピング詐欺に関して調査
  3. 「DX推進」がサイバー攻撃を増加させている? Akamaiがセキュリティレポートを公開
  4. CISOが失敗を許容する組織を構築するために注目すべきは生成AIと何か? ガートナーが提言
  5. ランサムウェア攻撃を受けた企業、約6割が「サプライチェーンのパートナー経由で影響を受けた」 OpenText調査
  6. Google Cloudがサイバーフィジカルシステムのレジリエンスを高める10の指標を解説 最初にすべきことは?
  7. ゼロトラストの理想と現実を立命館大学 上原教授が語る――本当に運用できるか? 最後は“人”を信用できるかどうか
  8. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  9. 6年間でAndroidにおけるメモリ安全性の脆弱性を76%から24%まで低減 Googleが語る「Safe Coding」のアプローチと教訓とは
  10. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
ページトップに戻る