DIVER OSINT CTF 2025
Diver OSINT CTF 2025 Writeup by m01nm01n
Our team, m01nm01n got 5th place among 668 teams in Diver OSINT CTF 2025.
m01nm01n is a CTF team of National Institute of Technology, Kisarazu College.


introduction
bx
「カトリック上野教会」と書いてある


document
ファイルを見つけexifを見た.個人名は隠す.
https://cnrj.cnic.navy.mil/Installations/CFA-Yokosuka/About/Installation-Guide/Airport-Shuttles/
[~/dl] >>>exiftool 2023\ 08\ 29\ CFAY\ Airport\ Bus\ Schedule.pdfExifTool Version Number : 12.40File Name : 2023 08 29 CFAY Airport Bus Schedule.pdfDirectory : .File Size : 1237 KiBFile Modification Date/Time : 2025:06:07 12:11:13+09:00File Access Date/Time : 2025:06:07 12:11:26+09:00File Inode Change Date/Time : 2025:06:07 12:11:21+09:00File Permissions : -rw-rw-r--File Type : PDFFile Type Extension : pdfMIME Type : application/pdfPDF Version : 1.7Linearized : YesAuthor : HERE IS THE INFORMATIONCreate Date : 2023:08:29 14:56:35+09:00Modify Date : 2023:09:25 14:34:09+09:00XMP Toolkit : Adobe XMP Core 9.1-c001 79.2a0d8d9, 2023/03/14-11:19:46Format : application/pdfCreator : ************Title : C:\Users\*******\AppData\Local\Temp\1\mso4A4A.tmpMetadata Date : 2023:09:25 14:34:09+09:00Producer : Microsoft: Print To PDFDocument ID : uuid:6b457268-41a2-4673-8ffe-cf81bf29f12fInstance ID : uuid:0d5fd1e0-b33f-4676-9428-f8aea7d533f6Page Count : 1finding_my_way
以下でway番号を調べた.
https://overpass-turbo.eu/

[out:json][timeout:25];( way(around:10,34.735639,138.994950););out body;>;out skel qt;flight_from (1st solve)
このヘリコプターが出発した飛行場のICAOコード(4レターコード)で答えよ。
Flag形式: Diver25{RJTT}

立川付近で飛び立ってる。
https://ja.wikipedia.org/wiki/%E7%AB%8B%E5%B7%9D%E9%A3%9B%E8%A1%8C%E5%A0%B4
Diver25{RJTC}
hidden_service

頑張って写す
http://diverahbwzfukwflslim73j7qtthfkesqvfh42obqk4cxrxwtajk7myd[.]onion/

Diver25{w3lc0m3_70_d4rkw3b!}
louvre
ルーブル美術館の公共Wi-FiのAP名を調べる
https://contact.louvre.fr/hc/en-gb/articles/12853523479453-Do-you-offer-WiFi
Louvre_Wifi_Gratuitらしい
https://wigle.net で調べると見つかる

※Last Timeが問題の条件に合致していないが私は早とちりして、これだと思ってしまった。
調べるとBSSID=Macアドレスだそうなので、ベンダーがわかりそう
https://uic.jp/mac/address/bc9fe4/

HPEらしいので正式名称で入れる。
Diver25{Hewlett Packard Enterprise Co.}
night_accident (1st solve)
https://www.youtube.com/watch?v=jHgqCpJNL28
2台のSBS Transitのバスが見える。52番と58番だった。バスはシンガポールにあるらしい。
52番と58番の路線図のオーバーラップを調べれば良さそう。
52番

58番

重なる場所はここだけ。

ストリートビューで付近をみるとここっぽい。


p2t
ship

7JVVと読めるコールサインっぽいものがある
調べる
https://www.marinetraffic.com/en/ais/details/ships/shipid:3897814/mmsi:431328000/imo:9767675/vessel:SHINYO_MARU
いろんな番号が出てくるが、IMO番号が「もし将来、この船が外国に売却されたとしても、変わらない番号」らしい
船の名前は「SHINYO MARU」+ 東京海洋大学で調べた
https://www.s.kaiyodai.ac.jp/special-contents/ship.html
Diver25{神鷹丸_9767675}
geo
Afghanistan
画像検索させるとGettyの写真っぽいことがわかる

