プログラム系統備忘録ブログ

記事中のコードは自己責任の下でご自由にどうぞ。

DIVER OSINT CTF write-up

DIVER OSINT CTFへ、一人チームrotationで参加しました。名前の通り、OSINTジャンルオンリーのCTFでした。そのwrite-up記事です。

2024/06/17(月) 19:30頃追記: 公式の、問題と解説を含むリポジトリが公開されました: diver-osint-ctf/writeups: Official Writeups for DIVER OSINT CTF

コンテスト概要

2024/06/08(土) 12:00 +09:00 - 06/09(日) 12:00 +09:00の24時間開催でした。他ルールはRulesページから引用します:

(英語表記もありますが省略します)

大会ルールおよび規約 [日本語 / JAPANESE]
概要・ルール
オンライン上で開催されます。Jeopardy形式です。
1チームあたり6名まで参加可能です。
開催時間は 2024/06/08 (土) 12:00JST - 06/09 (日) 12:00 (JST)(24時間)です。
各問題の点数は、参加者全体の正答数によって変動します。
原則として、すべて無償のツールやWebサイトから得られる情報で解答可能です。ただし、有償のツールの使用を禁止するものではありません。
禁止事項に違反しない限り、ChatGPTやGeminiなどの生成AIサービスは使用してかまいません。
CTF競技中のすべての連絡はDiscordで実施されます。必ずDiscordサーバに参加してください。
違反行為が確認された場合、該当するプレイヤーやチームは失格や減点などの処分を受けます。
CTFサーバ (CTFd) へのユーザ登録を以て、ルールおよび規約に同意したものと見なします。

禁止事項

他プレイヤーや運営者に対する攻撃や妨害
他プレイヤーや運営者に対するハラスメント、攻撃、妨害、脅迫、晒し(doxing)など、いかなる嫌がらせも行ってはなりません。
また、他プレイヤーや運営者のアカウントなどからFlagが得られる問題はありません。

問題サーバやアカウントに対する攻撃・ハッキング
本競技のFlagはすべて公開されている情報から得ることができます。 問題サーバおよび各種アカウントに対する攻撃は禁止します。また、パスワードリセットの試み、ブルートフォース、アカウント停止を試みることなども禁止行為に該当します。
解法が「攻撃」に該当するか不安な場合、実施前にDiscord上で運営者に問い合わせてください。

問題に登場する個人や組織などへの接触
本競技では実世界の公開情報を取り扱い、競技中には架空の人物・組織だけでなく、実在の人物・組織を目にすることになります。いかなる個人や団体に対しても、SNS・メール・電話・訪問などの手段で接触してはなりません。 なお、SNSアカウントに対するフォローや「いいね」も接触とみなされます。
解法が「接触」に該当するか不安な場合、実施する前にDiscord上で運営に問い合わせてください。

偽アカウント作成などによる競技妨害
問題に関連していることを装った偽アカウントや偽ページなどを作成し、他のプレイヤーを惑わす行為は禁止されています。 万が一、不審なアカウントやページを見つけた場合、Discordで運営者に報告してください。

参加人数制限の違反
1チームあたりの制限人数(6名)を超える人数の参加は禁止されています。 例えば「6名を登録し、実際には7名で問題を解く」といった行為はこの規定に該当します。

競技時間中における問題などの共有・公開
競技中に与えられる問題文・解答(Flag)・解法・ヒントなど、一切の情報を他のチームに共有する行為は禁止されています。他のチームからこれらを得ようとする行為も禁止されています。
また、公開・非公開を問わず、問題・解答(Flag)・解法・ヒントなどを外部(SNSやDiscord、チャット、掲示板など)に流出させてはいけません。 例えば、競技に参加していない知人などに問題やその一部を提示し、解答に際して補助を求める行為はこの規定に該当します。
ただし、競技終了後にはwriteupとして問題を公開可能です。

その他の妨害行為
その他、運営を妨げると考えられる行為も禁止します。

