Diver OSINT CTF 2025 初参加Writeup

6月7日12時～8日12時の24時間で開催されたDiver OSINT CTF 2025に参加してきました！！初参加でしたがそこそこ健闘できたんじゃないかということで、解いている時に考えていたことや楽しさを共有するためにWriteupします。

# 開催概要
https://ctfd.diverctf.org/
- 日時：2025/06/07 (土) 12:00 p.m. (JST) - 06/08 (日) 12:00 p.m. (JST)
- チーム戦（1チーム6人まで）
- 1つ目の課題「welcome」を解くと記述式問題1問を除く全問題が解放
- 難易度は「easy」「medium」「hard」の3種類あり、「medium」をすべて回答できたチームのみ記述式問題が解放される
- オンライン、Jeopardy形式
- 668チームが参加（welcomeを解いているチーム数）

# 結果
我々のチームは6人で参加し、48位でした！まあまあ上位！うれしい！
個人としてはチームの解いた24問中15問解いたので、結構貢献できたかなと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/e0f77613-8d7d-413d-933f-0273091bc1b6.png)

# Writeup
ここから自分の解いた問題をWriteupしていきます。協力して解いた部分があるのですべて自分の力ではないですが、自分が提出したものを書いていきます。
## welcome

### welcome (10pt / 668 solves)
> あなたのチームメンバー全員がルールと規約に同意できたら、Discordの #announcement チャンネルからFlagを見つけて入力してください。
正解すると、ほかの問題がアンロックされます！
Flag形式: Diver25{flag}

最初の参加用問題です。Diver OSINT CTFのDiscordチャンネルから拾ってきてクリア。

`Diver25{We_understand_the_rules_and_how_to_submit_flags!}`

## introduction

### bx (100pt / 469 solves)
> この写真で見える "BX" という看板の座標を答えなさい。![bx.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/d35bd4f7-3518-4954-86f4-c89d4ac70b14.jpeg)

中央付近の街頭の下を見ると「カトリック上野教会」の文字が見える。GoogleMapで調べてみると同様の風景が見つかる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/4f0f2c28-ca69-47a1-9b7b-47db8ee6b0e1.png)

あとはこの座標を入力してクリア。
※今回のCTFでは座標がflagとなっている問題では、用意された回答マップにピンをさすことで提出ができました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/21dc6764-311f-4fb0-ab3d-053c4401c9fb.png)

### document (100pt / 280 solves)
> アメリカ海軍横須賀基地司令部（CFAY）は、米軍の関係者向けに羽田空港・成田空港と基地の間でシャトルバスを運行している。2023年に乗り場案内の書類を作成した人物の名前を答えよ。
Flag形式: Diver25{George Washington}

とりあえず「CFAY bus」で検索をかけると、トップに海軍ナビの空港シャトルサービスがヒットするので見る。

https://cnrj.cnic.navy.mil/Installations/CFA-Yokosuka/About/Installation-Guide/Airport-Shuttles/

色んなリンクがあるが、「CFAY Bus Schedule」を開き、ドキュメントプロパティを見ると作成者の名前が見つかるので、それを提出。見事クリア。（というかほかのPDFでは名前が出ない、ほかに出す方法があるかも？）
OSINTやってる感が出てきてかなり楽しくなってきた。

※回答に個人名が出てしまうため、flagは載せられません。ご了承ください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/b560527a-ddd9-4d3b-bc13-ae52072236e8.png)

### finding_my_way (100pt / 408 solves)

> 34.735639, 138.994950 にある 建造物 の、OpenStreetMapにおけるWay（ウェイ）番号を答えよ。
Flag形式: Diver25{123456789}

OpenStreetMapって何？？？となりながらもGoogleMapに座標入力するとこの場所がヒットする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/d84c9bd5-3f2d-45c8-aa5a-75bd80bca389.png)

OpenStreetMapのサイトを開いて同様の場所に行き、右クリックで「地物を検索」をするとこの建物がヒットし、Way番号を答えるとクリア。ちなみにOpenStreetMapに直接座標入れてもよさそう。
Way番号ってなんやねんってなったが、OpenStreetMapで地物を区別するための番号らしい。道の番号かと思た。

