🥟

DIVER OSINT CTF 2025 Writeup

に公開

はじめに

4人チームで「DIVER OSINT CTF 2025」に参加しました。
私が解いた・ある程度手助けできた問題のみWriteupをまとめます。
詰まった部分や、惑わされた部分についても長すぎない程度に記載しています。

introduction

flight_from (100pt / 362 solves)

このヘリコプターが出発した飛行場のICAOコード(4レターコード)で答えよ。

出発地点の OKO は、横田飛行場。(IATA: OKO - ICAO: RJTY)-> 不正解

GoogleMapを横に並べて確認すると、陸上自衛隊 立川駐屯地(立川飛行場)から飛んでいる。
立川飛行場は、3レターコードの割り当てがない様子。そのため別のOKO が表示されたと仮定し、立川飛行場のICAOコードを入力。正解。

  • Flag:Diver25{RJTC}

hidden_service (100pt / 354 solves)

添付ファイルを確認して、Flagを獲得してください!

diverahbwzfukwflslim73j7qtthfkesqvfh42obqk4cxrxwtajk7myd.onion
.onion ドメインにはTorブラウザが必要なようなので、以下からダウンロード
https://www.torproject.org/ja/download/

該当のURLにアクセスすると、Flagが表示されました。

  • Flag:Diver25{w3lc0m3_70_d4rkw3b!}

ship (100pt / 363 solves)

これは、ある組織が運用する船舶である。もし将来、この船が外国に売却されたとしても、変わらない番号を答えよ。

調べてみると、「この船が外国に売却されたとしても、変わらない番号」= IMO番号 のようです。
船に書かれてある文字の部分などをGoogle Lensで画像検索することで、同一の船が画像で見つかり、船の名前は「神鷹丸」、IMO番号は「9767675」であることがわかりました。
https://drone.create-j.com/?p=3585
https://ja.wikipedia.org/wiki/%E7%A5%9E%E9%B7%B9%E4%B8%B8_(4%E4%BB%A3)

  • Diver25{神鷹丸_9767675}

p2t (377pt / 112 solves)

この写真の左側に掲示されている写真には、ある動物が写っている。その名前を、日本語で書かれている通りに答えよ。

「ハシブトガラス」を調べると「ハシボソガラス」もサジェストされるので
右に写っている文字は以下かなぁと想定。

時に
立山
われ      ハシ
ボソガラス
いま

この中で検索できそうな「立山」に注目すると、
立山という地名ではハシブトガラスやハシボソガラスが生息しているようです。
https://note.com/eagleduck/n/nd3be8d312b12

というわけでまず立山に絞り、展示施設がないか、あれば内部の写真が確認できないかを調査。

すると「立山自然保護センター」が候補にあがります。
https://www.tripadvisor.jp/Attraction_Review-g1121155-d2720164-Reviews-Tateyama_Nature_Conservation_Center-Tateyama_machi_Nakaniikawa_gun_Toyama_Prefec.html

この写真をみると、問題の写真に映り込んだ特徴的な照明・窓の反射が一致するのでほぼ確定です。

ここで詰まっていたところ、左の壁の写真をチームメイトが見つけてくれました。トビでした。
https://yachou.info/murodoudaira-raichou/

  • Flag:Diver25{トビ}

geo

この記事の写真が撮影された場所はどこか。

画像全体で画像検索しても撮影場所は特定できず。
看板に含まれる要素を調べると、以下の情報が確認できる。

  • ТОКИО-CITY:ロシアのレストランチェーン。TOKYO CITY
  • バーガーキングっぽい看板。150m先にある
  • メトロっぽいマークがある、雰囲気的にも駅前?

Google Mapをブラウザで2つ開き、ТОКИО-CITY AND バーガーキング がほぼ重なっている場所を確認。

重なってそうな場所を、ストリートビューで様子を見てみます。
あ、これ全然違うな、とすぐに判断できるので割と簡単に以下であると特定できました。
https://maps.app.goo.gl/mRFxEz9KjxP7Fcod8

  • 59.94284718428286, 30.27846318964269

Afghanistan (414pt / 94 solves)

この動画の65~67秒に表示される写真はいつどこで撮影されたものか。

まず Google Lensで、問題に出てくる画像を検索しましたがヒットせず。
次の68〜72秒に表示された以下の画像を検索してみます。

するとこちらで、以下のような同日に撮影したと思われる、ボクシングの別カット写真が複数確認できます。

そのボクシング画像のうち1枚を画像検索すると、以下のURLに辿り着きました。
https://www.telegraph.co.uk/news/picturegalleries/picturesoftheday/5708822/Pictures-of-the-day-1-July-2009.html

US Marines of Combat Logistic Battalion of 2nd Marine Expeditionary Brigade practice kick-boxing at Camp Dwyer in Helmand Province in Afghanistan Credit: AFP/GETTY

上記より、ボクシングの画像は、アフガニスタンのCamp Dwyerで、2009年7月1日に撮影されたものであると確認できました。

また上記の画像全てには ©️AFP と書かれています。問題のYouTubeも AFPでした。
というわけで、AFP Photo と検索してみると、AFP(フランス通信社)の写真が検索できそうなページがヒットしました。
https://www.afp.com/en/our-offer/picture

適当に検索を進めていると(めちゃ重い)、撮影の国や時期を指定できる様子。
「Afghanistan」とでフィルタをかけ、Camp Dwyerで検索してみると、68〜72秒に表示された写真が確認できました!

ということは、今回の課題である65~67秒に表示された写真もこの中にあるはず。
検索してみると、ありました。
なお、Camp Dwyerではなく別キャンプでしたし、日付も異なるので探すのにかなり苦労しました。
最終的には「Afghanistan」でフィルタをかけ、basketball で検索し見つけました。

  • Flag:Diver25{Camp Bostick_2009-04-16}

hole (449pt / 72 solves)

以下の穴があった場所はどこか。

Google Lensで画像検索すると、以下のYouTubeに出てくる場所であることがわかります。
https://youtu.be/RFWIL2h2Akg?feature=shared&t=20

動画より、中国の山西省大同市であることがわかります。

ここからが苦労しました。海抜1035mの情報でも検索できず。
空港の滑走路っぽいですが、大同市にある「大同雲岡機場」ではなさそう。

仕方がないので航空写真からの特定に移ります。

transportation

36_years_ago (347pt / 125 solves)

このニュース動画に映っている航空機に、1989年8月時点で割り当てられていたトランスポンダのMode Sコードを16進数表記で答えてください。

なかなか見つかりませんでした。。。
見つからなさすぎるので、登録番号:JA4098 を何らかのアルゴリズムで変換する、という方法も考えました。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13144683643

ただ内容的に難しく、メタ読みですがこれで難易度easy…?と思ったのでやはり捜索続行。
どうやら1990年8月28日に新規登録された機体で、元「N9768L」のようです。
https://jasearch.info/aircraft_hist.html?r_number=JA4098
https://flyteam.jp/photo/4082823

このページに「N9768L」へのリンクがありました。
https://airport-data.com/aircraft/JA4098.html
そして以下より「Mode S (ICAO24) Code: AD9D6A」であると確認できました。
https://airport-data.com/aircraft/N9768L.html

  • Flag:Diver25{AD9D6A}

おわりに

CTF参加は2回目です。
昨年参加した SECCON beginners CTF では、事前知識が必要な問題も多く全く歯が立ちませんでしたが、今回はブラウザと気力さえあれば解けるので、色々と解くことができたと思います。
とても楽しかったので次回あれば絶対参加します!

Discussion