DarkCTF(ハッキングコンテスト)で解いた問題の解説
皆さんこんにちは志位++和夫です。
今日はCapture the Flagというハッキングコンテストの一種に参加したのでその中で僕の解けた問題を解説します。これを読んでいる人はハッカーではない友達が多いと思うので一般の人が読んで面白そうな問題から書きます。
OSINT(オープンソースインテリジェンス)の問題の3つを解説します。
OSINT/Find cell
僕は携帯電話を旅行中になくしちゃった。
携帯電話の最後に掴んだ電波の電波塔のIDっぽい数字と国のナンバーと事業者コードがある、
逆探知してどこにあるかを経度と緯度で教えて欲しい。
I lost my phone while I was travelling back to home,
I was able to get back my eNB ID, MCC and MNC
could you help me catch the tower it was last found.
note: decimal value upto 1 digit
Flag Format : darkCTF{latitude,longitude}
310 410 81907
この数字だけで、僕は通信キャリアの社員でもないのにどうやって逆探知するんだろう、せめてどこに旅行に行ったのか教えて欲しい・・・と途方に暮れていたけど、とりあえずMCCという物とMNCという物とeNBという物を調べるとMCCは国の番号、MNCは国に対応する事業者の番号、eNBは勝手に事業者がつけている電波塔の番号であることがわかった。どれがどれかわからないけど、英語版wikipediaには
310 410に対応するものがAT&Tモビリティの管理するものがプエルトリコにあるらしい。さて、これであると仮定して次に進もう。
eNBとAT&Tについてグーグル検索すると、ナンバリングに会社特有の作法があるとかいろんな記事が出てきた。番号だけでわかる情報はそれが基地局なのか移動式のものなのかとかしかわからなくて、困った。
こういう時にOSINTではオープンソースになりにくいものがみんなの力でオープンソースになっているものが多くて試しにeNB tower OSINTで検索したらCellMapperというサイトがいいらしいことを知った。
https://www.cellmapper.net/map
沢山ボタンがあって訳がわからなくなるが、僕は電波塔が調べたい!!と執念で眺めるとTower Searchというボタンがあってこれだ!と思って81097と入力したら出てきた。
しかし訪れた人のリストしかなくて、locationという項目が消えている。困った。困りながらどこかにないかなと思って眺めていたらURLの中にlatitude,longitudeという文字がある。これかなと思って小数点以下1桁に丸めて回答を提出したら合格!
一問解けました!
OSINT/Time Travel
この画像がいつ撮られたか正確に教えて(オーストラリアの山火事です。)
Can you find the exact date this pic was taken
(It is Australian forest fire)
Flag Format: darkCTF{dd-mm-yyyy}
こんな無理ゲーやろ!まずどこ?
ということでこれがオーストラリアのどこかという話だけどGoogleEarthで探してみたら多分ここという場所がわかった。Coffs Harbourというあたりだと思う。山火事のあった日を調べたらいいだろうと調べてみたらびっくり、9月7日から12月7日まであるらしくて、長すぎて90日虱潰しに回答を提出し続けてもずるしてるのがバレちゃう。多分対策してる。ピンポイントで確定してから回答を提出しよう。
いろいろ探検した。森林管理者のFacebookやここ周辺のオーストラリア人ツイッタラの発言とかめっちゃ調べたら初期らしいことがわかった。けれどこの画像で燃え広がりの日を予測するのが困難で、どうにか直接過去の写真を取れないか考えることにした。僕はSNSの分析するのが一応プロなので変な自信があり、SNSに囚われすぎて時間を食ってしまった。下手に力があるとどハマりする。情報処理のウェイトが大きい問題へのアタックの方法をいかに沢山持っているか、柔軟さが問題解決能力に直結する。特にハッキングコンテストなんてそれの最たるもの。
さて、自己批判はここまでにして衛星写真を無料で公開しているところを探した。nasa.govにあると聞いたことがあったから調べて行った。
https://worldview.earthdata.nasa.gov/?v=146.51815678151934,-33.93606493268781,155.37085851696418,-27.81705206348447&t=2019-09-15-T15%3A25%3A24Z&l=VIIRS_SNPP_Thermal_Anomalies_375m_Day(hidden),VIIRS_SNPP_Thermal_Anomalies_375m_Night(hidden),Reference_Labels(hidden),Reference_Features(hidden),Coastlines,VIIRS_SNPP_CorrectedReflectance_TrueColor,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)
このページで2019年9月7日から1日づつ経過を追っていった。15日で上の写真そっくりなものが見えた。これだと確定して回答したら合格!よし!
OSINTではTwitterアカウントの裏垢を特定して出勤時間を予測して何時にどこのバス停に行けば一人で待ってるから刺せる、とかいう問題が多いのかなと思っていたのですが、最近よく人工衛星のセキュリティが問題になっているので時事問題的でいいなと思います。
他にも解いた問題はありますが、とりあえず今日はここまでにします。
暗号の問題も2つ競技中に解けたので後日解説します。