`Diver25{568613762}`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/777d7f2c-62ed-47c5-8979-b7c36fc847bf.png)

### flight_from (100pt / 362 solves)
> このヘリコプターが出発した飛行場のICAOコード（4レターコード）で答えよ。
Flag形式: Diver25{RJTT}
![flight_from.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/1ce5bf98-aca1-46cb-8dfd-79bb0d89678e.png)

どっちがスタート地点かわかりにくいけど、おそらく上側がスタート地点と予測。立川駅の近くをGoogleマップで見てみると陸上自衛隊の立川駐屯地が出発した飛行場であると分かる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/895b2c14-19ff-4d1c-8248-f29ac25e5a14.png)

あとは「立川駐屯地　ICAO」などと検索すればWikipediaページが見つかるので、クリア。

https://ja.wikipedia.org/wiki/%E7%AB%8B%E5%B7%9D%E9%A3%9B%E8%A1%8C%E5%A0%B4

`Diver25{RJTC}`

ちなみに普段よく見る3レターコード（KIX、HND、NRTなど）はIATA（国際航空運送協会）の空港コード。今回のICAOは国際民間航空機関のコードで、日本の空港はRJまたはROから始まるコードが割り当てられている（沖縄と鹿児島与論空港のみRO）。

### hidden_service (100pt / 354 solves)
>添付ファイルを確認して、Flagを獲得してください！
Flag形式: Diver25{xxxxxxxxxxxxxxxxx}
![hidden_service.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/970df825-ff7e-49c6-b8bb-4cefd1c64c79.jpeg)

下のアドレスを見ると末尾に「.onion」と書かれている。みなさんご存じダークウェブで使われるオニオンドメインである。
エグいサイトに案内される可能性もあるかとビビったが、Torブラウザをダウンロードしてアクセスしてみると以下のページが出てくるので回答。色が怖いのよ色が、ウェルカムじゃねぇよ。
なおGPTの文字起こし精度がカスだったので結局手打ちしたのが一番難しかった。

`Diver25{w3lc0m3_70_d4rkw3b!}`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/dce6e8fd-13a1-4041-838e-86da9e35c688.png)

### p2t (377pt / 112 solves)
> この写真の左側に掲示されている写真には、ある動物が写っている。その名前を、日本語で書かれている通りに答えよ。
Flag 形式: Diver25{シバイヌ}

![p2t.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/f39fb6c2-507b-4961-b456-edcf8b236a4e.jpeg)

右側に見える「立山」の文字が施設名っぽいのでそれとハシブトガラスで検索。「立山自然保護センター」がヒットする。後は色々調べると、以下の写真が見つかるので（チームメイトに見つけてもらった）回答して完了。

`Diver25{トビ}`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/bdc6f329-78fb-49c6-8ac0-27203441fc66.png)

## geo

### Afghanistan (414pt / 94 solves)
> 動画 / Video:
https://www.youtube.com/watch?v=NWQwx4-MeRg&t=65s
この動画の65～67秒に表示される写真はいつどこで撮影されたものか。
Flag形式: Diver25{撮影場所名_YYYY-MM-DD}（撮影場所名は英語）
例えば、2025年6月5日に、Camp Darbyで撮られた場合は、Diver25{Camp Darby_2025-06-05}となる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/7c825386-5e07-4f2a-84bc-42659b8a9100.png)

とりあえずはGoogle Lensで画像検索する。しかし、そのまま検索しても出てこないため「basketball」をキーワードにして再検索すると、同様の画像がヒットする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/fc837c52-e0be-4691-9b31-9a2695942c16.png)

ここからが関門。そのままリンクをクリックしてもお目当ての画像が出てこない（なんで？？？）。
何かいい方法はないかと考えた結果、ヒットした画像で右クリック→名前を付けて保存を選択。
保存した画像を開いて情報を見てみると写真の説明が書かれている。内容から2009年4月16日にCamp Bostickで撮られた写真であることがわかる。
問題文のFrag形式は結構実際の回答に近い（Camp ○○とか、桁数とか）ことが分かって今後に使えそうだった。