留意事項
ヒントについて
本CTFでは、特定のチームやプレイヤーに対してヒントを提供しません。ヒントを要求するだけの問い合わせは原則として無視されます。 もし、運営者がヒントを提供する場合、CTFプラットフォーム上で全員に対して提供されます。

センシティブな情報について
本競技では実世界の事象を取り扱います。問題によっては、災害や戦争、事件などのセンシティブあるいはショッキングな情報に触れる可能性があります。 解答に際してそのような情報に接触する必要がある問題は、その旨が明示されています。
そのような情報によって不快感を覚えたり、心身に不調をきたす可能性がある場合、参加を取りやめるか、そのような問題の解答を控えてください。

法的責任について
競技参加に伴うすべての行動に対して、参加者は法的責任を負います。 未成年者は保護者の同意を得た上で参加してください。

OpSec / プライバシーについて
必須ではありませんが、各サービスの規約に違反しない範囲で、サブアカウントなどを用意して調査を行うことを推奨します。
また、競技の参加および外部サイトのアクセスに際して、プライバシーの確保が必要な場合、VPNを利用するなど、各自の責任で対策を講じてください。

競技中止および競技時間の変更について
競技時間中にシステムトラブルや大規模災害などの緊急事態が発生し、運営続行が困難になった場合など、運営者の裁量で競技を中止したり、競技時間を変更したりする可能性があります。

運営者への問い合わせ
Discordの #ask-for-admin チャンネルから問い合わせを行ってください。 CTF競技中、チケットシステムの不具合を除いてDMやXでの対応は致しません。

Flag
"Welcome" のFlagはこちらです!
Diver24{ganbarou!}

問題に登場する個人や組織などへの接触 の禁止が明言されていることや、 OpSec / プライバシーについて で各自の対策を推奨していることが特徴的に思いました。また センシティブな情報について でショッキングな情報に触れる可能性に言及しているのはOSINT特有のことかもしれません。

コンテスト終了後のwrite-upの許可を明言いただいているのもありがたいです。

結果

正の得点を得ている453チーム人中、1435点で98位でした。

順位と得点

緑背景: 解けた問題

環境

Google Chrome Version 125.0.6422.142 (Official Build) (64-bit) などを使って取り組みました。いくつかの問題で使用したソフトウェアのバージョンは、それらの問題で記述します。

(普段のCTFではこの欄に使用ソフトウェアのバージョンなどをまとめて書いているんですが、OSINTだとほぼWebベースなので……)

解けた問題

本CTFでは、問題文やヒントは、日本語と英語が併記されています。本記事では日本語のみを引用します。また、ヒントはいずれも点数消費無しで表示できたため、速攻で確認しました。

最初は Welcome 問題だけが表示されている状況で、その問題を解くと多くの問題が表示されました。その上で、 ospray 系問題など、特定の問題を解くことで後続問題がアンロックされる問題もありました。

[welcome] Welcome (453 teams solved, 10 points)

DIVER OSINT CTFへようこそ!
ルールのページからFlagを見つけて入力してください。
正解すると、ほかの問題がアンロックされます!

Rulesページをちゃんと読んでいたのでフラグは分かっていました: Diver24{ganbarou!}

[introduction] dream (255 teams solved, 100 points)

画像に写っているパイプオルガンがある施設の郵便番号を答えなさい。
Flag形式: Diver24{123-4567}

配布ファイルとして、次の画像がありました(元画像サイズが大きいので25%サイズへ縮小しています):

パイプオルガンのあたりを対象に、GoogleLensで調べてみました:

検索結果左上のFacebookの画像が、 の絵画(こういった美術品ってなんと呼ぶんでしょう?)といいパイプオルガンといい、一致しているように見えます。その画像の下にある説明文の一部、ポップタウン住道オペラパーク でGoogle検索して公式Webサイトを調べると、ページ下部に郵便番号が記載されていました。フラグ形式で提出すると正解でした: Diver24{574-0046}

[introduction] office (229 teams solved, 100 points)

ファイルから得られるFlagを入力してください。

配布ファイルとして mudai.odt がありました。LibreOfficeで開いたり exiftool で調べたりしても、特段フラグらしいものはありませんでした。困ったので foremost コマンドを使って mudai.odt へ含まれるファイルを確認しました:

