はじめに
TsukuCTF2023にチームPwn's Grinのメンバーとして参加しました。
Writeup(考えていたこと)を書いてみたので良ければ読んでみてください。
もくじ
- airport
- castle
- eruption
- location_for_what
- green_bridge
- mab
- big_statue
- TrainWindow
- CtrlAltPrtSc
- laser
- Yuki
- tsukushi_no_kuni
- stickers
- RegexCrossword
- twin
- udon_2023
Writeup
airport
つくしくんは、旅の思い出を振り返っていましたが、この写真はどこの空港かわからなくなりました。
ここはどこの空港か教えてくれませんか?
Flagフォーマットは TsukuCTF23{空港の3レターコード(IATA)} です。
1.画像検索
今回の画像では、奥に写っている山が特徴的だなと思ったので、あえて山に絞って検索をかけました。(飛行機などに詳しくなく機体からの判断が難しそうと思ったため)
画像検索をかけたところ同じような山をのせている搭乗記が見つかりました。
記事の中の画像と山の形が一緒だったため空港が大阪伊丹だと特定することができました。
2.検索
フラグ形式がTsukuCTF23{空港の3レターコード(IATA)}だったためレターコードを調べる必要がありました。
国内の空港の3レターコードをまとめてくれているサイトから、大阪伊丹=ITMと分かりました。
Flag:TsukuCTF23{ITM}
castle
この前、お城に行ってこの写真を取ってきたんだ!
どこにあるかわかるかい?
フラグのフォーマットは、TsukuCTF23{緯度_軽度} です。 小数点は第三桁まで有効とします。
1.画像検索
建物が特徴的だったので画像検索をまず行いました。
検索結果の記事より、兵庫県にある太陽公園と判明しました。
2.Google map
Google mapで太陽公園
と検索します。
検索結果から城のエリアがあり白鳥城があるということが分かります。
白鳥城をクリックすると問題の写真と同じ建物が出てきます。
ピンを右クリックして緯度経度を取得します。
Flag:TsukuCTF23{34.886_134.630}
eruption
つくしくんは旅行に行ったときに噴火を見ました。噴火の瞬間を実際に見たのは初めてでしたが、見た日付を覚えていません。
つくしくんが噴火を見た日付を写真の撮影日から特定して教えてください。
撮影場所が日本なのでタイムゾーンはJSTです。フラグの形式は TsukuCTF23{YYYY/MM/DD} です。
1.画像検索
どこの山か分からないため画像検索を行いました。結果から、桜島
ということが分かりました。
2.検索
桜島の噴火情報を調べてみます。
気象台のデータを確認すると、想像以上に噴火回数が多いことに驚きました。
データベースから探すのは無理だと判断し、Exif情報がないかを確認することにしました。
3.Exifの取得
Exif情報を確認すると2022年01月28日
と日付が残されていました。
Flag:TsukuCTF23{2022/01/28}
location_for_what
とある場所を友達と探索していると、「ここ、何かの映画の聖地だった気がするけど、名前忘れちゃった......」とのこと。
シュッと特定して教えてあげよう!
画像を見た瞬間に新海誠の映画のだ!と気づきました。
題名を覚えていなかったので検索し言の葉の庭
ということが分かりました。
Flag:TsukuCTF23{言の葉の庭}
この問題に関しては解いたというより、たまたま分かっただけです…
green_bridge
この写真が撮影されたのはどこですか...?
Flagフォーマットは TsukuCTF23{緯度_経度} です。
端数は少数第4位を四捨五入して小数点以下第3位の精度で回答してください。
1.画像検索
写真を見たときに、緑の大きな橋
と道の駅のような建物
が特徴的だと思いました。
なので、その2つに範囲を絞り画像検索を行いました。
検索結果の公式HPより森林の駅/もみじ谷大吊橋
ということが分かりました。
2.Google map
撮影場所を特定するためにGoogle mapで調べます。
Google mapは画面分割が可能なので、上でストリートビューを表示しつつ下の画面で地図を表示して撮影場所を予想します。
Flag:TsukuCTF23{36.956_139.880}
mab
mab.main.jpが使用しているレンタルサーバサービスを特定し、そのWebサイトのドメイン名を答えてください。Flagフォーマットは TsukuCTF23{ドメイン名}です。
1.ドメイン調査
まずmab.main.jpを検索します。
今回はこのサイトを使用しました。
検索結果を確認すると、lolipopのサーバーを使用していることが確認できます。
よって、レンタルサーバーのサービスはlolipop
を使用していることが分かりました。
Flag:TsukuCTF23{lolipop.jp}
big_statue
大きなドリアンだ!どこにあるんだろう?? フラグの形式は TsukuCTF23{緯度_経度} です。例えば、この像が東京の渋谷駅にある場合、フラグは TsukuCTF23{35.6580_139.7016} となります。
1.文字の取得
ドリアンの上に書いてある文字が鍵になりそうなので、Google画像検索のテキスト取得機能を利用して文字を取得します。
文字は、榴莲王 利陞
ということが分かったので、これを検索にかけます。
2.検索
検索すると、地元の情報局が書いたお店の紹介記事のようなものが見つかりました。
記事の最後を見ると、店舗の住所や営業時間が書かれています。
3.Google map
得られた住所をGoogle mapに入れてみます。
本当に像があるのか確認するためにストリートビューで確認します。
ちゃんと像があることを確認できました。
4.緯度経度の取得
像の場所を確認し印を置き緯度経度を取得します。
Flag:TsukuCTF23{1.3623_103.8873}
※最初は、お店の場所の緯度経度を入力していたのですが不正解だったため、きちんと像の位置の緯度経度にする必要があると気づき、フラグを修正することで正解することができました。
TrainWindow
夏、騒音、車窓にて。
フラグのフォーマットは、TsukuCTF23{緯度_経度}です。
緯度経度は小数第五位を切り捨てとします。
この画像は、左側の大きな山
と奥の島
が特徴だと思いました。
1.画像検索
まず場所を特定するために画像検索をかけます。
外国の方が書かれた旅行記があり、写真と同じ山が写っていました。
旅行記自体の言葉は分かりませんが、Izu-Taga
という単語から伊豆ということが分かりました。
2.Google map
Izu-Taga
という単語で検索してみます。
すると、伊豆多賀駅
が出てきました。
ここで間違いがないかストリートビューで確認してみます。
だいたいの場所は間違えていなさそうなことが分かります。
3.緯度経度の取得
今いる伊豆多賀駅から、線路上でストートビューが使えそうな場所を探します。
駅より北上すると、道路と線路が交差する場所(青,緑,黄色)があるので、その場所のストリートビューを確認していきます。
※この色に関しては、私がwriteupのためにつけたもので実際の地図には表示されていません。
青と緑はその場所に立つことができなかったのですが黄色の場所は確認することができ、やはり問題の写真が撮られたのは、この近くだと判断できました。
写真には、アパートのような建物が写っているので、そのアパートを探します。
航空写真からアパートのような建物があったので、ストリートビューで確認します。
アパートと三角屋根の家があるので、このあたりで間違いないと判断できます。
Google mapを航空写真の表示にし、問題の写真に写っている木の近くに印をつけ緯度と経度を取得します。
Flag:TsukuCTF23{35.0642_139.0665}
CtrlAltPrtSc
仕事中にCtrl + Alt + PrtScでウィンドウのスクリーンショットを撮ったよ。
つくし君がサボって使用していたサービスの名前を答えよ。 フラグはTsukuCTF23{サービスの名前}の形式です。
最初は、全く分からず「294」が何かのゲームのコマンドなのかなと考えて調べてしまっていました。
何も出てこず、分からん!!となってボーっと見つめていると、左上の方に見たことあるような赤いものが見えました。
拡大して確認すると、YouTubeだということに気づきました。
Flag:TsukuCTF23{YouTube}
laser
光源の座標を正確に教えてください。
フラグフォーマットは、TsukuCTF23{緯度_経度}です。 小数点以下5位を切り捨てて、小数点以下4桁で答えてください。
1.検索
レーザー 光線 建物 日本
というように調べてみます。
すると、レーザーに関する記事がいくつかみつかりました。記事の中で、問題の写真と同じ建物も写っているので、これで間違いないと判断できます。
レーザーに関するニュース
レーザーが出ている場所について
2.緯度経度の取得
レーザーが梅田吸気塔
から出てることが分かったので、Google mapで調べます。
しかし、梅田吸気塔の緯度経度では不正解となります。
問題文からも分かる通り、レーザーが出ている位置を把握しないといけないようです。
レーザーの写真をとても綺麗に撮影している方がいらっしゃいました。
緯度経度を取得することができました。
Flag:TsukuCTF23{34.7015_135.4991}
Yuki
雪、無音、窓辺にて。
フラグのフォーマットは、TsukuCTF23{緯度_経度}です。
緯度経度は小数第四位を切り捨てとします(精度に注意)。
1.ブラウザ検索
画像検索では分からなかったため、単語で検索することにしました。
画像に見えるものを単語化し検索していました。しかし、何も情報が出てこず詰まっていました。
単語が無理なら、、と思い切って普段はやらない文章での検索をしてみました。
ホテルの窓から見える大きな橋 雪
と検索しました。
すると、窓からの景色を解説してくれているブログが出てきました。
ブログ内の写真からも問題と同じ橋が確認できたので、場所が定山渓ビューホテル
であることが分かりました。
2.緯度経度の取得
Google mapで定山渓ビューホテル
を検索します。
写真が撮影されていそうなところをクリックし緯度経度を取得します。
Flag:TsukuCTF23{42.968_141.167}
この問題は正解に辿り着くまで時間がかかったので、解けたときは嬉しかったです。
tsukushi_no_kuni
かつて、筑紫国を統治していた国造の一人が乱を起こした。
その子孫の一人が、ある天皇と同一人物である説が提唱されている。
その子孫の名前を TsukuCTF23{} で囲んで答えよ。
歴史は分からないな…と思って、とりあえずbardになげました。
無理だろうと思っていたのですが、答えを出してくれました。bardで解けてしまって自分でも驚きました。
Flag:TsukuCTF23{天武天皇}
stickers
この画像が撮影された場所を教えてください!
Flagフォーマットは TsukuCTF23{緯度_経度} です。
ただし、小数点4桁の精度で答えてください。
検索結果に、地元の不動産業者による紹介記事がありました。
熱海にある河原湯
ということが分かりました。
2.Google map
Google mapで検索します。
河原湯
だけでは別の場所が表示されるので、熱海
を追加すると表示されます。
緯度経度を取得します。
Flag:TsukuCTF23{35.0967_139.0747}
RegexCrossword
クロスワードを解いてみて!
これを作った会社の本社の郵便番号をハイフンありで答えてね!!
1.検索
画像検索で情報を得ることができなかったので、単語で検索しました。
すると、ねとらぼの記事が出てきました。
ある会社が学生への挑戦状として会津大の学食に置いていたようです。
回答が知りたいので、回答を載せているサイトがないか検索します。
クロスワードを解き解説しているブログが見つかりました。
Ce7d4MJ5[@]nowhere.co.jpというところまで連絡を、と書いてあります。
nowhere.co.jp
について調べてみます。
会津若松にある会社が出てきました。
会社概要を確認し郵便番号を確認します。
Flag:TsukuCTF23{965-0872}
twin
ハッカーは独自に収集した大量の個人情報を、とあるWebサイト上で2023年11月23日に投稿した。
我々はこの投稿IDがKL34A01mであるという情報を得た。ハッカーのGitHubアカウントを特定せよ。
この問題に関しては、チームの方からの情報を頼りにFlagへと辿り着いたので、その情報を得てからのことを書きたいと思います。
まず、チームの方が問題にある投稿を見つけてくれました。
1.投稿を確認する
投稿者:Gemini6152
投稿されているタイトル:Leaked!
, Tsuine
を確認できました。
考えられるGitHubのユーザー名の取得方法として
1:Tsuineのコードを確認する
2:PASTEBINのサイトでユーザーのメールアドレスを取得し、GitHubで登録されているか確認する
があると思いました。
1のコードを確認しましたがコード自体は関係なさそうと判断し、2の方法を探りました。しかし、2も方法がなさそうと判断しました。
ですが、GitHubのアカウントにつながる情報はLeaked!の他にわざわざ投稿されているTsuineしかないと思ったので、Tsuineがリボジトリ名としてGitHubにあがっているのではと予想を立てました。
2.ユーザー名の取得
GitHubでTsuineを検索してみます。
すると、1件リポジトリが見つかりました。
コードの内容が、PASTEBINの投稿と同じだったため間違いないと判断できます。
そして、ユーザー名に辿り着くことができました。
Flag:TsukuCTF23{gemini5612}
udon_2023
ここのうどん、麺だけじゃなく、鶏天も美味しい!!!
お店の場所を忘れたから、7文字のplus codeで教えて!!!
フラグフォーマットは、+を含めてTsukuCTF23{REDACTED+REDACTED}
1.画像から分かる情報の整理
画像から判断できることを整理します。
- 特徴的なお皿の模様
- 綺麗に並んだうどん
- ネギはお客さんが自分で取る方式
- テーブルの木目は横で色は薄め
2.検索
ある程度有名なお店であればInstagramに写真が載っているのでは?と思い、まずInstagramで検索しました。
上の特徴に一致する画像がないか、ひたすら探していきます。
見つかったお店がここでした。
このお店はチェーンだったので何店舗かあったのですが、特徴が同じ店舗を選び回答するも全て違ったため、ここではないということが分かりました。(それに、ネギも最初からのっているので違いますね...)
Instagramは諦め、Google mapで調べることにしました。
画像を見ながら特徴に似たお店がないか探していきます。
すると問題の写真と同じ器のお店を見つけることができました。
メニューや他の情報を確認しても特徴が似ていることが分かります。
ここだと思い、Flagを入力したところ正解でした。
Flag:TsukuCTF23{PP63+G6}
(Writeupを書いているときに気がついたのですが、どうやらチェーン店だったようです。他の店舗ではなく正解の店舗を直ぐに当てられたのは運が良かったのかもしれません。)
さいごに
チームでsunsetを解いた時は感動しました。。。
OSINTメインのCTFに出たのは初めてでしたが、ひとりではここまで解ききれなかったと思うので、チームには感謝してもしきれません。
そして、運営の方々もありがとうございました!!
とても楽しかったです。
次こそは、賞品を取りたいです!頑張ります!!
おまけ
同じチームのメンバーが書いたWriteupです。
miscやwebについても書かれています。
どれも最高なので読んでください!!
@schectman-hell さんのWriteup
@sHoOrn さんのWriteup
@GenkaiChan ちゃんのWriteup
@mahiro33 さんのWriteup