`Diver25{Camp Bostick_2009-04-16}`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/b2cf0f67-30a7-482e-9dd7-9887ec965e08.png)

### advertisement (100pt / 233 solves)
> 記事 / Article:
https://web.archive.org/web/20250108154113/https://www.noticiasaominuto.com/mundo/2699746/kyiv-diz-que-russia-usou-como-recrutas-ate-180000-presidiarios

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

すでにチームメイトが場所は見つけていて、なぜかCollectにならないと言ってきたので確認。
Google Lensで検索するとサンクトペテルブルクにあるレストランっぽい。

https://maps.app.goo.gl/YKQvSvUgqjvSwZnp8

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/b718eab5-7457-439a-b3be-ff567152fda0.png)

あとは画角に合わせてピンを指せばクリア。チームメイトはTokyo Cityにピンを置いたことで範囲から外れてIncorrectになってたっぽい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/b2195aff-ebdb-42ad-a36e-fce7ed9c6d42.png)


### night_street (428pt / 86 solves)
>画像の中心に写っている茶色の2階建ての建物に入る施設の正式名称を現地語表記で答えなさい。
Flag形式: Diver25{施設名}（例: Diver25{お台場海浜公園前郵便局}）
注意: この問題を解く際、外部サイトへの機械的なアクセスやスクレイピングは禁止します。また、それらを行う必要はありません。 ただし、ブラウザから手動で取得できる情報や、公開されているAPIサービスやデータセットの利用は問題ありません。
![night_street.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/2ed98a25-2e9a-4ae7-9345-bb091c164554.jpeg)

右側の文字は「〇〇〇クリニック」っぽい。また左側の建物を見ると「冷やし」「んぽん」の文字と「R」っぽいロゴマークが見えるので、リンガーハットではないかと推測できる。
最初は「冷やし○○（ちゃんぽん？）」が地域限定でやっていないかなと探したりしてみたが、全国展開っぽいんでなし。最終的にたどり着いたのが

「**全店舗見ればいいんじゃね？**」


バカかと思ったそこのあなた！！！意外とこれが正攻法なのかもしれない。
リンガーハットは全国で565店舗あり（2025/6/9現在）、そのうちの半数以上がショッピングモールのフードコートにある（以下の画像参照）。そのため、ローラーするにも半分以上減り、実質200店舗ぐらい見るだけで済むことがわかる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/7dcffabc-d595-4250-9271-ac0ffd046e5c.png)

あとはスピード勝負。上から順にショッピングモール以外の店舗を開き、埋め込まれているGoogle Mapで航空写真をチェック（ここ埋め込みマップあって助かった）、少しでも怪しい場合は「拡大地図を表示」でストリートビューに入ってチェックを繰り返した。

北海道から辿ってついに20都県目、愛知県にお目当ての店舗「リンガーハット名古屋弥富通店」が見つかった。

https://shop.ringerhut.jp/detail/r0250/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/23280ce7-a153-4d71-b314-5f2b5f9ae391.png)

あとはストリートビューで確認して提出。見事正解することができた。


`Diver25{弥富通クリニック}`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/713718a2-9b28-4f94-8fab-12fa758c4636.png)

正攻法を知りたい。公式Discordでもローラーしたとの声が多かった。

### what3slashes (446pt / 75 solves)
>この画像が撮影されたとき、正面に家が3軒、右手に家が1軒あった。
それから少し経った、ある月の初旬にこの場所にもう一度訪れてみた。そのときには、正面左側に家が1軒増えていて、正面右側にもう1軒が建設中であった。その時点で、建設中の家に屋根はなかったが、黒っぽい屋根を作る予定だという。
「ある月の初旬」とは何年の何月のことだろうか。
Flag形式 : Diver25{YYYY/MM} (e.g. Diver25{2025/06})
![what3slashes.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/d3b02a00-0006-4b29-bf27-b6a9fc183c81.jpeg)

画像の左にある赤いスラッシュやタイトルにもある通り、これは「what3words」という3単語で住所を表すサービスである。Geminiくんに文字を起こしてもらって、what3wordsを使うと以下の場所が現れる。

