✈️

CSAW CTF 2024 - OSINT writeup

2024/09/11に公開

はじめに

いつものごとく、OSINTForensicsに取り組んでいました。
簡単な問題しか解いてませんが、毎回writeupしてないので習慣化が大事。
ADS-B Exchangeの使い方がメインコンテンツ。


Rickshaw (50pts, OSINT)


画像の車の所有者を答えよ
csawctf{PhoneNumber}

  1. 青プレートに 77 CDが読める → 外交官の車と予想
  2. Diplomatic vehicle registration plate, wikipedia → インドの形式だと分かる。
  3. 77番に相当する国を検索 →  参考より米国の大使館だとわかる
  4. 米国大使館webサイトより → 011-91-11-2419-8000
  • csawctf{+91-11-2419-8000}

Authentic Chinese Food (50pts, OSINT)


店のHealthGrade、建物が建てられた時期、建物を所有している LLCの名前を答えよ
csawctf{HealthGrade_YearBuilt_LLCName}

  1. 左上と右上の看板は、色は違うがmedicalと読める。→ 組み合わせた718-875-9500で検索。
  2. Staywell Medical Groupを特定 → 住所はFULTON STREET 423, Brooklyn, NewYork
  3. オープンデータ調査① HealthGrade
    DOHMH New York City Restaurant Inspection Results
    → panda expressで検索、該当店舗がgrade Zとわかる。
    → grade Zヤバめの評価なのかと思ったがPendingの意味。
  4. オープンデータ調査② LLCName
    New York City Department of Finance
    → BNN FULTON FLUSHING OWNER LLC
  5. オープンデータ調査③ 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}
  1. 最終的にADS-B Exchangeを使う問題だが、最初にある程度日付を絞る必要がある。
  2. google検索のRussia plane in usで6月に絞ると、"RSD738" (RA-96019)が米国に飛んでいる。
  3. xでも同様に調べると"RSD898" (RA-96018)IADにてトランプの飛行機(N757AF)の隣に駐機していたとわかる。
  4. 上記から、RA-96018が前半の問題の答えであり、RA-96019の米国へのフライト(RSD738)の21:07:40 Zにおける場所を問題だとわかる。
  5. ADS-B Exchangeでまずはフライトを特定する。→  2024-06-26の21:48:10 ZにIADに到着していることがわかる。
  6. ▶↺ボタンを押してreplayモードへ、 左下のdateを2024-06-26へ。(2024-06-27を選ぶと26日になる)
  7. スライドバーを動かして21:07:00 Zに合わせ、少しplayして、21:07:40 Zに調整
  8. 右のfilters→Filter by callsignでRSD738でフィルタリング
    (下のほうにあるFilter by country of registrationでrussiaでフィルタリングでもok)
  9. 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が無数に入れ子になっている。

  1. 展開した各層のテキストを結合 → base64っぽい文字列
  2. iVBORから始まるのは画像なので、画像に変換して保存。
  3. 読みにくいがflagが画像中に記載。
  • csawctf{ez_r3cur5iv3ne55_right7?)}

解けなかった問題

Is there an echo (496pts, Forensics)

waveが配布される。エコーがかかった音声。

  1. バイナリエディタでファイル末尾にcepstral domain single echocepstral domain single echoという文字列がある。
  2. ケプストラムという音声信号処理を調べる。参考
    詳細は割愛するが、2つのスペクトル(今回はエコー)を分離することができる手法らしい
  3. ケフレンシー領域の解析

     → 6.40秒周期の特徴的なピークが検出される
  4. エコーの遅れが6.4秒だと考えて、6.4秒前の音声信号との差分を取ると一部で音が打ち消しあう断続的な音声となり、うまく分離できていそう。
  5. いい感じに2値化できたが↓、その先の変換の方針が立たず時間切れ。

コメント

正解者の少ない音声問題ということで挑んだ。ガチガチの信号処理の知識が要求され勉強になったが、最後のところはアナログな処理(エスパー)が必要な感じがした。

Discussion