こここブログ

機械学習・統計分析、CTF、VR・AR・MR(XR)、ブロックチェーン……テクノロジーの最先端、憧れだけが先走る。

SwampCTF 2019 ひとり反省会[CTF]

2019-04-08-公開 2019-04-11-更新

SwampCTF 2019 [*1] [*2] にチーム「Xplosion」 [*3] の1人として参加した。Xplosionは私とCTFに誘ってくれた友人kangetsu121さんの2人編成。CTF4戦目。

将来の振り返りのために取り組みをメモしておく [*4] 。

※取り組んだ問題は後にWrite Upを参考にしながら復習・追記する。

解けた問題

Welcome! [warm up, Misc]

  • 問題のdescriptionにflagそのものが記載されている。flag提出の練習

Last Transmission [Misc]

  • 友人が解いた
  • 画像が与えられる
  • 画像Steganography問題
    • 画像Steganography参考:ステガノグラフィーの解析について
      • 各色の8ビットの最後1ビットは0, 1どちらでも人の目には違いが分からないからその部分に情報を埋め込む、とは面白いこと考えるなと思った
  • うさみみハリケーン」という多機能汎用プロセスメモリエディタを活用する。その補助ツール、汎用ファイルアナライザ「青い空を見上げればいつもそこに白い猫」の「ステガノグラフィー解析」機能を使えば簡単に画像に埋め込まれたflagが見つかる。

    "これらの機能により、たとえば、Linux環境におけるバイナリファイル解析の基本的アプローチとされる、「fileコマンド」、「stringsコマンド」、「xxdコマンド」・「hexdumpコマンド」、「Binwalk」および「Foremost」使用と同様の解析アプローチを、Windows上で簡単に行うことができます。"

    (引用元:汎用ファイルアナライザ「青い空を見上げればいつもそこに白い猫」)

Neo [Forensics]

  • 友人が解いた
  • 画像が与えられる
  • 画像問題の入門編といった感じ
  • stringsしてgrepしてflagを見つける
  • モチーフが完全にマト○ックス [*5]

Leap of Faith [Forensics]

  • 4戦目にしてようやくまともに貢献できた記念すべき問題
  • 画像が与えられる
  • さすがにstringsしてgrepしてもflagは見つからない
  • これまた「うさみみハリケーン」の「青い空を見上げればいつもそこに白い猫」を活用。「ファイル・データ抽出」機能を使うとflag画像が見つかる
    • 「内包ファイル・データ検索」欄の「算出サイズを無視して1バイト毎に検索」を有効化して検索実行する必要あり
  • 物語はNeoの続き。モーフィアスまで出てきて完全にマト○ックス

本問題における試行錯誤の跡

取り組んだ問題

NIT [Misc]

  • 文字列が与えられる。このテキストから手がかりを得よ、とのこと
  • 英数字と記号が入り乱れる意味不明な文字列。hexに直すなどしてみたが、分からず

復習

The Cyber War Continues [Forensics]

  • 英字文字列「dead_mans_message.txt」と7zファイル「secret_location.7z」が与えられる
  • 7zファイルにはパスワードがかかっている
  • txtファイルの英字文字列を解読して7zを解凍するのだろうか?
  • 英字文字列ということで、単一換字暗号かと当たりをつけてquipqiup - cryptoquip and cryptogram solverに投げてみるも、意味の通る文章は得られず。quipqiupで復号できないようなもっと複雑な方法で暗号化されている?

復習

  • ※解けたのが30チームのみだったからか、Write upが見つからない問題…(2019-04-08時点)

Ghidra Release [Misc]

  • 15時間ほどのmp4ファイルが与えられる
  • テキストが延々と流れる。おそらくNSAの「Ghidra」のマニュアル
  • この中にflagがあるのだろうが、15時間も見ていられない。動画を画像化して文字を抽出・flag検索したかったが方法が分からず断念

復習

We Three Keys [Crypt]

  • ターミナル上で動くサービスにアクセスさせられる。Pythonのソースコードも提供される。何をどうやったらflagになるのだろうか…
    • 暗号化・復号の挙動から何かを見出すのか…?
  • ソースコードを見るとhex(16進数形式)でしか入力できないように見えたので、まずはテキストをhexに変換するためのxxdをインストール
  • …hexを入力してもエラー出るんですけど?断念

復習

DataVault [Web]

  • パスワード入力フォームのあるWebサイトにログインしてflagを取得する問題と思われる
  • Webフォームを見るとまずはSQLインジェクションが思い浮かぶが、これもそうなのか…?
  • 初歩的なSQLインジェクションを試したがよく分からん…

復習

Heap Golf [Pwn]

  • ターミナル上で動くサービスにアクセスさせられる
  • 何をすればいいかさっぱり分からん…。Pwnの経験不足甚だしいと反省

復習

順位

学び

※2019-04-07には本CTFを含めて3つのCTFに同時参加した。全体的な感想は1つ目のCTFで。

画像問題

換字暗号文のデコードに便利なサイト

様々なエンコード/デコードに便利なサイト

動画の切り出しに便利なツール

ORCに便利なOSS

雑感

※全体的な感想は1つ目のCTFで。

ツールに丸頼りだったとはいえ、1問解けてめっちゃ楽しくなった。

チームメイトにおんぶにだっこ状態から早く抜け出さねば。

コンテスト中の調査や復習で

  • 画像問題
  • 暗号文の復号
  • 動画の切り出し
  • ORC

など、各手法に適用できる強力なツールのノウハウを集められた。是非とも次回に活かしたい。

関連

同時参加CTFの1つ目 www.kokokocococo555.com

同時参加CTFの2つ目 www.kokokocococo555.com

同時参加CTFの3つ目

  • SwampCTF 2019(本記事)

*1:土, 06 4月 2019, 07:00 JST — 月, 08 4月 2019, 07:00 JST

*2:The University of Florida Student InfoSec Team (UFSIT)が主催。問題のdescriptionがSFモチーフの物語形式だったりして面白い。

*3:前回は「Omelette」というチーム名だったがCTFTIMEでチームに参加できなかったので作り直した

*4:個人的な見解。チームメイトはきっともっといろいろ考えているし、取り組んでいる。

*5:マトリッ○ス世界の実現のためにもVRの発展が待たれる…