左下に画像の管理番号?「1248038111」がある
gettyのサイト+番号で情報がゲットできそう
https://www.gettyimages.co.jp で適当な画像を選ぶと、URLは https://www.gettyimages.co.jp/detail/写真/{タイトル}/{番号} になっていることがわかる
経験則的にこういうURLは最後の番号を変えれば他の部分はリダイレクトされる
https://www.gettyimages.co.jp/detail/写真/hoge/1248038111
↓
https://www.gettyimages.co.jp/detail/%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%E5%86%99%E7%9C%9F/two-us-soldiers-from-1st-infantry-division-play-a-game-of-%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%E5%86%99%E7%9C%9F/1248038111
ヨシ!

しかし、制限されてるみたいで撮影場所がわからない・・・
撮影日はわかる

余談だがm01nm01nは問題毎にDiscordのスレッドを立ててメモ書きに使っている。

!!!!!
Diver25{Camp Bostick_2009-04-16}
advertisement
この記事に添付されている画像がどこで撮影されたかを当てる問題。
Kyiv diz que Rússia usou como recrutas até 180.000 presidiários
Google Lensに入れたら同様の画角が多数見つかり、サンクトペテルブルグで撮影されたとわかった。しかし、細かい撮影場所はわからなかったため、geoguesserすることにした。
わかったこと
- ТОКИО-CITY (レストラン)
- burger kingが近くにある
- メトロの駅近く?
サンクトペテルブルグにはТОКИО-CITYが有限個あったので総当りした。

Василеостровская駅の近くのТОКИО-CITYがあたり。


大体ここらへん。

余興なんですが、知り合いにロシアの友達がいるので聞いてた。
彼はモスクワに住んでいるにも関わらず、サンクトペテルブルグのどこかということは一瞬でわかったみたい。しかし、具体的な場所はわからないそう。
10分くらいしたら正解の場所を見つけてくれた。
彼は写真の奥に写っている地図を使ったそう。この地図には特徴的な川の流れが書いてある。

Yandex Mapを使って似た形状の場所を探したら見つかったそう。現地人すぎる。

また、Yandex MapのStreet ViewはGoogle Mapよりも充実しているようで面白い発見だった。

elevator
全くわからず、頭を悩ませていた。
しかし、東横インがフランスにもあることを思い出し、海外の可能性が無いかを考えてみた。(m01nm01nは来週からフランスに行ってMidnight Flag CTFのfinalに参加する)
すると、韓国に大量の東横インがヒットした。また、エレベーターの検査や故障履歴について日本語では全くヒットしなかったものの、韓国ではデータベースがあるようで韓国かなぁと当たりをつけることができた。
↓韓国にある全てのエレベーターのデータベース
국가승강기정보센터
韓国には東横インが有限個あるようなので全部見る。ChatGPTに韓国語で住所を列挙させ、1つ1つ故障履歴を見ていった。

すると、故障歴が2件あるエレベーターが2つ見つかったのでそれぞれ入れて正解した。CTFではなく本当のOSINTなら、解体工事の写真と照らし合わせて確認するべきなんだろう。
Diver25{20230810_20241124_8019148}
hole
画像の穴があった場所はどこかを当てる問題。

Google レンズで画像を検索すると以下の動画がヒット
https://www.youtube.com/watch?v=zIKAn8yDkpA
動画からわかったこと
撮影場所は西山大同(山西省大同市)
滑走路?らしきところで撮影されている
滑走路っぽいので「中国 机场」で中国の空港を検索。

ウィキペディアでよさげな表を発見。空港名をgoogle mapで検索してもそれっぽい滑走路が見つからない。「空军灵丘场站」だけgoogle mapでヒットしなかった。日本語に訳すと「霊丘空軍基地」らしいので、地名っぽい「霊丘」だけで検索すると山西省大同市霊丘県があるらしい。

拡大して探すとそれっぽい滑走路をみつけた。

動画からおおよその穴の位置を特定。


night_street
チームメートがクリニックに見えると言っていたので補完して画像検索


what3slashes
この画像が撮影されたとき、正面に家が3軒、右手に家が1軒あった。
それから少し経った、ある月の初旬にこの場所にもう一度訪れてみた。そのときには、正面左側に家が1軒増えていて、正面右側にもう1軒が建設中であった。その時点で、建設中の家に屋根はなかったが、黒っぽい屋根を作る予定だという。
「ある月の初旬」とは何年の何月のことだろうか。
Flag形式 : Diver25{YYYY/MM} (e.g. Diver25{2025/06})

