Slide 1

Slide 1 text

『setodaNote CTF』のOSINTカテゴリ の復習 第14回 初心者のためのセキュリティ勉強会(オンライン開催) meow ( @meow_noisy) 2021/12/21(火)

Slide 2

Slide 2 text

概要  2021年8~9月に国産のCTFである『setodaNote CTF』に 参加  OSINTカテゴリを解いた  解きっぱなしになっていたので、復習を行った

Slide 3

Slide 3 text

おしながき  OSINTとは(いつもの)  setodaNote CTFについて  setodaNote CTFのOSINTカテゴリの問題の紹介  おわりに

Slide 4

Slide 4 text

OSINT(Open Source Intelligence)とは 過去のスライドと同様です

Slide 5

Slide 5 text

インテリジェンスとは 情報A 情報B 入手した情報 情報X 入手していない情報 情報C 情報統合 情報分析 情報C1 情報C2 情報D こんな情報があるはず(仮説) 情報E ・・・ 情報の価値  複数の情報を分析・統合・仮説の検証などを経て、より利用価値のある情報に 昇華させる行為を指す  OSINT: オープンソースの情報に基づいてインテリジェンスを行うこと 情報を元に最終的な 意思決定へ 例) 情報ZからプランPを実 施するのがよい Security Days 2021「OSINT:ハッカーから見えるインターネットの世界」 の講演内容を元に作成

Slide 6

Slide 6 text

CTFにおけるOSINTについて お題から分析できる情報と公開情報、個人の仮説を組み合わせる ことで、フラグを導き出す形式の問題 入手した情報 情報統合 情報分析 自販機が多い、 ビールケース、 この建物は 酒屋では?(仮説) “西日暮里3丁目 酒屋” 情報の価値 フラグ: 谷中 オープンソース Google Street View “西日三”とい うラベル 問題例. 左下の画像の撮影場所を特定せよ Digital Overdose 2021 Autumn CTFより

Slide 7

Slide 7 text

setodaNote CTFについて

Slide 8

Slide 8 text

setodaNote CTFとは  公式の紹介ページより引用  “サイバーセキュリティに興味を持ち始めた人がより深い興味を抱き自ら学 び進めていけるよう、好奇心や探究心を喚起するコンテンツの提供を通じ て、サイバーセキュリティの裾野を広げることを目的としたCTF”  URL: https://ctf.setodanote.net/  作問者  soji256氏  氏の運営するブログの名前が「setodaNote」である  出題カテゴリ(9つ)  Pwn, Rev, Programing, Crypto, Forensics, OSINT, Web, Network, Misc  開催期間  2021/08/21 ~ 2021/09/04  常設ではないが、CTFサーバへは未だにアクセス・解答可能

Slide 9

Slide 9 text

OSINTカテゴリに関して  全10問  多種多様な媒体がお題として 与えられ、OSINTする  お題はそれぞれ独立している  実務の観点からも役に立つとの声がある  ”特にForensics、Network、OSINTの問題は実践的な問題が多く、 実際のサイバーセキュリティの業務でも役に立つ問題が多くて楽し かったです。”  setodaNote CTF Writeup - Tahoo!!  https://takahoyo.hatenablog.com/entry/2021/09/10/164917

Slide 10

Slide 10 text

setodaNote CTFのOSINTカテゴリの 問題の紹介 一部をピックアップして紹介する

Slide 11

Slide 11 text

tkys_with_love (30pt)  コールサイン”C6DF6”で Web検索すると、船のペー ジが出てくる  flag{Symphony_of_the_Seas}

Slide 12

Slide 12 text

tkys_with_love (30pt)  問題自体は簡単に解けるが、問題の背景としては Maritime OSINTを想定しているのではないかと考える  港の情報や船の運行状況、船員のプロフィールはオープン ソースであり、インテリジェンスの材料としても使われる  貨物船のデータから国の経済状況を把握、など。 MarineTraffic.comで横浜あたりの状況を可視化。 いつどこにどの船がいてどこに向かっているかなどを把握可能 問題に出てきた船のコールサインで検索すると、現在いる場所がわかる (そして、私が資料を作っている時間も特定される)

Slide 13

Slide 13 text

Dorks (50pt)  “Google Dorks(Hacking)”  Googleで検索オペレータを 駆使して有益な情報を得る テクニック  公開されてはいけない情報 を探す時に役立つ  flag{inurl:login.php}

Slide 14

Slide 14 text

Dorks (50pt)  Google Dorksにまつわる今年の関連ニュース  2021年4月: とある企業のTrello上で管理していた人事情報が 誰からでも閲覧可能な状態で公開されていた件  GHDBを見る限り、話題のクエリは2017年から登録されて いた

