✈️
CSAW CTF 2024 - OSINT writeup
はじめに
いつものごとく、OSINTとForensicsに取り組んでいました。
簡単な問題しか解いてませんが、毎回writeupしてないので習慣化が大事。
ADS-B Exchangeの使い方がメインコンテンツ。
Rickshaw (50pts, OSINT)
画像の車の所有者を答えよ
csawctf{PhoneNumber}
- 青プレートに
77 CD
が読める → 外交官の車と予想 - Diplomatic vehicle registration plate, wikipedia → インドの形式だと分かる。
- 77番に相当する国を検索 → 参考より米国の大使館だとわかる
-
米国大使館webサイトより →
011-91-11-2419-8000
csawctf{+91-11-2419-8000}
Authentic Chinese Food (50pts, OSINT)
店のHealthGrade、建物が建てられた時期、建物を所有している LLCの名前を答えよ
csawctf{HealthGrade_YearBuilt_LLCName}
- 左上と右上の看板は、色は違うがmedicalと読める。→ 組み合わせた
718-875-9500
で検索。 -
Staywell Medical Groupを特定 → 住所は
FULTON STREET 423, Brooklyn, NewYork
- オープンデータ調査① HealthGrade
DOHMH New York City Restaurant Inspection Results
→ panda expressで検索、該当店舗がgrade Z
とわかる。
→grade Z
はヤバめの評価なのかと思ったがPending
の意味。 - オープンデータ調査② LLCName
New York City Department of Finance
→BNN FULTON FLUSHING OWNER LLC
- オープンデータ調査③ YearBuilt
NYC Department of Buildings (サイト重め)
→ いくつかの契約書の中で1931年(CERT 65463-100831)が最古(不正解)
→ 適当に調べて出てくる1920
が正解(1931とするサイトもあったが…)
csawctf{Pending_1920_BNN_Fulton_Flushing_Owner}
コメント
海外は日本に比べてオープンデータが活発だということがよくわかる。ただ、YearBuiltも公共データで見つけたかった。
Plane Spotting (183pts, OSINT)
問題意訳
- 友人が今年6月に米国でロシアの飛行機を見たと主張している。その飛行機は、悪名高い前大統領の飛行機の隣に駐機していたとのこと。
- ロシア機の登録番号、目撃された場所の空港コード(FAA)、大統領が所有する飛行機の登録番号を見つけよ。
- また、(ロシア機目撃の)数日前に別のロシアの飛行機が米国に飛んだそうだ。米国への飛行中、21:07:40 Z にロシアの飛行機が最も近かった都市を特定せよ。
csawctf{RegistrationNumberRUS_AirportCode_RegistrationNumberUS_CityName}
- 最終的にADS-B Exchangeを使う問題だが、最初にある程度日付を絞る必要がある。
- google検索の
Russia plane in us
で6月に絞ると、"RSD738" (RA-96019)が米国に飛んでいる。 - xでも同様に調べると"RSD898" (RA-96018)が
IAD
にてトランプの飛行機(N757AF
)の隣に駐機していたとわかる。 - 上記から、RA-96018が前半の問題の答えであり、RA-96019の米国へのフライト(RSD738)の21:07:40 Zにおける場所を問題だとわかる。
- ADS-B Exchangeでまずはフライトを特定する。→ 2024-06-26の21:48:10 ZにIADに到着していることがわかる。
- ▶↺ボタンを押してreplayモードへ、 左下のdateを2024-06-26へ。(2024-06-27を選ぶと26日になる)
- スライドバーを動かして21:07:00 Zに合わせ、少しplayして、21:07:40 Zに調整
- 右のfilters→Filter by callsignでRSD738でフィルタリング
(下のほうにあるFilter by country of registrationでrussiaでフィルタリングでもok)
- Trentonと特定
csawctf{RA96018_IAD_N757AF_Trenton}
コメント
初歩的だが、google翻訳が不正確だったので、原文をちゃんと読まないと正解にたどり着けない。
- an infamous former president → 悪名高い元大統領
(前大統領と訳されてなくてもトランプのことだとわかったのでセーフ) - a few days earlier → 数日前に (現在からみて数日前かと思って8月と9月を無駄に探し回った。 earlierの比較対象が友人がロシア機を見た日だと気づくのに時間がかかった…)
ZipZipZip (50pts, Forensics)
zipが配布される。zipの中にはzipとtxtが無数に入れ子になっている。
- 展開した各層のテキストを結合 → base64っぽい文字列
- iVBORから始まるのは画像なので、画像に変換して保存。
- 読みにくいがflagが画像中に記載。
csawctf{ez_r3cur5iv3ne55_right7?)}
解けなかった問題
Is there an echo (496pts, Forensics)
waveが配布される。エコーがかかった音声。
- バイナリエディタでファイル末尾に
cepstral domain single echocepstral domain single echo
という文字列がある。 - ケプストラムという音声信号処理を調べる。参考
詳細は割愛するが、2つのスペクトル(今回はエコー)を分離することができる手法らしい - ケフレンシー領域の解析
→ 6.40秒周期の特徴的なピークが検出される - エコーの遅れが6.4秒だと考えて、6.4秒前の音声信号との差分を取ると一部で音が打ち消しあう断続的な音声となり、うまく分離できていそう。
- いい感じに2値化できたが↓、その先の変換の方針が立たず時間切れ。
コメント
正解者の少ない音声問題ということで挑んだ。ガチガチの信号処理の知識が要求され勉強になったが、最後のところはアナログな処理(エスパー)が必要な感じがした。
Discussion