何を言っているのかよくわからなかったが、場所を特定した。
写真に写っているのはwhat3wordsシステムに使われる紙らしい。
what3wordsとは、地球上を3m x 3mの正方形に分割し、場所ごとに3語の組合せを割り当てて位置を示すシステムのことらしい。
モンゴルのように住所が明確でない地域の郵便配達に役立つらしい。頭良い。
ところで、3つの単語はБумба цогц бататгавらしい。
入力するとモンゴルのウランバートル付近の場所がヒットした。
https://what3words.com/comedians.masking.bonkers
屋根を見ないといけないらしいので、Google Earthで遡った。(写真はGoogle Erathから)
最新の衛星画像をみてもピンとこない。

遡っていたら建設途中の家を見つけた。
2018年10月30日

2018年11月30日

11月初旬時点では完成していないので2018/11が答え。
Diver25{2018/11}
convenience
大前提として、この問題は「約」100mという曖昧な距離設定であることを念頭に置かないといけない(1敗)
OSMで公園と登録されているもののうち、コンビニとスーパーがそれぞれ約100m圏内にあるものを全部探せば、あとはスーパー-コンビニ間が約100m圏内に入ってるか確認する形で人力で解けそう。
コンビニとスーパーの定義が曖昧だったのでOSMでそのようなものがないか調べたところ、shop=convenienceとshop=supermarketが存在することが分かった。
というわけで、Overpass APIを使用し、青森県にあるすべての公園・コンビニ・スーパーを取得したうえで、すべての公園に対して周囲にコンビニやスーパーが120m圏内にあるかを確認するプログラムを(Geminiが)作成した。
:::spoiler ソースコード
import requestsimport jsonfrom geopy.distance import geodesicfrom collections import defaultdict
# Overpass APIのエンドポイントOVERPASS_URL = "https://overpass-api.de/api/interpreter"
# 青森県内の公園、コンビニ、スーパーを取得するOverpass QLクエリ# タイムアウトを90秒に設定OVERPASS_QUERY = """[out:json][timeout:90];area["name"="青森県"]->.aomori;( node["leisure"="park"](area.aomori); way["leisure"="park"](area.aomori); relation["leisure"="park"](area.aomori); node["shop"="convenience"](area.aomori); way["shop"="convenience"](area.aomori); relation["shop"="convenience"](area.aomori); node["shop"="supermarket"](area.aomori); way["shop"="supermarket"](area.aomori); relation["shop"="supermarket"](area.aomori);)->.all;.all out center;"""
def get_osm_data(): """Overpass APIからデータを取得する""" print("OpenStreetMapからデータを取得中...(少し時間がかかる場合があります)") try: response = requests.get(OVERPASS_URL, params={'data': OVERPASS_QUERY}) response.raise_for_status() # エラーがあれば例外を発生させる print("データの取得が完了しました。") return response.json() except requests.exceptions.RequestException as e: print(f"データ取得中にエラーが発生しました: {e}") return None
def parse_elements(data): """取得したデータを施設の種類ごとに分類する""" parks = [] conveniences = [] supermarkets = []
for element in data.get('elements', []): tags = element.get('tags', {}) name = tags.get('name', '名称不明')
# 緯度・経度の取得 if 'center' in element: lat, lon = element['center']['lat'], element['center']['lon'] elif 'lat' in element and 'lon' in element: lat, lon = element['lat'], element['lon'] else: continue
item = {'name': name, 'pos': (lat, lon)}
if tags.get('leisure') == 'park': parks.append(item) elif tags.get('shop') == 'convenience': conveniences.append(item) elif tags.get('shop') == 'supermarket': supermarkets.append(item)
return parks, conveniences, supermarkets
def find_parks_with_nearby_facilities(parks, conveniences, supermarkets, radius_m=100): """ 条件に合う公園と、その近くの施設情報を見つける """ print(f"\n半径{radius_m}m以内にコンビニとスーパーがある公園を検索中...")
results = []
for park in parks: park_pos = park['pos'] nearby_conveniences = [] nearby_supermarkets = []
# 近くのコンビニを検索 for conv in conveniences: distance = geodesic(park_pos, conv['pos']).meters if distance <= radius_m: nearby_conveniences.append(conv)
# 近くのスーパーを検索 for superm in supermarkets: distance = geodesic(park_pos, superm['pos']).meters if distance <= radius_m: nearby_supermarkets.append(superm)
# 両方が見つかった場合、結果に追加 if nearby_conveniences and nearby_supermarkets: results.append({ 'park': park, 'conveniences': nearby_conveniences, 'supermarkets': nearby_supermarkets })
return results
def main(): """メイン処理""" osm_data = get_osm_data() if not osm_data: return
parks, conveniences, supermarkets = parse_elements(osm_data)
print(f"\n--- データ概要 ---") print(f"公園の数: {len(parks)}") print(f"コンビニの数: {len(conveniences)}") print(f"スーパーの数: {len(supermarkets)}")
found_results = find_parks_with_nearby_facilities(parks, conveniences, supermarkets, 120)
print("\n--- 検索結果 ---") if found_results: print(f"条件に合う公園が {len(found_results)} 件見つかりました。") for i, result in enumerate(found_results): park = result['park'] print("-" * 30) print(f"{i+1}. 公園: {park['name']} (緯度: {park['pos'][0]:.6f}, 経度: {park['pos'][1]:.6f})")
print(" 近くのコンビニ:") for conv in result['conveniences']: dist = geodesic(park['pos'], conv['pos']).meters print(f" - {conv['name']} (約{dist:.0f}m)")
print(" 近くのスーパー:") for superm in result['supermarkets']: dist = geodesic(park['pos'], superm['pos']).meters print(f" - {superm['name']} (約{dist:.0f}m)")
else: print("条件に合う公園は見つかりませんでした。")
if __name__ == '__main__': main():::
:::spoiler 実行結果
OpenStreetMapからデータを取得中...(少し時間がかかる場合があります)データの取得が完了しました。
--- データ概要 ---公園の数: 910コンビニの数: 548スーパーの数: 286
半径120m以内にコンビニとスーパーがある公園を検索中...
--- 検索結果 ---条件に合う公園が 3 件見つかりました。------------------------------1. 公園: 駅前公園 (緯度: 40.827282, 経度: 140.734803) 近くのコンビニ: - セブン-イレブン (約54m) 近くのスーパー: - 嶋中商店 (約51m) - マルシェ アサムボン (約73m)------------------------------2. 公園: 扇町緑地 (緯度: 40.584433, 経度: 140.500164) 近くのコンビニ: - セブン-イレブン (約87m) 近くのスーパー: - いとく (約109m)------------------------------3. 公園: 旭町児童遊園地 (緯度: 40.810359, 経度: 140.446959) 近くのコンビニ: - ローソン (約88m) 近くのスーパー: - 五所川原駅前市場 (約120m):::
一番経度が小さい扇町緑地が該当しそうだったので実際にGoogleMapで距離を確認したところ、コンビニ-スーパー間も問題なさそうだったので、OSMの番号を提出
Diver25{759381890}
Talentopolis
この赤道ギニアのイベントで撮影されたステージの場所を特定する問題。
https://www.guineaecuatorialpress.com/noticias/primera_edicion_de_talentopoli
赤道ギニアのJPLという団体が若者を集めてイベントをやっているらしい。インスタにも情報が上がっていた。
https://www.instagram.com/p/C_vO9QyI6CW/?__d=1&img_index=2
場所はA2 SAN JUAN (Malabo)というところらしい。Google Mapsに入れても出てこない。もちろん、Googleで検索しても出てこなかった。そもそも、San Juanという地名は赤道ギニアで見つからなかった。そのため、まずMalabo San Juanといったクエリで情報を集めることにした。
すると、次の動画がヒットした。
VIVIENDAS SOCIALES DE SAN JUAN MALABO - YouTube
ここに写っているマンションに見覚えがある。下の記事で貼られた写真に写っているマンションと似ている気がする。
Inicia el proyecto Talentópolis en el barrio San Juan de esta ciudad capital
(https://www.youtube.com/watch?v=YVkiYkFndPE より)

YouTubeのタイトルになっていた VIVIENDAS SOCIALES DE SAN JUAN MALABOはGoogle mapsでヒットした。
画角を合わせると4箇所に絞れる。
- 駐車場がある
- 真後ろにビル、左手にもビルが見える
さらに、ステージは右手に一軒家のような建物が見えたため、矢印のついている場所で確定させた。

(Google Earthより)

recon
00_engineer
twitterのbioにgithub pagesのポートフォリオが載っていた.
01_asset
Mizuki Sekozakiでインスタを検索したら社長のアカウントが偶然でてきた。
https://www.instagram.com/mizuki1206edelweiss/
昔の投稿を眺めていたら、スマートフォンに関する投稿が見つかった。
https://www.instagram.com/p/DHAMO0zPYjt/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==

Diver25{MN24-P113}
HACK’OSINTで得られた教訓の一つの「困ったらInstagram, Mastdon, Bluesky, Twitter, Facebookを探す」が活きたと思う。
02_recruit
採用ページどこだろうと思って、LinkedInやFacebookを探したが見つからなかった。
HPのcontactページにCareerがあった。今は閉じているみたい。つまり、昔は開いていたということっぽい。
https://magneight.com/contact.html
https://archive.md/20250410163929/https://magneight.com/contact.html
採用ページにGoogle Docsへの誘導があった。
Google Docsはオーナーが見えるのでガチャチャやったら見えた。Google Drive側からアクセスしてFile information -> Detailsから見える。

makoto.u.sunflower@gmail.com が出てきた。
GHuntするとGoogle Mapsにレビューを投稿していることがわかった。

Diver{Makoto Uchigashima}
ふと、1年前のDIVER OSINTのJun Kodaの問題を思い出した。その問題もGHuntすれば一瞬の問題だったが、当時はGHuntを知らずに大苦戦した覚えがある。メールアドレスからレビューが全部見えると知ったときの驚きをwriteupを書くまで忘れていた。
03_ceo
社長がGitハンズオンをやってくれたというポストを見つけた。
https://x.com/kodai_sn/status/1914562813928071334
GitHubにメールアドレスがあるだろうと考え、Gitハンズオンの情報を探す。
https://x.com/kodai_sn/status/1895844067323629964

フォークさせている。ここから辿れそう。
https://github.com/kodai-sn/fork-practice/forks
社長のGithubアカウントらしきものがある。
Gitにはメアドが必要なので、@users.noreply.github.comのアドレスじゃないことを祈りつつ、あとはこいつをcloneしてgit logするだけ。

Diver25{mizuki1206anemone@gmail.com}
04_internal
magneight.comのIPを調べる。
┌──(kali㉿LAPTOP)-[~]└─$ dig magneight.com
; <<>> DiG 9.20.4-4-Debian <<>> magneight.com;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21219;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 1232;; QUESTION SECTION:;magneight.com. IN A
;; ANSWER SECTION:magneight.com. 3600 IN A 202.212.71.93202.212.71.93をshodanする(Censysとかでもいけると思うが)
https://www.shodan.io/host/202.212.71.93

Giteaくん、こんにちは。
フッターにバージョンがある

Diver25{1.24.0+dev-303-gd88b012525}
05_designer
06_leaked
transportation
36_years_ago
air2air
ウィングレットからstarlux航空であることがわかる.

FrightRadar24のシルバー会員になり, playbackをすることでstarlux航空機と並走し高度の高い飛行機を発見した.

listen
next_train
音声を聞くと以下の情報がわかる
- 久里浜行きの列車が存在すること
- 15番線から発着すること
久里浜行の普通電車は横須賀線であり、横須賀線が15番線から発着するのは品川駅であるのはそのままググると出てくる。
Diver25{品川駅}
platform
まずは、ホームの乗車位置の目印に着目した。そこから以下の情報が得られる。
- JR東日本の駅であること
- 6両編成、10両編成、12両編成が停車すること
- 弱冷房車が9号車に設定されていること
- 路線カラーがオレンジである可能性があること
- 停車のマークの付け方的に、12両編成は後から増えてそう(推測)
路線カラーから考えると、中央線である可能性が高いと考えられる。
中央線は今年からグリーン車を完全導入したことにより10両編成から12両編成になっており、停車マークの10両/12両に関して合理的な説明がつく。
また、中央線の弱冷房車が9号車であることもGoogle検索するとすぐ出てくる。
そこで次に、6両編成が何を指すのかの調査を行ったところ、以下の知恵袋の回答が出てきた。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14298360529
この投稿によると、立川より下り方面であり、五日市線直通の列車が通る駅であると考えられる。
ここまで絞り込めたなら、あとは立川駅以降について全探索を行う。
https://www.youtube.com/watch?v=3T_L4NMkkvE

画像と同じ景色が見つかったので、これが答えである。
Diver25{牛浜駅}
sanction
2024年10月25日、制裁下にあるロシア船籍のRORO船「ANGARA」がある港湾に停泊していることが衛星画像で確認された。
停泊位置を答えよ。
まずMarin Trafficで調べてみる。見つかったが、途中の軌跡をアクセスできなかった。
具体的な日付が記されていたのでどこかレポートがあるかなと気になった。
russia angara 2024 oct 25 filetype:pdf外務省の多国間制裁チームのレポートがヒットした。
https://www.mofa.go.jp/mofaj/files/100853978.pdf
あった!
Russian-flagged ANGARA ata Rajin Port, DPRK (Oct. 25, 2024)
Rajin Portにフォーカスして衛星画像通りに配置すればOK

多国間制裁チームのレポート、内容が丁寧で面白くて勉強になりそうなので個人的に読んでみるつもり。
多国間制裁監視チーム(MSMT)第1回報告書の公表|外務省
history
bridge
https://www.youtube.com/watch?v=fRMi8TXQRuo
動画が撮影された場所は豊肥本線の上で竜田口の手前だった。

第二白川橋梁というらしい。
気合で色々調べていたら、次のクエリで流用された橋の名前が見つかった。
熊本 "第二白川" 橋りょう 洪水 復旧 filetype:pdf
https://www.nakanihon.co.jp/gijyutsu/Shimada/BridgeData/f43KM.pdf
Diver25{澱川橋梁}
internment
藤井富太郎氏が釈放された収容所と日付を答える問題。チームメンバーが奮闘した末に夢物語を読み始めてから気が狂ってしまった。当時自分は他の問題を解いていたので、日曜日の朝に取り掛かった。
彼に関する本があった。読むしか無い。ここで1980円を失う。
Amazon.co.jp: 最後の真珠貝ダイバー 藤井富太郎 eBook : リンダ・マイリー, 青木麻衣子, 松本博之, 伊井義人: Kindleストア
70ページに全てが書いてありました。
1946年12月10日にビクトリアのタツラ収容所から釈放されたそうです。
Diver25{1946-12-10_4_Tatura_Victoria}
多分想定解ではないが、課金したら一瞬で解けてしまった。
company
bid
https://www.omantender.com/tender/drilling-well-bore-supply-installation-pump-and-pipeline-al-bashayer-veterinary-hospital-wilayat-ad-68865d1.php
次は、入札の結果を探す。gov.omでググって政府の公式ページに行く。
https://gov.om/en/entities に General Secretariat of the Tender Board(入札委員会事務局)とあるので、それでググり、https://www.gstb.gov.om/en/Pages/GeneralSecretariat.aspx
に行く。ヘッダーのE-Service > Tendering systemでやっとそれっぽいシステムのページに行ける。
Floated、Opened、Awardedなどがあるがとりあえず全部さがしてみる。
Tender No.に1190/2023/MAFWR/DGAWRDK-94- Recall - 1を入れて探すと、Awardedで見つかる。

ターゲットの公募はを見つけた.3位はGolden Sands社なのでABOUT USページからCEO.

https://goldensandsoman.com/about-us/
expense
hardware
UART
この商品のイーサネットスイッチコントローラに直接UARTでアクセスを試みたい。どの部品の、どのピンにアクセスすればいいだろうか。
PCB上の部品番号 と、その部品の UART RX / UART TX ピン番号 を答えよ。ピン番号は部品の仕様に準拠せよ。
なお、ピンヘッダやコネクタが利用可能な場合でも、イーサネットスイッチコントローラのピン番号を答えてほしい。
Flag形式: Diver25{PCB上の部品番号_UART RXピン番号_UART TXピン番号}
(例えば、イーサネットスイッチコントローラが T21 という部品番号で、RXのピン番号が120、TXのピン番号が150であれば、Diver25{T21_120_150}となる)
商品とは、TP-Link Archer AX20 AX1800 V2 Dualband Wi-Fi 6 Routerのことである。
phoneを解いたあとだったのでFCCのページを見れば何かわかるんじゃないかという勘が働く。
最終的にデータシートを見ればUARTのピンがわかると思ったので、まずプロセッサを調べなきゃいけない。
あった。
今度は中身を見たいのでInternal Photosをみてみる。
https://fccid.io/TE7AX20V2/Internal-Photos/10-Internal-Photos-5053132
ありました。

RTL8367SのデータシートをみてUARTのピンを調べますか。
https://www.lcsc.com/datasheet/lcsc_datasheet_2103121437_Realtek-Semicon-RTL8367S-CG_C2760849.pdf
ありました。

また、PCB上の部品番号はプロセッサ左下にあるU7かな。
Diver25{U7_45_46}
PCB基板で回路設計をした経験に救われたと思う。経験に感謝。思ったよりもスパスパ解けて気持ちよかった。
phone
EMI試験をした携帯電話のシリアル番号を見つける。

SH-01Jらしい。レポートが必要だと思い、「EMI SH-01J !pdf」等で調べたがハズレ。
ChatGPTに聞くと技適のページに実験レポートあるんじゃないという話で調べるも、何も詳細が書いていない。
携帯電話だったら日本以外もあり得ると思い、海外版技適を調べたらFCCが見つかった。
「SH-01J FCC」でヒット。
http://blogofmobile.com/article/68417
APYHRO00240らしい。
FCCのページもあった。
Pt15B_APYHRO00240_TestReport_11380556H-B.pdfを読んでみる。
“serial”でPDFを検索したら番号、ありました。
Diver25{004401/11/583099/0}
military
object
wikimapiaで場所を調べたらПД-72と出てきました。

また、ПД-72で調べたらプロジェクト番号も同時に出てきました。
http://militaryrussia.ru/blog/topic-822.html
Diver25{13560_ПД-72}
worker
解けなかった。Yandexもうちょい深堀りすればよかっただけっぽい。
Deep Researchでも解けませんでした。
radar
画像に写っているものは、福建省に存在する、中国人民解放軍東部戦区のレーダー施設であると考えられる。
公式な情報は明らかにされていないものの、オンライン上で中国の軍事を分析している人々がこの基地を運用する部隊と分隊の番号を特定しているらしい。
もちろん、オンライン上の情報だけを鵜呑みにするわけにはいかないが、ひとまず検討する価値はあるだろう。
その情報を探り当て、教えてほしい。
Flag形式: Diver25{部隊番号_分隊番号}(例えば12345部隊の56分隊のとき、Diver25{12345_56} となる)
画像は25°47'50"N 119°36'46"Eの軍事施設を写している。
wikmapiaより、その場所はCEIEC Surface Wave-OTH (SW-OTH) Radar (Receiver)とのこと。
https://wikimapia.org/#lang=en&lat=25.800818&lon=119.576054&z=13&m=w&search=chinese%20rader
調べてると、緯度経度が近い場所を言及している記事も見つかった。この記事はUnit 95980と言っている。(違いました)
Over-The-Horizon Surface Wave Radar (HFSWR)
その時点では裏付けは弱いものの95980と信じ込んで分隊番号を探していた。疑わしい番号を投げたが全てはずれた。
最終的に、ChatGPTのDeep Researchによって答えが出た。
https://chatgpt.com/share/68444de9-3878-8010-b38c-b27b035b31cd
プロンプトとして問題文 + wikimapiaによる場所の説明を入れました。ChatGPTが複数の情報源から答えを割り出したようで、
物や場所を対象とした調査は利用できる資源が多いからこそ正解できたのかな。HACK’OSINTの大会のように人を対象とした調査では全然上手くいかないので。
Diver25{92985_84}
report
感想
chizu
- 楽しかった。
- この情報にたどり着くためにどんな情報源を使うとよいかと考えてアプローチを組み立てていったのが功を奏した。
- 来年は全完したい!!!
komoda chieko
- fiction based on the fact is not based on the fact.
- “No need to use paid information.” means money resolve everything.
naotiki
OSINTで超Guess問を解かされたことがあり、それからOSINTが超苦手になっていたがDIVER OSINT CTFはそんなことはなく、楽しめた!(あと、もちろん難しかった!)
次も参加したい
kokastar
僕がリンガーハット全探索した時間は何のために存在したんでしょうか…
解けた問題はそこまで多くないけど、自分の知識と合わせてチームに貢献できたので楽しかった。また参加したいが、次回こそは中間テスト直前&学生ロボコン当日でないことを祈る。
rira
あまり貢献できませんでしたが、先輩方と参加できて楽しかったし、めっちゃ参考になりました。知識を増やして、来年も参加したいです。