$ foremost -V | head -n 1
1.5.7
This program is a work of the US Government. In accordance with 17 USC 105,
copyright protection is not available for any work of the US Government.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ foremost mudai.odt
Processing: mudai.odt
|*|
$ ls
mudai.odt*  output/
$

出力結果を確認すると Thumbnails/thumbnail.png にフラグが書かれていました:

フラグを入手できました: Diver24{World Ocean Day}

ちなみに他の参加者様のwrite-upを読んで知ったのですが、ODT形式はZIP形式なので普通にZIP展開できるとのことです。

[introduction] serial (223 teams solved, 100 points)

これらの動画の背景に映っている航空機のシリアル番号は何か? シリアル番号が123456の場合、Flagは Diver24{123456} となる。

https://www.tiktok.com/@ana_allnipponairways/video/7318648417620741377
https://www.tiktok.com/@ana_allnipponairways/video/7338422699301145857

両方の動画を見ましたが、最初は2つ目の動画に映っている「飛行機の前輪付け根にある 222 の数字」にばかり着目してしまいました。そちらを元に "ANA" "222" 飛行機 シリアル番号 でGoogle検索したり、飛行機をGoogleLensで調べたりして時間を溶かしました。

とはいえ 航空:〇 よくある質問(FAQ) - 国土交通省 を見つけて、 製造番号登録番号 の違いは分かりました:

「航空機の番号」は、製造者(メーカー)が付与する製造番号(シリアルナンバー)のことです。
「航空機の登録記号」は、新規登録時に国が付与する記号番号のことで、「JA〇〇〇〇」と表記されます。

コンテスト終了直前に取り組み直すと、1つ目の動画、飛行機後部側に、ごくごく普通に JA222A と書かれていることに気づきました:

初見時に全然気付かなかったことに驚愕しながら "JA222A" serial number でGoogle検索すると 機体記号 : JA222A (ANA) 航空機体ガイド | FlyTeam(フライチーム) が見つかりました。そのページに製造番号が載っていたので、フラグ形式で提出してみると正解でした: Diver24{9580}

[introduction] ad_directiare (79 teams solved, 257 points)

この名刺の人物が、東京出張時に食べた昼ご飯の値段を答えよ。
Flag形式: Diver24{値段}
1000円の場合、Flagは Diver24{1000} となります。

配布ファイルとして、次の画像がありました:

(終了後の運営様の書き込みによると今回のコンテスト用に作られた架空の名刺とのことですが、念のため本文中での記載は控えます)

氏名や事務所名、メールアドレス、見えている範囲の住所でGoogle検索してみましたが、おそらく無関係なデザイン事務所ぐらいしか見つかりませんでした。

しばらく悩んでから、「Gmail調査には GHunt が使えるらしい」と思い出して試してみました。 GHunt Online version はクレジット投入が必要らしくて諦めました。cloneしてローカルで実行したものへ、Firefox拡張経由で取得したクッキーを与えることで ghunt login を完了させてから、 ghunt email <EMAIL_ADDRESS> を実行しました。色々出力がある中に、Google MapプロフィールのURLがありました:

アクセスしてみました:

4400円のうな重を食べたとのことなので、フラグ形式で提出してみると正解でした: Diver24{4400}

GHuntの強力さがよく分かりました。後で試しに自分のアカウントを調べてみると、意図せず公開設定になっているものが見つかったりしました!

[misc, easy] number (176 teams solved, 100 points)

この車両の持ち主に連絡を取りたい。電話番号を調べてもらえないだろうか。
Flag形式: Diver24{0123456789}

注意: 実際に電話を掛けてはならない。

Unlock Hint for 0 points
携帯電話ではなく、固定電話である。

配布ファイルとして、次の画像がありました(元画像サイズが大きいので50%サイズへ縮小しています):

ナンバープレート 外 でGoogle検索すると 外交官ナンバー「○外」と「外」何が違う? 文字は3種、ナンバーは4種 | 乗りものニュース が見つかりました。外交官用の車のナンバープレートとのことです。

