All Articles

TsukuCTF 2023 Writeup

はじめに

TsukuCTF 2023に1人チーム“fumyianll23”で参加しました. 著者にとっては1年ぶりのCTFでした. ほとんど全ての問題について,writeupを書き残したいと思います.

結果

得点が正の343チーム中170位 (1619 pts) でした. コンテストの結果

Writeup

[web, easy] basic (274 solves, 100 pts)

保護されていない通信ではパスワードはまる見えダゾ! e.g. パスワードが Passw0rd! の場合、フラグは TsukuCTF23{Passw0rd!} となります。

pcapngファイルが配布されていたので,Wiresharkに食わせてみました. HTTP通信でフィルタしてみたところ,5つの通信がヒットしました. Wireshark - http No.12のレコードでは“401 Unauthorized”だったものがNo.27のレコードでは“200 OK”となっているので,No.27のレコードに対応するリクエストの中身を見ることで分かるのではないかと考えました. Wireshark - 認証情報 ビンゴ!認証情報が平文のまま記録されていました.通信を暗号化することの重要性がよく分かる問題でしたね.

フラグ: TsukuCTF23{2929b0u4}

[osint, easy] castle (217 solves, 100 pts)

この前、お城に行ってこの写真を取ってきたんだ! どこにあるかわかるかい?

フラグのフォーマットは、TsukuCTF23{緯度_軽度} です。 小数点は第三桁まで有効とします。

castle

我らがGoogle先生で画像検索 (Google Lens) してみたところ,兵庫県姫路市の「太陽公園」であることが分かりました (検索結果). Google Lens - castle Googleマップで検索すると,URLから緯度と経度を取得できました (検索結果).

フラグ: TsukuCTF23{34.888_134.627}

[osint, easy] eruption (258 solves, 100 pts)

つくしくんは旅行に行ったときに噴火を見ました。噴火の瞬間を実際に見たのは初めてでしたが、見た日付を覚えていません。 つくしくんが噴火を見た日付を写真の撮影日から特定して教えてください。 撮影場所が日本なのでタイムゾーンはJSTです。フラグの形式は TsukuCTF23{YYYY/MM/DD} です。

eruption

これは桜島ですね(地元). 何も考えずに「桜島 爆発的噴火」1などでググりましたが,日付を特定するほどの情報は得られませんでした. ふと我に返ってExif情報を見てみたところ,ちゃんと撮影日が残っていました.

$ exiftool eruption.jpg
ExifTool Version Number         : 12.40
... ... ...
Date/Time Original              : 2022:01:28 14:19:00
Create Date                     : 2022:01:28 14:19:00
... ... ...

フラグ: TsukuCTF23{2022/01/28}

[osint, easy] location_for_what (240 solves, 100 pts)

とある場所を友達と探索していると、「ここ、何かの映画の聖地だった気がするけど、名前忘れちゃった…」とのこと。 シュッと特定して教えてあげよう! Flagの形式は TsukuCTF23{映画のタイトル} です。

location_for_what

これは新海誠監督の映画『言の葉の庭』の聖地ですね(知識)2

フラグ: TsukuCTF23{言の葉の庭}

[osint, easy] green_bridge (180 solves, 180 pts)

この写真が撮影されたのはどこですか…? Flagフォーマットは TsukuCTF23{緯度_経度} です。 端数は少数第4位を四捨五入して小数点以下第3位の精度で回答してください。

green_bridge

画像の奥に見える「緑の橋」が特徴的なので範囲を指定してGoogle Lensで検索してみたところ,栃木県那須塩原市の「森林の駅/もみじ谷大吊橋」であることが分かりました (検索結果). Google Lens - green_bridge Googleマップで検索すると緯度と経度を取得できます (検索結果). 今回は写真を撮影した場所の座標がフラグになっているので,写真を参考に微調整します (調整結果).

フラグ: TsukuCTF23{36.956_139.880}

[osint, easy] perfume (175 solves, 198 pts)

とある施設でいろいろな香水を見かけたが、施設の場所が思い出せない。 この施設の場所を調べ、教えてほしい。

フラグはTsukuCTF23{緯度_経度}であり、小数点第三桁まで有効である。

perfume

香水の展示が珍しいと思ったので「日本 香水 展示施設」でググってみると,

  • 静岡県盤田市
  • 大分県別府市

の2箇所に「香りの博物館」という施設があることが分かりました. しかし,ググるだけではどちらの施設か特定できません. 試しにGoogle Lensに投げてみたところ,【BMW日本一周16日目】大分県別府市の『大分香りの博物館』に行って来ました!というブログ記事がサジェストされました (検索結果). Google Lens - perfume 記事のタイトルから,大分県の方であることが分かりました. あとはGoogleマップで検索するだけです.

フラグ: TsukuCTF23{33.312_131.489}

[osint, easy] mab (166 solves, 228)

mab.main.jpが使用しているレンタルサーバサービスを特定し、そのWebサイトのドメイン名を答えてください。Flagフォーマットは TsukuCTF23{ドメイン名}です。

「ドメイン名 レンタルサーバサービス 探し方」でググってみると,aguse.というWebサイトで調べられることが分かりました. 検索してみると,「逆引きホスト名」からロリポップを使用していることが分かりました. aguse - mab.main.jp

フラグ: TsukuCTF23{lolipop.jp}

[osint, easy] tsukushi_estate (165 solves, 232 pts)

つくし君が写真に写っているビルにオフィスを構えたいらしいのだけど、築年数が少し心配… つくし君の代わりに調査してください!

Flagの形式は TsukuCTF23{築年_月} です。 例えば、2022年3月に出来たビルであれば、 TsukuCTF23{2022_03} になります。

tsukushi_estate

画像に写っている「つくし不動産」をググってみると,どうやら実在する不動産屋のようです (合同会社つくし不動産のHP). 問題文に「オフィスを構えたい」とあるので「貸オフィス」に絞って検索してみると,3件だけヒットしました. つくし不動産 - 貸オフィス 順に見ていくと,「伊勢SIビル」の4枚目の写真の一部が画像のものと一致し,目的のビルが判明しました (つくし不動産 - 伊勢SIビル). つくし不動産 - 伊勢SIビル 物件詳細情報から築年月を知ることができ,フラグを取得できました.

フラグ: TsukuCTF23{1983_03}

おわりに

今年 (2023年) 最初にして最後のwriteupでした. 冒頭にも書いたようにCTFへの参加は1年ぶりだったのですが,これまで通り上位50%ぐらいの順位だったので満足です (欲を言えばcryptoの問題も解けたかったですが…). 運営の皆様お疲れ様でした&ありがとうございました!


  1. 桜島はよく噴火する(地元民並感)ので,「爆発的噴火」などのキーワードでないと絞り込めないと考えたからです.
  2. 僕はこの映画を見たことはありません.また,画像の場所がどこかすらも知らないです (調べてみたところ,東京都の新宿御苑でした).ですが,主人公が靴職人を目指す高校生であり,ヒロイン役が花澤香菜であることは知っています(偏った知識).

Published 2023/12/12

Hello, world! I am an web backend engineer based in Japan. I am interested in tech, math and mahjong.