Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スパイ養成CTF!? AVTokyo 2022の『Open xINT CTF』に参加した!

meow
December 03, 2022

スパイ養成CTF!? AVTokyo 2022の『Open xINT CTF』に参加した!

2022/11/29(火) に 第25回 初心者のためのセキュリティ勉強会 で発表したスライドです。
https://sfb.connpass.com/event/265356

※表紙の画像はStable Diffusionに"two Japanese men and a Dachshund are studying."というテキストを入力して生成させた画像を加工したものです。

■ リンク
・Open xINT CTF 2022(サーバーダウンする前にどうぞ。)
http://openxintctf.pinja.xyz:2022/
・チーム名の由来となった「ナゾトキCTF」(今年中にどうぞ。)
https://nomizone.booth.pm/items/4067620

■ スライド内で紹介した開発物
・Googleマップの位置座標を整形くん(アルファリリース)
https://meow-noisy.github.io/google_map_gps_formatter/
・地理的位置に基づく店舗名の(エセ)AND検索
https://meow-memow.hatenablog.com/entry/2022/05/01/214751
・2022年度Open xINT CTF チーム順位別正解状況を可視化したもの
https://github.com/meow-noisy/xintctf_data/blob/main/2022/raw/result.csv

■ Open xINT CTF 参加報告記 バックナンバー
・2021年度
https://speakerdeck.com/meow_noisy/xintctf2021
・2020年度
https://speakerdeck.com/meow_noisy/xintctf2020
・2019年度
https://speakerdeck.com/meow_noisy/xintctf2019

meow

December 03, 2022
Tweet

More Decks by meow

Other Decks in Technology