外交官 ナンバープレート 割り当て 検索 でGoogle検索すると 外交官ナンバーをみて、どこの国が知りたいです。一覧表はありませんか? - 外交... - Yahoo!知恵袋 が見つかりました。回答によると、数字4桁の場合は上2桁が国を表すとのことです。ただ、今回の上2桁が 49 の国は例示中に含まれていませんでした。

日本 外交官 ナンバープレート 国番号 でGoogle検索すると 外交官車両 - ヨシジのブログ が見つかりました。 49 クエート. Kuwait とのことです(まとめていただいていてありがたい限りです)。

クウェート 日本大使館 で検索して駐日クウェート国大使館のWebサイトへアクセスして、ページ下部にある電話番号をフラグ形式で提出すると正解でした: Diver24{0334550361}

[military, easy] osprey1 (203 teams solved, 100 points)

2023年11月29日、アメリカ軍のオスプレイ(V-22)が日本の屋久島沖で墜落した。この機体の番号と、墜落時のコールサインは何か。
Flag形式: Diver24{XX-XXXX_CALLSIGN}
たとえば機体登録番号が01-2345、コールサインがCALL01の場合、Flagは Diver24{01-2345_CALL01} となる。

この事故に関する問題は本CTFにおいて3問あります。正解することで1問ずつアンロックされます。

配布ファイルはありません。

オスプレイ 屋久島沖 墜落 コールサイン でGoogle検索してみました:

コールサインは ガンダム22 らしいです。とはいえおそらく英語表記が必要になりそうなので コールサイン ガンダム22 でGoogle検索すると、 米軍、オスプレイ搭乗8人の写真と経歴を公開 「世界のどこにいても家族を大切に」「彼のユーモアは暗い時代を明るく」上官のコメント添え 屋久島沖墜落事故 | 鹿児島のニュース | 南日本新聞 | 373news.com が見つかりました。その中に次の記述がありました:

米空軍公式サイトは、機体を識別するコールサイン「GUNDAM(ガンダム)22」を用い、追悼している。

コールサインは分かったので、他の必要な機体番号を探すことにしました。米軍機なので英語で調べたほうが良さそうと考えて "GUNDAM22" registration number でGoogle検索すると 2023/11/29のQuoraの書き込み が見つかりました。書き込み内容を読むと、次の記述がありました。

フライトレーダーを確認したところ、午前11時ごろに横田を発進したと思われる登録番号「10-0054」のCV-22 オスプレイがお昼過ぎに岩国基地に着陸していくところが記録されていました。
(中略)
<追記>

中継した岩国基地の情報から、墜落した機体はコールサイン「GUNDAM22」登録番号(12-0065)の機体のようです。

最初は記事上の方の Diver24{10-0054_GUNDAM22} を提出しましたが不正解でした。書き込みを最後まで読むと別の機体の言及があり、そちらをフラグ形式で提出すると正解でした: Diver24{12-0065_GUNDAM22}

[military, easy] osprey2 (114 teams solved, 100 points)

2024年2月15日、ある米軍基地でこの事故に関する追悼式典が実施された。16:46:37ごろ、その式典はどこで実施されていたか。
OpenStreetMapのWay番号で答えよ。
Flag例: Diver24{123456789}

Unlock Hint for 0 points
基地全体ではなく、基地内の特定の区画・地点を示してください。

配布ファイルはありません。

米軍の式典なので英語で検索する必要がありそうと考えました。 osprey feb 15 2024 でGoodle検索すると ‘Profound bond’: Hundreds gather at Tokyo air base to remember fallen Osprey aircrew | Stars and Stripes が見つかりました。記事には次の記述がありました:

A 1 ½-hour memorial service began at 10 a.m. inside Yokota’s Taiyo Community Center to remember the eight fallen crewmembers of call sign Gundam 22.
(中略)
A half-hour before sunset, approximately 600 people, mostly airmen in uniform, gathered for a brief retreat ceremony on the athletic field outside Yokota’s Samurai Fitness Center.
The 5 p.m. assembly faced flags outside the wing headquarters building as the Japanese and U.S. national anthems, followed by taps, played across the base on the public address system.

