meowの覚え書き

write to think, create to understand

2023年のRecon Village CTF ふりかえりメモ

記事概要

  • OSINT CTFの1つである、DEFCON31(2023年)のRecon Village CTFにチーム『pinja』のゲストメンバーとして参加した。CTFの情報、私の準備、終わった後の感想のメモを残しておく。
  • ゲストとして参加した関係上、この記事では私の範囲・権限で書けることだけを書く。

CTF 基本情報

  • 2023年 基本情報
    • 場所: オンライン中心
      • ctfスコアサーバへのリンクはオンラインで公開されていたが、一部の問題で現地のラスベガスホテルで情報収集する必要があった。
    • 日時(日本時間)
      • 8/12(土) 2:00〜8/13(日) 15:59
      • トータル 37h59m
    • 参加費: 無料
    • チームメンバ上限: 4名
    • 優勝チームへの賞品: 3Dプリンター
  • 去年との差異
    • 得点システム
      • 解かれるほど問題の配点が下がるのだが、やや変則的。すでに獲得したポイントであっても、同じ問題を他のチームが解くとその獲得ポイントが下がってしまう。
        • このシステムを戦略に組み込んで戦況を有利に進められるわけではないので、あまり必要性を感じなかった。
    • フラグサブミット回数の制限が設けられる
      • OSINT CTFは回答の総当りでフラグを取れてしまいやすいので、ほとんどの問題で回数制限が設けられたのはよいと思う。
      • 一方で回答回数を回避するために別チームをつくることをたびたび観測していた。
    • 別のコンテストの併催
  • 参加者(概算)
    • チーム数: 140チーム
    • 参加者数: 250人
  • 現地要素
    • ctf開始5時間経過後くらいに急にdecipher問題が追加される
    • 曰く、会場でバッジを渡すので、そのバッジの裏に暗号が書かれているのでそれを解読せよという問題。
      • 解読するための情報がほぼほぼなく、正解チームはゼロだった。
  • 問題の性質
    • webサービス脆弱性調査、パスワード漏洩情報調査、SNSアカウントの調査
      • OSINT問でよく出る写真の撮影場所の特定は無し。
    • 問題文は例年通り簡素。調査の方針となる文脈情報がほぼほぼ与えられていないため、仮説を構築しながら「ああでもないこうでもない」と試していくこととなる。
      • それ故に、自分の調査進捗と正解までの距離がわからない。やってる身としては、自分の調査方針が合っているのかラビットホールに嵌っているのかわからないまま長時間調査することとなり、かなり苦しい。

自分のCTFの取り組み

  • 実働

    • 以下のタイムスケジュールの水色マス。約28h。これが自分の発揮できる限界だった。
  • 使ったマシン

    • ラップトップ
    • グラボ2枚積んだ計算機
      • hashcatを実行するために急遽使用。
        • 7桁までしか試せなかった。8桁だと5日かかると出た。
  • 使用ツール
    • chrome
    • miro
      • maltegoみたいに、ソーシャル情報の関連グラフをつくるのに役立つと思って個人で使ったが、操作しづらくて役に立たなかった。多分xmindとかのほうが遥かによかったと思う
    • googleスライド
      • miro同様に関係グラフを作ってみたけど、スライドの大きさに対して文字がでかすぎて使いにくかった。
    • chatgptとかのLLMサービス
      • openaiに課金したが、全く使う余地がなかった。
        • ハルシネーションを起こすか、「わかりません」と答えるかのどちらか。
    • 漏洩パスワードの照会ができるサイト
      • 漏洩パスワードを答えさせる問題があまりにも多いため急遽課金。
      • とはいえ、運営いわく、問題は無課金で解けるものばかりらしい。
        • (去年は課金しないと解けない問題があった気がするが…)
  • 眠気覚まし
  • 戦い方
    • 自分ができることを時間いっぱいまでひたすらやっていた
      • SNS調査で候補となるアカウントをすべて調査する
      • 運営に問い合わせる

終わった後の感想

  • 難易度
    • 去年よりも難化している気がする。
      • 問題文が一層漠然になっている。
      • 「何でこれが正解なんだよ」とツッコみたくなるものも存在する。
    • ウォームアップにあたる問題がなく無慈悲。
    • 良い見方をすれば解きごたえがある
      • ただし、1問を解くのに長時間をかけることを厭わず、報われなくてもよいという覚悟が必要。
  • 問題のヒントについて
    • ctf終了後、すべてのヒントがポイント消費なしで見られるようになったので中身をみてみたが、そのほとんどが有用ではなく、消費ポイントを回収できなそうだった。
  • 所感
    • いろんなツールを準備して挑んだが、結局はガチャガチャと思いついたままに調査することに頼らざるを得なかった。
      • それでもフラグゲットできたので本当によかった。
    • 理不尽な要素に抗議したくなる時もしばしばあったが、メンバーが「運営の心理を理解できなかった」と自責に持っていく逞しさは見習いたいと思った。その他CTF全体通してチームには感謝しかない。
    • 何だか全体を通してマイナスの口ぶりになってしまったが、このくらい高い難易度のOSINT CTFは一年であまり存在しないため、非常に楽しめた。チャレンジングな問題を用意してくれたCTF運営の方に改めて感謝したい。