DIVER OSINT CTF2025 writeup
概要
2025年6月7日12時00分から24時間で開催されたDIVER OSINT CTFに参加していました。
結果は、3226pt、112位(668チーム中)でした。長時間取り組めなかったのと、ちょくちょく迷走してしまったことによるタイムロスが非常に悔しいところです。(言い訳)
「現実世界指向」というコンセプトで様々なジャンルの問題が出題され、面白い問題が多く楽しめました!運営の皆様、開催していただきありがとうございます。
ここでは、自分が解いた問題+少しだけ着手したことについて記載していきます。
welcome
welcome (10pt / 668 solves)
問題文に記載されている通り、#announce チャンネルをチェック。
ルールを守って楽しくCTF!
flag:Diver25{We_understand_the_rules_and_how_to_submit_flags!}
introduction
bx (100pt / 469 solves)
この写真で見える "BX" という看板の座標を答えなさい。
Give the coordinates of the "BX" signboard visible in this picture.
画像に真ん中に位置する「カトリック上野教会」でGoogle Mapで検索すると建物が表示される。
FLAG:35.71833924835373, 139.78098546485356
(余談)
とりあえず、Google lensで画像検索にかけるかーと考え、上野駅周辺での散策記事を発見。この記事の散歩経路から探ることもできそうだと考えたが、何か違う気がしたので画像を見直すことした。
document (100pt / 280 solves)
アメリカ海軍横須賀基地司令部(CFAY)は、米軍の関係者向けに羽田空港・成田空港と基地の間でシャトルバスを運行している。2023年に乗り場案内の書類を作成した人物の名前を答えよ。
"cfay airport bus schedule"とGoogleで検索し(途中まで入力するとサジェストに表示された)、該当のPDFがヒット、ファイルをダウンロードし、exiftoolで確認するとAuthorの情報が残っている。
FLAG:個人情報のため不記載
finding_my_way (100pt / 408 solves)
34.735639, 138.994950 にある 建造物 の、OpenStreetMapにおけるWay(ウェイ)番号を答えよ。
Flag形式: Diver25{123456789}
OpenStreetMapに不慣れなので、Wikiを確認。地図上で右クリックし、"地物を確認"をクリックすることで近くの地物が表示される。問題の座標で確認することで建物のWayが確認できる。
FLAG:Diver25{568613762}
hidden_service (100pt / 354 solves)
添付ファイルを確認して、Flagを獲得してください!
.onion
と記載されているので、Torを用いて接続を試みる。
接続するとflagが表示された。
flag:Diver25{w3lc0m3_70_d4rkw3b!}
[unsolved] louvre (176pt / 181 solves)
ルーブル美術館の公共Wi-Fiアクセスポイントのうち、以下の条件を満たすもののベンダーを答えよ。
- 情報は2025年2月28日に収集されており、オンライン上で確認できる。
- ベンダーはBSSIDに準拠して判定せよ。
ルーブル美術館のWi-FiのSSIDはここから知ることができる。
Googleで"SSID OSINT"などと検索すると運営の一人のryo-a氏の記事がヒット。
WiGLEで検索すればよいことが、アカウント登録が上手くいかずunsolved...。そんなー。
geo
advertisement (100pt / 233 solves)
画像
この記事の写真が撮影された場所はどこか。
Google lensで調べるとこちらのツイートがヒット、"カザン"での広告と記載されている。
また、同じくヒットしたThe New York Timesの記事に"St. Petersburg"と記載されており、カザンとあたりをつけて調査開始。
Google lensに以下の領域とカザンのロシア語表記"Казань"を検索し、下位の検索に"ТОКИО-CITY"が写ったサムネイルのページを発見。ダンス教室への経路が記されており、撮影された場所がわかり、"Metro Vasileostrovskaya"周辺とわかる。
少し座標を調整して、
FLAG:59.9428482372, 30.2782187909
(余談)
2回挑戦したが座標が少しずれていて、調整したのはチームメイトのReso氏であることがここだけの話である。
[unsolved] hole (449pt / 72 solves)
画像
この穴があった場所はどこか。
Google lensで検索すると、この記事がヒット。動画に冒頭に"山西大同"(中国山西省大同市)、標高1035mであることがわかる。
冒頭の直線の道路から空港ではないかと予想し、閉鎖された空港+標高1030m程の場所を探してみるが上手く調べられず断念。
[unsolved] what3slashes (446pt / 75 solves)
画像
この画像が撮影されたとき、正面に家が3軒、右手に家が1軒あった。
それから少し経った、ある月の初旬にこの場所にもう一度訪れてみた。そのときには、正面左側に家が1軒増えていて、正面右側にもう1軒が建設中であった。その時点で、建設中の家に屋根はなかったが、黒っぽい屋根を作る予定だという。
「ある月の初旬」とは何年の何月のことだろうか。
Flag形式 : Diver25{YYYY/MM} (e.g. Diver25{2025/06})
Google lensで検索すると、モンゴル郵便がwhat3wordsを導入すると言う記事がヒットする。
座標はwhat3words (3つの単語で座標を決定するサービス)で決定できるため、手書きのモンゴル語(キリル文字)を頑張って読み取る。
「"Бушба"」, 「"уоzу"」, 「"бaщaщzaө" or "Башатгав"」の3単語だと思ったが間違ったようだ。(手書き文字は辛いよー。)
残り30分のタイミングでこの問題に取り組み始めたため途中で終わってしまった。(言い訳)
recon
運営によって用意された架空の人物について調査する問題。
接触などをしないように注意しよう。
00_engineer (100pt / 346 solves)
画像
東京駅の近くでソフトウェアエンジニアの名札を拾った。おそらく落とし物だろう。
このエンジニアが勤務している会社のWebサイト(トップページ)のURLを答えよ。
Flag 形式: Diver25{https://google.com}
Twitterでアカウントがヒット。
bioのリンクを辿ると会社のURLに辿り着く。
flag: Diver25{https://magneight.com/}
調査のまとめ
Google Docsで以下のようにメモをしていました。他のチームはどんな風に情報をまとめていたか気になる。チームメイトと共有していたGoogle Docsの状況
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: この映像は軽微な航空事故の様子を含みます。
動画を確認すると、機体番号"JA4098"であることがわかる。
登録情報
を調べると、"N9786L"という情報を持っていたこともわかった。
"N9786L"で調べるとAviationDBに辿りつき、ここに記載されている8進数のMode S Codeを16進数に変換することで解決する。
Flag : Diver25{AD9D6A}
(余談)
当時は、ページに記載されているMode S Codeが10進数だと思っており、変換を間違えていた。
Mode S Codeの進数を調べる前に登録情報などの調査をはじめ、ICAO(国際民間航空機関)に登録が必要であることを知る。"icao mode s code lookup"と検索すると、こちらのページがヒットする。
"N9786L"を調べると16進数、8進数、2進数表記が出力される。同時に「AviationDBに表示されてたのは8進数だったのね...。」と呟き遠くを眺めた。
sanction (375pt / 112 solves)
2024年10月25日、制裁下にあるロシア船籍のRORO船「ANGARA」がある港湾に停泊していることが衛星画像で確認された。
停泊位置を答えよ。
基本情報として、ANGARAの情報をVesselFidnerとMarinetrafficで確認。直接flagに結びつく情報などは得られないが、IMO:9179842
などはわかる。
Google検索で、"ANGARA satellite image"などで調べると、2024年10月16日のMeduimの記事が出てくる。
他にもヒットした記事を調べてみると、"saction report"などの文言がちらほら出てくる。
問題名が"sanction"であることを思い出し、"sanction IMO 9179842 october 25"とGoogle検索で調べると、この資料がヒット。p.18に"Figure 11: Russia-flagged ANGARA at Rajin Port, DPRK (Oct. 25, 2024)"とANGARAがRajin Portに停泊している姿がわかる。画像とGoogle Mapを照らし合わせて座標を決定。
flag:42.227081112691124, 130.2826595127509
Discussion