10時頃と、17時頃にそれぞれ別の場所で式典が行われたようです。同様のGoogle検索で、他にも Gundam 22 Memorial Service > Yokota Air Base > Latest Announcements の米軍による次の記述が見つかりました:

The event will include a memorial service at the Taiyo Community Center and a retreat ceremony at the track and field area across from the Samurai Fitness Center.

式典の場所は2箇所のどちらかで間違いなさそうです。そのうち17時頃の方の実施場所 Yokota’s Samurai Fitness Center でGoogle検索すると Samurai Fitness Center & Annex | Yokota FSS が見つかりました。横田基地の内部にあるらしいです。

Google Mapで調べると 35.74191N 139.34293E付近 が見つかりました。また、道路を挟んで Yokota Training Field があることも分かりました。本問題で問われているOpenStreetMapに見つかった緯度経度を入れてみました。しばらくWay番号をどうやって調べるのか悩みましたが、地図上で右クリックして アドレスを表示 すればいいと分かりました。するとWay: 810021665 とのことで、かつ陸上競技場をいい感じに含む範囲でした:

ただ、 Driver24{810021665} を提出しても不正解でした。 16件のノード にあった、競技場周辺の道の1点を表すWay番号16個を提出してみましたが、全部不正解でした。

悩みながら探していると、 変更セット #85988094 箇所のリンクの先に4個のWayがあり、そのうち1つのWay: 810021666が、競技場の内部本体らしい四角形の範囲を表していました。

こちらをフラグ形式で提出してみると正解でした: Diver24{810021666}

[geo, easy] imagetrack (146 teams solved, 100 points)

画像の撮影された郷土料理屋の店名を答えよ。
Flag形式: Diver24{店名}

配布ファイルとして、次の画像がありました(元画像サイズが大きいので10%サイズへ縮小しています):

ジョッキの open air というロゴが目立ちます。Google検索してみると クラフトビールの醸造所 - オープンエア湊山醸造所 | open air – open air 公式オンラインストア が見つかりました。神戸の酒蔵のようですので、郷土料理屋は別のお店のようです。

左のメニューの範囲でGoogleLens検索してみたりしましたが、それらしいお店は全然見つかりませんでした。悩んだ後、問題名の image という単語が引っかかったのでEXIF情報を調べてみました:

$ exiftool -ver
12.76
$ exiftool DSC_8886.JPG
(中略)
GPS Position                    : 34 deg 41' 41.22", 135 deg 11' 35.58"
$

GPS情報が載っていました。GoogleMapで検索できる形式を 緯度と経度の座標で位置を確認または検索する - パソコン - マップ ヘルプ で調べると 度分秒(DMS): 41°24'12.2"N 2°10'26.5"E があったので、それに合わせた 34°41'41.22"N 135°11'35.58"E でGoogleMapで検索しました:

直接には郷土料理屋はでてきませんでしたが、住所が 兵庫県神戸市中央区加納町4丁目3 付近ということが分かりました。 兵庫県神戸市中央区加納町4丁目3 郷土料理 でGoogle検索しました:

郷土料理 からす がその付近にあるようです。フラグ形式で提出してみると正解でした: Diver24{郷土料理 からす}

[geo, medium] chiban (90 teams solved, 184 points)

画像の中央に写っている道路の地番は何か。
たとえば住所が 仙台市宮城野区二十人町 303-8 の場合、Flagは Diver24{303-8} となる。
また、地番には数字だけでなく漢字が含まれることもある。その場合は漢字表記のまま解答せよ。

配布ファイルとして、次の画像がありました:

最初は画像左のスーパーの名前や、中央奥右にある餃子屋の名前でGoogle検索していましたが、店舗が全国にあって絞り込むのが大変そうに思いました。しばらくして、画像の中央左の白い車に医院の名前があることに気づきました:

スーパーの名前と一緒にGoogle検索すると、 大阪府茨木市 と分かりました。