https://what3words.com/%D0%B1%D1%83%D0%BC%D0%B1%D0%B0.%D1%86%D0%BE%D0%B3%D1%86.%D0%B1%D0%B0%D1%82%D0%B0%D1%82%D0%B3%D0%B0%D0%B2

この場所をGoogle Mapで見に行くが、ストリートビューがギリギリ存在しない場所であり、さらに航空写真は過去の写真を見ることはできない。問題文にある「黒っぽい屋根の家」は右側に確認できる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/b55cf41f-274a-415b-a330-5afc9efdc8f7.png)

ここでGoogle Earthを使う。同じ場所を見て時間を遡っていくと、2016年9月30日までは「黒っぽい屋根の家」は無く、10月30日の写真には建設中である様子が写っており、11月30日には完成していることがわかる（完成までが早すぎんか…？）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/8d053fd0-3fb9-42b6-bf04-d9a519f7b1df.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/97a5ac4d-99a8-4f21-9db9-f330d4d57360.png)

問題文には「ある月の初旬にこの場所にもう一度訪れてみた」とある。9月30日に何もないとすると、10月初旬には工事が始まっていない可能性が高い。確実に工事中である11月を回答すると正解だった。
Google Earthを使うのが初めてだったので感動した。

`Diver25{2018/11}`

### Talentopolis (472pt / 53 solves)
>記事 / Article:
https://www.guineaecuatorialpress.com/noticias/primera_edicion_de_talentopoli
"Primera edición de Talentopolis" という記事内に登場するステージの位置を答えよ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/6d13d2f3-976a-4e48-9fd4-5155294dfaf0.png)


最初、謎に赤道ギニアの大統領の誕生日を祝う記事が出てきてそれを特定する問題だと思った。が、それはそのサイトの特殊仕様らしく（運営も制作時には想定しておらず、開催日が近付いてきたタイミングで見つかったものらしい）関係ないとのこと。

気を取り直して元の記事を読むと、Talentopolisという赤道ギニアの若者に健康的な習慣を身につけるよう促すイベントだそう。赤道ギニアの首都マラボのサン・フアン地区(barrio San Juan de Malabo)で行われたらしい。

まずはGoogle Mapを開き、マラボ周辺で「San Juan」を検索するとプエルトリコに飛ばされる。は？？？なんで？？？？
Gemini君に聞いてみると、マラボ中心街から南東方向に「San Juan」の名前が付いた店を2件ほど見つけてくれた。頭に留めとく。

次に「Talentopolis Malabo」「Talentopolis San Juan」等で調べると、以下の記事とインスタ投稿が見つかった。

https://ahoraeg.com/cultura/2024/09/10/inicia-el-proyecto-talentopolis-en-el-barrio-san-juan-de-esta-ciudad-capital/

https://www.instagram.com/echo_sound_malabo_s.l/p/C_vO9QyI6CW/?api=1&img_index=7

記事からは同様の会場の少し引きの写真（上にA-4って書いてる）、またインスタ投稿からは「A2 - San Juan(Malabo)」が開催地であることがわかる。
またこのタイミングで最初の記事に別角度の写真があることに気づく。

![high_1725816481.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/faf32a27-7395-42e8-b06e-e82bf31a2f43.jpeg)

これらの情報と先ほどのSan Juanと名の付く店があった位置を考えて航空写真を見ると何やら怪しそうなアパートが見つかる。Google Mapではわかりづらかったが、チームメイトがAppleの「マップ」での航空写真を持ってきてくれ、会場右側にある低めの赤い屋根と、その奥にある黒？緑？っぽい屋根の家が確認できた。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/c1e7ae19-080f-4078-8c5d-ef4ea9706a94.png)

おそらくここであろう位置にピンを指して提出。正解だった

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/506114d3-cc5e-4eb4-bc86-13486f788a8e.png)




## recon

### 02_recruit (488pt / 37 solves)
> "00_engineer" の問題で見つかった会社で、採用を担当していると思われる人物の氏名を答えよ。
Flag 形式: Diver25{Shigeru Ishiba} (ローマ字表記)