Slide 15

Slide 15 text

N-th_prime (200pt)  72,057,594,037,927,936 = 2の56乗に当たる数  Webで見つかった素数の 数え上げを行うコードを実 行するも、さすがに現実的 ではないと判断  「なんらかのツールを探す OSINT問なのではないか」 という方針で解くことにし た

Slide 16

Slide 16 text

N-th_prime (200pt)  いろいろGoogle検索でツールを探す  「nth prime algorithm」で探した時にstack overflowの ページがヒットしツールが見つかる  https://stackoverflow.com/questions/44734806/better- algorithm-to-find-nth-prime-number  お題の桁数ならば実時間で解けることが判明  ツールを実行  flag{2991614170035124397} https://github.com/kimwalisch/primecount

Slide 17

Slide 17 text

N-th_prime (200pt)  他の方のwrite-upを読む  OSINTで解けることが判明  OEIS(オンライン整数列大辞典)というものがある模様  https://oeis.org/  ”2 3 7…”と2のべき乗番目の素数を列にして検索すると、 そのようなテーブルがヒットする https://oeis.org/A033844/b033844.txt

Slide 18

Slide 18 text

identify_the_source (250pt)  「tsuru」という名前の ファイルが添付されていた  lessコマンドでファイルを 確認  大量のTSURUというテキス トの最後に” The flag was written on a website where you would have been able to download this file.”と書かれていた

Slide 19

Slide 19 text

identify_the_source (250pt)  「マルウェア解析サイト」がどこかを探すことに  ここでhiro(@ctrl_z3r0)さんの講義資料が役に立つ  『OSINTによるマルウェア調査ハンズオン』  https://speakerdeck.com/ctrl_z3r0/investigating-malware-20191030

Slide 20

Slide 20 text

identify_the_source (250pt)  上から順にサイトにファイルをアップロード  ※マルウェアのOSINTにおいてファイルアップロードはしない方がよい ことを後に知る(後述)  件のURLはHybrid-analysisにて加工された状態で発見

Slide 21

Slide 21 text

identify_the_source (250pt)  URLにアクセス  nginxの404メッセージ  しかし “nice try!”とのこと  URLはtsuruというリソースを指していたのでindex.htmlを 見てみる  NO DATAというメッセージが出るが、 一番下までスクロールすると、”The flag is no longer here.” というメッセージが隠れている  Webページで”no longer”と来たらやることは1つ

Slide 22

Slide 22 text

identify_the_source (250pt)  WaybackmachineでURLを検索  “The flag is no longer here.”からメッセージが変わっている日付 を探す  メッセージが存在しないものがあった  ソースを確認したところコメントアウトでフラグが書いてあった

Slide 23

Slide 23 text

identify_the_source (250pt)  ファイルアップロードによる検査は情報漏えいリスクがある  アップロードされたファイルの情報は誰でも閲覧可能になるため  独自調査の前にまず自社のセキュリティルールに従う https://twitter.com/takahoyo/status/1434156747371859978 • VirusTotalやANY.RUNなどのオンラ イン検査サービスへのファイルアッ プロードは基本行わない • ファイルの確認をする場合は、ハッ シュ値で検索 • 対策部署への連絡を視野に入れる VirusTotal, ANY.RUNなどのオンライン検査サービス利用における注意点 - セキュリティ猫の備忘録 https://nekochansecurity555.hatenablog.com/entry/2020/07/08/2 00739

Slide 24

Slide 24 text

おわりに

Slide 25

Slide 25 text

解いた感想  おもしろかった(小並感)  さまざまな対象へインテリジェンスを行うことができて、 非常に勉強になった  企画・運営ありがとうございます!  OSINT問の良問としてお勧めしていく予定

Slide 26

Slide 26 text

まとめ  『setodaNote CTF』のOSINTカテゴリの問題を復習した  CTFの趣旨の通り、問題を解くことによる学びが多かった

Slide 27

Slide 27 text

おまけ: 来月(1月)のOSINT CTF  HACKTORIA | OSINT CTF  開催日 2022年1月1日 🎍  その他は不明  興味のある人は twitter @hacktoria をフォローしよう!

Slide 28

Slide 28 text

参考文献  setodaNote CTF Writeup (OSINT) - Tahoo!!  https://takahoyo.hatenablog.com/entry/2021/09/09/235144  Open Source Intelligence (OSINT): Tracking Marine Traffic Around the World  https://www.hackers-arise.com/post/open-source-intelligence- tracking-marine-traffic-around-the-world

Slide 29

Slide 29 text

ご清聴ありがとうございました @meow_noisy