ところで 地番 が何か知らなかったので調べると 地番と住所の違いとは?地番の調べ方や住所からの変換方法をわかりやすく紹介 | 株式会社ゼンリンデータコム が見つかりました。土地を特定するためのものが地番であって、建物を特定するための住所とは異なる概念とのことです。

それではと調べた場所の地番を調べる方法を 道路 "地番" googlemap でGoogle検索して探すと ネットで無料で法務局の地図(公図)が見放題!スマホでもOK 記事が見つかり、そこでMAPPLE法務局地図ビューアが紹介されていました。 今回の目的の座標 を入れてみました:

筆界未定地-6 という物凄い名称に見えますが、問題文にも漢字表記のままとあるのでフラグ形式で提出してみると正解でした: Diver24{筆界未定地-6}

(最後に交差点から見るべき方向を間違えていて、何回か誤答していました……)

[crypto, easy] leak (211 teams solved, 100 points)

先月、日本の会社で大規模なBTCの不正流出が起きた。
流出先となっているウォレットアドレスを答えよ。
Flag形式: Diver24{ウォレットアドレス}

配布ファイルはありません。

何か聞いた覚えのある事件ですが、どの会社かは思い出せませんでした。とりあえず Bitcoin 流出 でGoogle検索すると 【重要】暗号資産の不正流出発生に関するご報告(第一報) - DMMビットコイン(2024/05/31) が見つかりました。まさに先月の出来事で、大きな事件はこれだけだったはずです。

送信先を調べるために "dmm" bitcoin "destination" address でGoogle検索すると Stolen Bitcoins From Japanese Exchange DMM Bitcoin Distributed To Ten Addresses | Binance News on Binance Square が見つかりました。次の記述がありました:

According to Odaily, Beosin Alert has reported that the 4502.8 Bitcoins stolen from the Japanese cryptocurrency exchange DMM Bitcoin have been transferred to the address 1B6rJRfjTXwEy36SCs5zofGMmdv2kdZw7P.

フラグ形式で提出してみると正解でした: Diver24{1B6rJRfjTXwEy36SCs5zofGMmdv2kdZw7P}

[history, easy] promoter (90 teams solved, 184 points)

画像に写っている池沼を開拓した発起人の父親の命日を答えよ。
Flag形式: Diver24{yyyy/MM/dd}

(英文中略)
Note: "Kan'ei" (寛永) is one of Japanese era name. (wikipedia)

配布ファイルとして、次の画像がありました:

問題文の英文のNoteから、江戸時代の人物らしいことが伺えます。ともかくまずは場所の特定からです。画像中央付近の、池のほとりに白いドームらしいものが4個建っているのが特徴的に思ったので、GoogleLensで調べてみました:

愛知県犬山市の入鹿池らしいことが分かりました。ちなみに件の建物はグランピング施設というものらしいです。

入鹿池 歴史 発起人 でGoogle検索すると 入鹿池 - Wikipedia が見つかりました。どうやら 江崎善左衛門了也 が発起人らしいです。

最初は勘違いしていて 江崎善左衛門了也 本人の命日を調べていました。 江崎善左衛門 - Wikipedia に載っていて Diver24{1675/04/20} を提出して不正解になった後に、父親の命日を聞かれていることに気付きました。

江崎善左衛門了也とは何? わかりやすく解説 Weblio辞書 によると、父親の名は江崎善左衛門宗度 と分かりました。 ただ命日を調べるの苦労しました。 江崎善左衛門宗度 記念碑 でGoogle検索すると 江崎善左衛門宗度の墓(小牧市) #311 | こちら 第二研究室 遊(ゆう) が見つかりましたが、命日ではなく年の記載にとどまっていました。

"江崎善左衛門" "宗度" 死亡日 でGoogle検索すると 農業土木を支えてきた人々 徳川義直と六人衆 ―入鹿池の築造と木津用水の開削― が見つかりました。 IV. 六人衆 箇所で 善左衛門宗度 の命日の記載がありました。フラグ形式で提出すると正解でした: Diver24{1627/11/13}

ある程度進められたけど解けなかった問題