00_engineerという問題で、以下の会社サイトとエンジニアのアカウントが見つかっている。

https://magneight.com/

https://x.com/kodai_sn?s=21&t=3o8YmIwp0jG1pRKH-535wA

彼のツイートより会社のページは更新されていることがわかるので、Webページのアーカイブを見に行くと現在にはない採用リンクがあることがわかる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/45176624-9113-4533-a4f5-75032dfad21f.png)

https://archive.md/sD2R0

採用リンクを開くと募集要項が書かれたGoogle Documentが見つかる。ドキュメント書いた人の情報とか取れんかな～と思い、自分のGoogle Driveから「最近使用したアイテム」を見ると、オーナー情報を見ることができる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/8f8032b6-e452-4185-bcd7-a7d25f05851c.png)

みんながうんうん唸ってるところに颯爽と現れて回答できたこれは気持ちよかった。結果的に自分の解いた中で一番点高いflagやった。

`Diver25{Makoto Uchigashima}`

## transportation

### 36_years_ago (347pt / 125 solves)
> このニュース動画に映っている航空機に、1989年8月時点で割り当てられていたトランスポンダのMode Sコードを16進数表記で答えてください。
https://www.youtube.com/watch?v=OvR2O_Vpwc0
Flag形式: Diver25{1234AB}
content warning: この映像は軽微な航空事故の様子を含みます。

リンクを開くと昨年10月にセスナ機がオーバーランした事故が出てくる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/49ccfe48-e06d-4837-80af-0bc0beaa216b.png)

機体に書かれた「JA4098」で検索をかけてみると、航空機の登録情報が出てくる。
[機体記号「JA4098」航空機ガイド](https://flyteam.jp/registration/JA4098)

最新の写真をクリックすると、なにやら使えそうな情報が出てきたので、「N9768L」で検索すると以下のサイトがヒットする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4048470/935155dc-8f08-49cd-839e-343f2e072136.png)

https://www.aviationdb.com/Aviation/Aircraft/9/N9768L.shtm

「Mode S code　53316552」とあるので、16進数に変換するも少し桁数が違う。これは10進数表記ではなく8進数表記で、8→16進数に変換すると正しいMode S codeが得られる。

`Diver25{AD9D6A}`

### next_train (100pt / 245 solves)
>この音声が録音された駅はどこか。駅名を答えよ（日本語でも英語でも可）。
（駅名は鉄道会社の公式サイトやWikipediaに記載されている表記とする）
Flag形式: Diver25{京都駅}

音声を聞くと、「15番線」「14時16分発 普通 久里浜行き」と聞こえる。久里浜駅を調べるとJR横須賀線の駅であることがわかる。
また15番線となるとかなり大きな駅であることが予想されるので、横須賀線の駅一覧を見て大きな駅の構内図を順にみていくと、品川駅の15番ホームが横須賀線のホームであることが見つかる。

`Diver25{品川駅}`

# 感想
初めてでここまで解けたのはすごい嬉しかったけど、もう少し解きたかったねぇ。
終わった後のみんなのdiscussionを見てると、もう少しのところまで来ていたのもたくさんあった（phone、hole、reconシリーズ）から、もう少し知識があれば…って感じ。
初めて触るツール（Torブラウザ、wigle、Webアーカイブ系、OpenStreetMap）もみんなすでに触ったことあるっぽくて、やっぱり武器多く持ってることの大切さを感じたね。

プレイ中は見つかった時の快感がエグい。Talentopolisとnight_streetは深夜テンションやったことも相まってめっちゃ喜んだ。この感じは謎解きと同じ気持ちよさがあるね。
もともとOSINT CTFというもの自体も謎解きから知ったから、今回参加できてマジでよかった。

あとねむい。初日12時から飯風呂休憩だけで3時まで粘ったせいでねむい。アドレナリンでプレイ中は眠くなかったが終わってからの眠気がすごい。次は24時間ぶっ続けでやろう（？？？）

また次回あればパワーアップして帰ってきます。運営の皆様ありがとうございました！！！！次も楽しみにしてます！！！！