Transcript

  1. スパイ養成CTF!? AVTokyo 2022の 『Open xINT CTF』に参加した! 第25回 初⼼者のためのセキュリティ勉強会 meow (

    @meow_noisy) 2022/11/29(⽕)
  2. 発表概要 u 2022年度のAVTokyoの Open xINT CTFに ところてんさん、のみぞうさん とチームで参加 u この発表では参加報告という形

    でCTFの説明、事前準備、解いた 問題の紹介、ふりかえりをする
  3. おしながき u はじめに u AVTokyo、Open xINT CTFについて u 2022年度のOpen xINT

    CTFに向けた準備について u チーム結成、⾃分⾃⾝の準備 u CTFで挑んだ問題(私の担当分)について紹介 u CTFのふりかえり u おわりに 私の発表後もチームメンバーによる参加報告が続きます!(※勉強会当⽇限定)
  4. はじめに AVTokyo、Open xINT CTFについて

  5. について https://www.avtokyo.org/TOP https://twitter.com/awamori_tt/status/789360354631360512?s=20 参考: AVTokyoのAVとは

  6. 2022年のAVTokyoはハイブリッド開催 u 2⽇間の開催(1⽇⽬オンライン、2⽇⽬オフライン) u オフラインは3年越しの復活 u 従来どおり地下のバーで開催 u 現地参加されていた⽅が上げた画像を⾒る限り、⼈数も戻った印象 これは2019年の光景だが、2022年も

    マスクをしている以外はだいたいこのような密度 オンラインはDiscordとTwitch
  7. Open xINT CTFとは u AVTokyoのイベントの1つ u さまざまなインテリジェンス(x INT)によってフラグを得る ”現代のスパイ養成コンテスト” u

    2016年より毎年AVTokyoにて開催 u 2022年はオンライン開催、チーム戦、OSINT問題限定の出題 u 運営チームはpinja(lumin、ykame、awamori) u 国内最強、世界的にもトップクラスのOSINT CTFチーム u そのようなチームが作問するOSINT CTF
  8. インテリジェンス、OSINTとは 情報A 情報B ⼊⼿した情報 情報X ⼊⼿していない情報 情報C 情報統合 情報分析 情報C1

    情報C2 情報D こんな情報があるはず(仮説) 情報E ・・・ 情報の価値 u インテリジェンス: 複数の情報を分析・統合・仮説の検証などを経て、 より利⽤価値のある情報に昇華させる⾏為を指す u OSINT: オープンソースの情報(公開情報)に基づきインテリジェンスを⾏うこと 情報を元に最終的な 意思決定へ 例) 情報ZからプランPを実施 するのがよい Security Days 2021「OSINT:ハッカーから⾒えるインターネットの世界」 の講演内容を元に作成
  9. CTFにおけるOSINTカテゴリの問題に関して u お題から分析できる情報と公開情報、個⼈の仮説を組み合わせることで、フラグを 導き出す形式の問題 u やることは基本Web検索というシンプルさに対し、プレイヤーの情報分析⼒や仮説構築⼒ という知的要素で順位が決まるというのがこのカテゴリの⾯⽩いところ お題の写真 情報統合 情報分析と公開情報調査

    徳島駅のJRの ダイヤを⾒れば、電⾞ 3つが並んでいる時刻 がわかるのでは..! 情報の価値 フラグ 15:23 問題例. お題の写真に写る⼿前の電⾞の発⾞時刻を求めよ TsukuCTF 2022より Q.この場所はどこ? → 画像で検索 → ブログがヒット。徳島駅 のプラットホームとわかる。 Q. ⼿前の電⾞は何? → ⾞体の”jr 2602”で検索 → JR四国 2602(うずしお) Q. 写真はどういう状況? → ⽇中で、複数の電⾞が待機。 仮説構築 ⽇中に JR徳島駅が運営する 線路3つ全てに電⾞が 停まっている写真 JR公式の徳島駅ダイヤを参照 →電⾞が3つ並ぶ時刻が存在
  10. [備考]: xINT CTFの2021年度からの変更点 u 開催時間が3分の2に減少 u 9時間 → 6時間(-3時間) u

    問題数も減少 u 22問→ 17問 u しかし、1時間あたりに解かなければいけない問題数は上昇 u 2.44 → 2.83(問/時間) u 軽微な変更 u 禁⽌事項に微修正 u CTFサーバのURLが⽣IPアドレスからドメインになった u 配点が50point刻みから100point刻みになった
  11. [備考]2020年以降(オンライン開催)のCTF 参加者統計の変遷 開催年(情報源) ユーザ数 チーム数 1チーム辺りの ユーザ数 2020(pinja報告) 165 152

    1.09 2021(pinja報告) 221 168 1.32 2022(こちらで集計) 241 179 1.35 u 2022年も参加者数および、チームを組む割合が上昇した u 2021年はluminさんのバズツイートの追い⾵があったが 今年も増えるのは(いい意味で)意外だった。
  12. 2022年度のOpen xINT CTFに向けた 準備について チーム結成、⾃分⾃⾝の準備

  13. チーム結成にあたって u OSINT問題限定のCTFにおいてメンバーは重要なファクター u 数が多いほど有利 u メンバーに多様性があるほど有利 u その辺りを考慮しつつ、お祭り気分でワイワイやりたかった ので私がお誘いのDMを送った

  14. チーム『stardust_security』メンバー紹介 u ところてん(@tokoroten0813)さん u セキュリティ業界12年⽬ u CISA / CISM /

    CDPSE / GCP PCA u のみぞう(@nomizooone)さん u “セキュリティが好きなただの⽝” u ナゾトキCTF開催(右図)、Hardening競技会参加、 技術書執筆など多岐に渡る活動 u 私(@meow_noisy) u ただのOSINT CTF好き u チーム名はナゾトキCTFに出てくる 架空の会社名から拝借(承諾済み) https://nomizone.booth.pm/items/4067620
  15. チーム結成後のブリーフィング u チーム⽬標設定 u 次の3つ。達成ハードルをできる限り下げる。 u チーム運営ルール u ほぼ存在しないようなもの u

    使⽤するツールなどの準備は依頼しなかった u 個⼈のやりやすい調べ⽅で進めた⽅が調査の多様性が上がると 思ったので
  16. チームの協⼒体制について u リアルタイムの情報連携にはDiscordでボイスチャット u 調査内容の進捗共有にはGoogleスライドを使⽤ u 調べて⾒つかったサイトや画像などをスライドに書く 「3month」 の調査スライドの例

  17. ⾃分⾃⾝の準備 u 2022年度のOpen xINT CTFを念頭に置きつつ、1⽇1問 OSINTの問題を解くようにしていた u 実技で錆がつかないようにするため。 u その他、OSINT記事で勉強しインプット、

    独⾃の技術開発と勉強会発表でアウトプットを続ける 勉強会発表スライド https://speakerdeck.com/meow_noisy 2021/11〜2022/10までに 参加したCTFリスト
  18. xINT CTF⽤の秘密兵器(もといゴミアプリ) の開発: 『 Googleマップの位置座標を整形くん 』 u 位置座標を求める問題で毎回 GoogleマップのURLから座標をフ ラグ形式へ加⼯する作業がストレス😣

    u → GoogleマップのURLを⼊⼒するとフラグ形式に整形して コピペできる状態にするWebアプリを開発 u アプリへのリンクはスライドの概要欄に記載 URLを⼊れて ボタンを押すだけ
  19. CTF開催 前⽇の調査 u Open xINT CTF関係のソースを物⾊ u 公式HP u ツイッターアカウント@MoriSho17795702

    u pinja.xyz のWHOISレコード u 結果としては、スタートダッシュで出し抜けるような アドバンテージは得られなかった CTF前⽇にWHOISレコードにアップデートが あったが出題された問題とは関係なかった。。。
  20. Open xINT CTFで ⾃分が挑んだ問題について 解けた問題、解けなかった問題

  21. 私のCTFの解答状況 u 6問正解し900点 u うち1問はキルパクも同然だったので実質600点 u 以降では解けた問題3問と解けなかった問題2問(BUS,BUS2)を 紹介する ←キルパク分

  22. whois(100pt, 106 Solves) u Google検索で ip to asn で検索すると下記のサービスがヒット u

    https://hackertarget.com/as-ip-lookup/ u 当該のIPアドレスを⼊⼒するとフラグ u AS番号の調査がOSINT上どのような意味を持つのかは kawakatz本 第4章に詳しい説明がある SOLVED 例年whoisコマンドでドメインを調べるだけだったのだが、今年は傾向が変化したので若⼲焦った
  23. SSID(100pt, 39 Solves) u OSINTの問題で”SSID”とくれば初⼿WiGLE u https://wigle.net/ u ただし、検索機能を使うにはユーザアカウント作成が必須 SOLVED

    ykameと⼊⼒して検索する と1件レコードがヒット
  24. spacious(100pt, 56 Solves) SOLVED

  25. spacious(100pt, 56 Solves) u 看板を拡⼤ u ⽂字の断⽚をGoogleに打つと サジェストで会社名がわかる SOLVED

  26. spacious(100pt, 56 Solves) u 「トヨタモビリティパーツ」でGoogleマップを検索 u 店舗候補がたくさんでてくる u 衛星写真で、店舗近くに公園のようなものがあるかをチェック u

    東京で公園らしきものが近くにある店舗を発⾒ u 3Dマップで⾒ると右に”AB”という看板もあるので確定 u フラグはこれでした SOLVED
  27. BUS(200pt, 24 Solves) UNSOLVED

  28. BUS(200pt, 24 Solves) u 写真の分析 u レンタカーのシャトルバスだということはわかる u 空港 と

    NR… とを⾏き来している模様 u HND⇔NRT間かと思ったけど、 レンタカー会社が空港を⾏き来する バスを⽤意する訳がないですね… u 窓にセブンイレブンのロゴが反射 u 地⾯にペイント u 「レンタカー」? UNSOLVED
  29. BUS(200pt, 24 Solves) u のみぞうさんがバスの候補を絞ってくださる u 旭川空港⽤のシャトルバスがそれっぽい u しかし、旭川空港のセブンイレブンは 空港内であり、Googleストリートビューを

    ⾒てもセブンイレブンの看板はなかったので 旭川空港ではないと判断 u レンタカーとセブンイレブンが近い場所を 探す必要がある UNSOLVED
  30. 秘密?兵器: 地理的位置に基づく店舗名の(エセ)AND検索 u 「店舗名2つを指定すると距離の近い店舗ペアを列挙す る」スクリプトを開発していた u https://meow-memow.hatenablog.com/entry/2022/05/01/214751 u 左下の写真の場所を特定しようとしてスタバとFrancFranc の200m以内で近接する店舗ペアを列挙した例(右下)

  31. 秘密?兵器: 地理的位置に基づく店舗名の(エセ)AND検索 u ニッポンレンタカーとセブンイレブンで試した u セブンイレブンがあまりにも多く、30分くらい処理がかかった u 207ペアヒットしたが空港関係の店舗は北九州空港のみだった u 北九州空港のニッポンレンタカーを調べたがバスの種類が違う

    u → 詰んだ https://tabiraku.travel/rentacar/fukuoka/airport- kitakyushu/
  32. BUS(200pt, 24 Solves) u CTF終了後に解き直し u 結局バスの候補が旭川空港のものしか⾒つからなかったので 旭川空港をうろつく u →旭川空港の外れに床がお題のフォントで塗られた場所を発⾒した

    u ニッポンレンタカーの駐⾞場ではないので店舗名の(エセ)AND検索で ヒットしないのも納得 u セブンイレブンの看板に引っ張られてしまい、旭川空港の 調査がおざなりになってしまったのが敗因 UNSOLVED
  33. BUS2 (200pt, 32 Solves) UNSOLVED Q. このバスの位置を求めよ。解答フォーマットは座標

  34. BUS2 (200pt, 32 Solves) u 写真の分析 u バス: ファミリーxx、ナンバープレート「4-72」 u

    ⻘い看板: 25、「xx江xx」 u ⽩い看板: 路肩駐⾞禁⽌ u センターラインがない UNSOLVED
  35. BUS2 (200pt, 32 Solves) u 「県道の標識では」というアシストがのみぞうさんから⼊る u 43県を北から県道25号の標識を ブルートフォースしようとした所、 1発(岩⼿県)で当該の標識がヒット

    u 影のさす⽅向から北がわかる u 「あとは県道のうち、⻄から東へ⽔平に伸びる所に 絞って探せばOKだお!」と考えていた UNSOLVED 北側 !" #$" %&'()*+,-./0$1
  36. BUS2 (200pt, 32 Solves) u ガッツリ⻄から東へ⽔平に 58.3km伸びている u ⽅⾓が⼿がかりにならない… u

    県道もこんなに⻑いと思わなかった u → しらみ潰ししようとしたら 時間切れ UNSOLVED 58.3km
  37. BUS2 (200pt, 32 Solves) u CTF終了後に解き直し u 「道端に脇道にそれる部分があることから停⾞できる場所があるの では」と考えた u

    岩⼿県道25号のうち、Googleマップでスポットとして登録されて いる箇所を1つ1つ調べてみた u 撮影場所がすぐに⾒つかった UNSOLVED
  38. CTFの振り返り

  39. 最終順位 u チーム27位だった u ワイワイやれて、チームで1問以上解いて、病気になった⼈も 出なかったのでチーム⽬標は達成 u ⼀⽅、⾃分の(密かな)個⼈⽬標としていた「撮影場所の特定問題 の全完」には失敗 u

    特にバス問が解けなかったのは痛い ✅ ✅ ✅
  40. [備考] 順位別正解状況の可視化 我々のチーム この統計データのフルverへのリンクは スライドの概要欄に記載

  41. [備考] 順位別正解状況の可視化 バス問、nice view を解けなかった ことで差が開いて しまった この統計データのフルverへのリンクは スライドの概要欄に記載

  42. バス問を解けなかった理由 u ⾃分の1年の技術研鑽の⽅向がミスマッチ u ⾃分の撮影場所の特定は「画像で検索」を 主軸にした⽅向で勉強していた u ⼀⽅で今年は「画像で検索」が使えるケースが少なかった u 私が勉強で解いていた問題は易しい難易度のものを

    選り好みしていた可能性がある u 錆落とし != 刃を研ぐ https://twitter.com/lumin/status/1585546682355576832
  43. その他の反省点 u Googleスライドの運⽤は改善の余地がある u 全体的に⽂字サイズが⼤きくURLを貼るとスライドを埋め尽くして しまう(右下) u URL短縮を使うなどすべきだった u xINT

    CTFは問題数が多く、他のメンバーが残してくれた調査結果 を⾒逃してしまった u (ここらへんのスライド運⽤の課題はReconVillage CTFの時は露呈 しなかった) u 38時間あり、問題数も少なかったため
  44. 2022年度のxINT CTFの感想 u 難しくなってる(気がする) u しかし、解いていて⾯⽩かった u 知識量ではなく思考⼒で差がつくように設計されていて質もいい u 参加者のレベルがどんどん⾼くなっている

    u 新規勢も常連勢もどちらも。 u write-upが充実 u 事後解答とはいえ、全問のwrite-upが揃ったのは今年が初めて u Open xINT CTFは⽇本勢の問題の解き⽅、チームワークが知れる滅多 に無い機会 u ⾒ていて⼤変勉強になる u CTF終了後の運営の講評タイムが1時間超えで満⾜
  45. 今後の私の技術研鑽に関して u 勉強の仕⽅は変えるが、xINT CTF1位を⽬指して勉強を 継続していくことは変わらない u まともにインテリジェンスができるようになるまであと8年かかる ⾒込みだが、細く⻑くやっていきたい

  46. おわりに

  47. 謝辞[1/2] u CTFを開催してくださったpinjaへの感謝 u 毎年の企画・作問・運営、本当にありがとうございます! u 参加者の技術レベルが年々上がる中で、解きごたえのある⾯⽩い 問題を出していただき、1年で1番の楽しみとなっています

  48. 謝辞[2/2] u チームメンバー(ところてんさん、のみぞうさん)への感謝 u ⼀緒に遊んでいただきありがとうございました! u こちらからの誘いを快諾いただき嬉しかったです

  49. 次回のOpen xINT CTFについて u OSINT問限定は今年までと明⾔ u オンサイト開催でSIGINT, HUMINT問 が復活か? u

    問題の難易度はまだ上げられる模様 u 逆に⾔えば今まで⼿加減されていた ということ u どんな難問が今後出てくるか楽しみ! https://twitter.com/YuhoKameda/status/1586545803191255040 https://www.avtokyo.org/avtokyo2022/day1-events#h.le6ozvjjes26
  50. まとめ u 2022年度のOpen xINT CTFの内容、私の取り組み について説明した u 次回のOpen xINT CTFを⾒据えてこれからもOSINTの

    勉強を継続していく u OSINT CTFは楽しい!
  51. ご清聴ありがとうございました @meow_noisy To be continued… ?