解けなかった以上、配布画像や問題文等を細かく記述してもしょうがないと思うので、簡単に記述します。解法の詳細は解けたチーム様のwrite-up記事をご参照ください。

[introduction] 246 (143 teams solved, 100 points)

「確か国道と県道で標識が違ったはず」と 国道 県道 標識 でGoogle検索すると 交差道路・路線番号・通称名標識|道路標識 四国地方整備局 が見つかりました。今回は六角形なので都道府県番号です。また、標識の後ろが黄色なので一般都道府県道とも分かりました。

ただ、これ以上の進展がありませんでした。 日本の道路一覧 - Wikipedia都道府県道 箇所から246号線を全探索しようと思っていました。しかし欠番や廃番を除いても30弱の都道府県道がありそうと分かり、各都道府県道を探すにもある程度時間がかかりそうなことから、諦めました……。

他の方のwrite-up記事を読むと、橋や、車のナンバープレートの地名から場所を特定できたとのことです。個人的にも、橋は取っ掛かりの一因になるかもしれないとは考えていました。しかし橋の大きさの予測が全く立っていないため、どのくらいの川幅が必要なのかが分かっておらず、日本のどこでもあり得るのではと思ってしまっていました。また、ナンバープレートの地名は「読めない!他!」と速攻で頭から取り除いてしまっていました:

答えを知った今では、「言われてみれば下関と読めるかも?」と思いました。地理に詳しい方なら「こうボヤケて見える地名はあれのはず」と見当がつくのでしょうか……?

[introduction] chain (110 teams solved, 100 points)

まずGoogleLensで検索して、「店名の左に 4F がある画像」は出てこないことを確認しました。というわけであとは お店を探す | 焼き鳥なら『鳥貴族』 | 鳥貴族 税込370円均一 の焼鳥屋 から 4階, 4階, 4F, 4F, 4F で検索して、出てきた50件超えの店舗を片っ端からGoogleストリートビューで確認していました。ただローラー作戦が終わってもそれらしい店舗が見つかりませんでした……。

正解の店舗を今あらためて確認すると、ビルの1F入り口付近にあり、かつ樹木でそれなりに隠れていました!てっきり「その看板はまさにビルに4Fの窓にある」と思い込んでいたため、入り口付近はあまり見ていなかったのが敗因です……。この問題を100チーム以上が解いているのは凄いのではと思っています。

[geo, medium] championships (40 teams solved, 440 points)

GoogleLensで店舗の名前を文字列として取得できて、なおかつGoogleMapに 問題で問われている2010年10月のデータがある ことまでは分かりました。ただ大会らしい広告を見つけられずに終わりました……

GoogleMapに「過去の特定の日付で固定したまま移動」な機能があったりしないでしょうか……(うろついているうちに日が変わること多数)。

[transportation, medium] youtuber (86 teams solved, 211 points)

問題文を見た瞬間に TuskuCTF2023で調べた人 かも、と思いました。2023年10月の話なので今回の問題文とも適合します。ただ、バスの諫早駅で警察に連れて行かれた話は出てきましたが、電車の駅で捕まった話は見つけられませんでしたし、その後に逃走した話等は見つけられませんでした……。

不快な情報なので映像や画像等を全然見ていなかったのですが、やはりそういったものを見なければ得られない情報はありそうですね……。その他、「ごくごく一般的な皆様の感想の洪水」を振り分けるのも、とても大変そうです……。

感想

  • 航空機の製造番号と登録番号の違い、住所の地番の概念、外交官ナンバープレートなど、問題へ取り組む過程で初めて知ることも多くて面白かったです!
  • 「画像の場所を調べること」はもはや前提で、その上で更なる情報を調べる問題が多い印象を受けました。
  • 問題によっては「この問題文と画像だけで、本当にフラグの答えまで出せるの!?」と驚くことがありました(そういった問題はおおよそ挫折しています)。OSINTの奥深さが垣間見えました。
  • 他の方のwrite-upを読んでいると、「こんな素晴らしい情報をサイトで公開してくださっている個人/組織/サービスが凄い」と思うことが多々ありました。ありがたい限りです。