# TsukuCTF 2023 Writeup 2023/12/09 12:20pm GMT+9 ~ 2023/12/10 18:00pm GMT+9に開催された OSINT多めのCTF, [TsukuCTF 2023](https://tsukuctf.sechack365.com/) に [Caesar Cipher is the Best Cipher](https://tsukuctf.sechack365.com/teams/61) という名前のチームで参加してきました。 ![team-result](https://hackmd.io/_uploads/Sk2cHEX8T.png) 結果は39問中32問解き10975pt、343チーム中16位とだいぶ良いところまで行けたと思います。 チームメンバーは3人で、このwriteupも3人がリアルタイムに書いています。なので一人称などが同じ人物を指すとは限りません。 :::warning まだ書ききれていない部分があります。後日更新予定です。 ::: ## 解けた ### web - basic (100pt) <details> <summary>問題</summary> > 保護されていない通信ではパスワードはまる見えダゾ! > e.g. パスワードが Passw0rd! の場合、フラグは `TsukuCTF23{Passw0rd!}` となります。" > > Passwords are fully visible in unencrypted connections! > e.g. If the password is Passw0rd!, the flag is `TsukuCTF23{Passw0rd!}`. - [basic.pcapng](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/basic.pcapng) </details> ![image](https://hackmd.io/_uploads/rJFB8NmU6.png) wiresharkで開いてbase64をデコードするだけ(それすらwiresharkがやってくれる) ### osint - airport (100pt) <details> <summary>問題</summary> > つくしくんは、旅の思い出を振り返っていましたが、この写真はどこの空港かわからなくなりました。 > ここはどこの空港か教えてくれませんか? > Flagフォーマットは `TsukuCTF23{空港の3レターコード(IATA)}` です。 > > Tsukushi looks back his trip memories, but he forgot > where this picture is taken. > Could you tell me which airport this is? > The flag format is `TsukuCTF23{3 letter code of the airport (IATA)}`. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/image.jpg) </details> 滑走路のような写真が渡される。 ![image](https://hackmd.io/_uploads/Bkft8N7U6.png) いかにも内部でしか使われなさそうな車があるのでこの番号 **CTK-101 空港** で画像検索すると ![image](https://hackmd.io/_uploads/HkrVwNQI6.png) [SONY a7Rii持って大阪国際空港/伊丹空港の屋上展望デッキで飛行機撮影してきた| Airplane Journal #5 | ゆーたズ PHOTO](https://yuta-y.com/osaka-international-airport/) という記事の画像が出てくる(右端) ![image](https://hackmd.io/_uploads/H10TI4XL6.png) 同じ車が映っている。なので答えは 大阪国際空港/伊丹空港 の空港コード **ITM** ``` TsukuCTF23{ITM} ``` ### osint - castle (100pt) <details> <summary>問題</summary> > この前、お城に行ってこの写真を取ってきたんだ! > どこにあるかわかるかい? > > フラグのフォーマットは、`TsukuCTF23{緯度_軽度}` です。 > 小数点は第三桁まで有効とします。 > > I took this picture in a castle last time. > Do you know where it is? > > The flag format is `TsukuCTF23{latitude_longitude}`, and is valid to the third decimal place. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/castle.JPG) </details> 画像検索するとノイシュバンシュタイン城が多数ヒットするが、写真のはそれではなく、それを日本で再現したもの。 [白鳥城と石の公園。本気で再現された歴史遺産。 (姫路) - 旅行のクチコミサイト フォートラベル](https://4travel.jp/travelogue/10843451) 回答には小数点以下は3桁しか必要でないので、適当にsubmitすると通る。 [google map](https://maps.app.goo.gl/8nREJUGrrA5f8S2e8) ``` TsukuCTF23{34.886_134.630} ``` ### osint - eruption (100pt) <details> <summary>問題</summary> > つくしくんは旅行に行ったときに噴火を見ました。噴火の瞬間を実際に見たのは初めてでしたが、見た日付を覚えていません。 > つくしくんが噴火を見た日付を写真の撮影日から特定して教えてください。 > 撮影場所が日本なのでタイムゾーンはJSTです。フラグの形式は `TsukuCTF23{YYYY/MM/DD}` です。 > > Tsukushi-kun saw the eruption when he was on a trip. It was the first time for him to actually see the eruption, but he does not remember the date he saw it. > Please tell us the date when Tsukushi-kun saw the eruption by identifying it from the date the photo was taken. > The time zone is JST because the photo was taken in Japan. > The flag format is `TsukuCTF23{YYYYYY/MM/DD}`. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/eruption.jpg) </details> Google Lensを使うと出る(検索結果左上)。 ![image-min](https://hackmd.io/_uploads/H1DQjS7LT.png) ``` TsukuCTF23{2022/01/28} ``` 人によってはなんだか全然出なくて困るらしい。 :::info 全然出なかった例 ![image](https://hackmd.io/_uploads/SkBppS78p.png) (フォーカス動かしてもこれしか出ない) - _Eai_ ::: ### osint - location_for_what (100pt) <details> <summary>問題</summary> > とある場所を友達と探索していると、「ここ、何かの映画の聖地だった気がするけど、名前忘れちゃった......」とのこと。 > シュッと特定して教えてあげよう! > > Flagの形式は `TsukuCTF23{映画のタイトル}` です。 > > While going to somewhere with my friend, he says "I think this place is used for a movie, but I forgot the name...". > Let's quickly identify the movie name instead of him. > > THe flag format is `TsukuCTF23{title_of_the_movie}`. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/location_for_what.png) </details> とりあえずGoogle Lensしたがそれっぽいのは出てこない。 特徴的な建物をフォーカスしてみると **言の葉の庭** の聖地であることが分かる。 ![2023-12-10_22-14-45_chrome-min](https://hackmd.io/_uploads/BJr-cEX8p.png) ### osint - green_bridge (180pt) <details> <summary>問題</summary> > この写真が撮影されたのはどこですか...? > Flagフォーマットは `TsukuCTF23{緯度_経度}` です。 > 端数は少数第4位を四捨五入して小数点以下第3位の精度で回答してください。 > > Where is the picture taken? > The flag format is `TsukuCTF23{latitude_longitude}`. > Round fractions to the nearest fourth decimal place and answer the third decimal place. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/green_bridge.png) </details> ``` TsukuCTF23{} ``` ### osint - perfume (198pt) <details> <summary>問題</summary> > とある施設でいろいろな香水を見かけたが、施設の場所が思い出せない。 > この施設の場所を調べ、教えてほしい。 > > フラグは`TsukuCTF23{緯度_経度}`であり、小数点第三桁まで有効である。 > > I saw various perfumes at one facility, but I cannot remember where the facility is located. > Please find out where this facility is located and tell me. > Flag format is `TsukuCTF23{latitude_longitude}` > And is valid to the third decimal place. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/perfume.JPG) </details> google lensで香水の入れ物に絞って検索すると見付かる。 [『別府旅行②大分香りの博物館でオリジナル香水作り』](https://ameblo.jp/travel55gourmet/entry-12692545459.html) ![o1080081014987700788](https://hackmd.io/_uploads/Hkccs8XI6.jpg) [ The Oita Fragrance Museum in Beppu is a Must-See for the Curious!](https://beppu-midoubaru.jp/en/oita-fragrance-museum/) ``` TsukuCTF23{33.286_131.456} ``` ### osint - mab (228pt) <details> <summary>問題</summary> > `mab.main.jp`が使用しているレンタルサーバサービスを特定し、そのWebサイトのドメイン名を答えてください。Flagフォーマットは `TsukuCTF23{ドメイン名}`です。 > Please identify the rental server service used by mab.main.jp and answer me with the domain name of the website. The flag format is `TsukuCTF23{domain_name}`. </details> [JPRS WHOIS /JPRS](https://whois.jprs.jp/) でwhoisしてみるとmain.jpはlolipopのものであるっぽいことがわかる ![image](https://hackmd.io/_uploads/SJCvRE7L6.png) ``` TsukuCTF23{lolipop.jp} ``` じつは https://main.jp にアクセスするだけでも分かる ![image](https://hackmd.io/_uploads/rJjAAEQUp.png) ### osint - tsukushi_estate (232pt) <details> <summary>問題</summary> > つくし君が写真に写っているビルにオフィスを構えたいらしいのだけど、築年数が少し心配...... > つくし君の代わりに調査してください! > > Flagの形式は `TsukuCTF23{築年_月}` です。 > 例えば、2022年3月に出来たビルであれば、 `TsukuCTF23{2022_03}` になります。 > > It seems Tsukushi wants to have his office in the building in the picture, but he is worried how old this building is. > Please investigate about it instead of him. > > The flag format is `TsukuCTF23{year_month}`. > For example, if a building is built in March 2022, the flag is `TsukuCTF23{2022_03}`. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/tsukushi_estate.png) </details> 画像にある **(同)つくし不動産** で検索すると、つくし不動産が持っている?物件のリストが出るので、そこからビルである物件を探す。 [【アットホーム】(同)つくし不動産(三重県 松阪市)|不動産会社|賃貸・不動産情報](https://www.athome.co.jp/ahcb/tsukushifudousan.html) [【アットホーム】伊勢SIビル 1階~5階部分(提供元:(同)つくし不動産)|伊勢市の貸事務所[6978084503]](https://www.athome.co.jp/rent_office/6978084503/) **築年月 1983年3月(築40年10ヶ月)** と書いてあり、これが正解。 ![Screenshot from 2023-12-11 00-33-13](https://hackmd.io/_uploads/B1-vqIXU6.png) ``` TsukuCTF23{1983_03} ``` ### osint - travel_with_tsukushi (281pt) <details> <summary>問題</summary> > 旅が好きなつくしくんは、空港の写真からそれがどこの空港かすぐにわかります。 > つくしくんからの挑戦状! > これがどこの空港かわかるかな? > Flagフォーマットは `TsukuCTF23{空港の3レターコード(IATA)}` です。 > > Tsukushi, who loves to travel, can easily tell the airport where it is taken in. > This is a challenge from him. > Do you know which airport this is? > The flag format is `TsukuCTF23{3 letter code of the airport (IATA)}`. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/airport.png)) </details> 手前のエアアラビアの飛行機をよーーく見るとA?-ATBのように書いてある ![](https://hackmd.io/_uploads/S19Kt8QUp.png) ![](https://hackmd.io/_uploads/B182YUXUT.png) A6-ATBらしい。A6-ATBで検索すると[A6-ATB - Airbus A321-251NX - Air Arabia - Flightradar24](https://www.flightradar24.com/data/aircraft/a6-atb) が出てきてよく止まる空港が分かる。 ……10個くらいだし全部入れてみよう ![](https://hackmd.io/_uploads/SJxB987La.png) カスのCTFer ``` TsukuCTF23{KUL} ``` ### osint - kiZOU (321pt) <details> <summary>問題</summary> > ここは日本で一番のリゾート地!少し歩くと目の前に素敵な像が見えたから写真を撮ったつもりだったんだけど、見返したら端っこしか写ってない!困ったなぁ、この像についてもっと知りたかったんだけどなぁ。僕の代わりにこの像について調べてくれないか? > フラグ形式は `TsukuCTF23{像を寄贈した人物の名前}` です。 > > This is the best resort in Japan! I took a picture when I saw the nice statue in front of me. However, I noticed only the edge is in the picture. So, could you please investigate for the statue instead of me. > The flag format is `TsukuCTF23{the person name who donated the statue}`. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/kiZOU.jpg) </details> 問題の画像に"AU Style NAHA"とあるので、その場所を調べてまずこの像がなんなのかを調べる。 [google map](https://g.co/kgs/1115Vm) ![Screenshot from 2023-12-11 00-42-36](https://hackmd.io/_uploads/rJ1d6LmU6.png) ストリートビューで見ると、像がシーサーであることが分かる。 ![Screenshot from 2023-12-11 00-47-38](https://hackmd.io/_uploads/SJcjpU78a.png) [なんでも沖縄ブログ 勝ちゃん](https://blog.mco.ne.jp/blog/2018/08/17/パレット久茂地シーサー/) あとはこの`シーサーの名前 寄贈`で調べると、知っている人のツイートが出る。 [twitter](https://twitter.com/kintaro11111/status/1082234341361504256) > パレット久茂地前のシーサー。 > 島常賀氏の作品を喜多敏勝氏が鋳造した作品です❗ > 1991年那覇市政70周年に上原清善氏が寄贈されたシーサーです。 ``` TsukuCTF23{上原清善} ``` ### osint - big_statue (354pt) <details> <summary>問題</summary> > 大きなドリアンだ!どこにあるんだろう?? フラグの形式は `TsukuCTF23{緯度_経度}` です。例えば、この像が東京の渋谷駅にある場合、フラグは `TsukuCTF23{35.6580_139.7016}` となります。 > > What a big durian! Where is this?? The flag format is `TsukuCTF23{latitude_longitude}`. If this statue is at Shibuya station in Tokyo, the flag would be `TsukuCTF23{35.6580_139.7016}`. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/statue.jpg) </details> おおきなドリアンの上にロゴが見えるので、これを調べる。 [Lexus Durian King](https://lexus.pegepay.biz/) ![cP0xw3I811oiF9Nnk5koqsjSLcMEHVKRYIZvEReo](https://hackmd.io/_uploads/rJx18Hm8a.png) 同じロゴがあるサイトが見付かるので、あとはこの周辺をgoogle mapで練り歩く。 [google map](https://maps.app.goo.gl/LBMkvJNtGn6LACNw8) ![Screenshot from 2023-12-10 23-05-32](https://hackmd.io/_uploads/BJmarSXUa.png) ``` TsukuCTF23{1.3623,103.8872} ``` ### osint - TrainWindow (394pt) <details> <summary>問題</summary> > 夏、騒音、車窓にて。 > > フラグのフォーマットは、`TsukuCTF23{緯度_経度}`です。 > 緯度経度は小数第五位を切り捨てとします。 > > Summer, noise, at car window. > > The format of the flag is `TsukuCTF23{latitude_longitude}`. > Latitude and longitude are rounded down to the fifth decimal place. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/TrainWindow.jpg) </details> ``` TsukuCTF23{} ``` ### osint - CtrlAltPrtSc (427pt) <details> <summary>問題</summary> > 仕事中にCtrl + Alt + PrtScでウィンドウのスクリーンショットを撮ったよ。 > > つくし君がサボって使用していたサービスの名前を答えよ。 > フラグは`TsukuCTF23{サービスの名前}`の形式です。 > > Tsukushi-kun took a screenshot of a window at work using Ctrl + Alt + PrtSc. > Please give the name of the service that Tsukushi-kun used when he was slacking off from work. > Flag format is `TsukuCTF23{Service name}` ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/CtrlAltPrtSc.png) </details> 最初、電卓が必要なサボりなんてCookie Clickerかな?と思ったんですが違う模様。 最近のWindows特有のスクショすると角や1px外側がうっすら見えるやつを駆使する問題のようです。 ![image](https://hackmd.io/_uploads/Hy3MKrQIa.png) この赤色を俺は知っている! ![image](https://hackmd.io/_uploads/ByxtKH78a.png) ``` TsukuCTF23{YouTube} ``` ### osint - laser (433pt) <details> <summary>問題</summary> > 光源の座標を正確に教えてください。 > フラグフォーマットは、`TsukuCTF23{緯度_経度}`です。 > 小数点以下5位を切り捨てて、小数点以下4桁で答えてください。 > > Please tell me the exact coordinates of the light source. > The flag format is `TsukuCTF23{latitude_longitude}`. > Round down to 5 decimal places and submit your answer to 4 decimal places. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/laser.jpg) </details> 始めは"スカイツリーかなんかでは?"という話になり、スカイツリー周りで検索を掛けていたけれどダメ。 そのおまけで以下が見付かった。 ![e268890c35ee321c5583025f12f17297](https://hackmd.io/_uploads/r11jCSXL6.jpg) [渋谷スクランブルスクエアの夜景はチームラボのようなレーザービームも見れる | 週末絶景カメラマンゆーの日記](https://camyucan.com/shibuyascramblesquare-nightlandscape/) ![Screenshot from 2023-12-10 23-36-14](https://hackmd.io/_uploads/ryBPRBQ86.png) レーザーは出ているが、複数のレーザーだったり、そもそも回答に必要な正確さとレーザーの発射位置の多さから問題と合わない部分が多いので別の場所を探した。 結果、`都会 レーザー`で検索すると以下が見付かった。 [大阪の人々が騒然…梅田の空に突如出現した「レーザービーム」の正体、知ってる?(Lmaga.jp 関西のニュース)|dメニューニュース](https://topics.smt.docomo.ne.jp/article/lmaga/region/lmaga-00761493) > そのミステリアスさから、さまざまな説がささやかれている謎の光。その正体は、関西では恒例のイルミネーションイベント『大阪・光の饗宴』のプログラム「御堂筋イルミネーション」の演出だった。 > 梅田から難波までをつなぐ約4kmもの道のりがロマンティックに彩られる同イルミネーション。担当者によると、そのスタート地点である「梅田吸気塔」に「ランドマークレーザー」を設置したのだという。 建造物のうち、一番右下のものが正解 ![image](https://hackmd.io/_uploads/HJiwI87IT.png) ``` TsukuCTF23{34.7015_135.4991} ``` ### osint - 3636 (444pt) <details> <summary>問題</summary> > ここはどこ...? > Flagフォーマットは `TsukuCTF23{緯度_経度}` です。 > 端数は少数第四位を四捨五入して小数点以下第三位の精度で回答してください。 > > Where is there...? > The flag format is `TsukuCTF23{latitude_longitude}` . > Fractions should be rounded to the nearest fourth decimal place, and please answer to the third place. > ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/3636.png) </details> `"3636" inurl:.ed.jp`で検索すると、urlが`o.ed.jp`なそれっぽいサイトが2つ程見付かる。 ![image](https://hackmd.io/_uploads/ry3TUr7IT.png) 下の幼稚園の周りをgoogle mapで練り歩くと見付かる。 ![2023-12-11_01-03-05_chrome-min](https://hackmd.io/_uploads/Hka8ZDXIp.png) ``` TsukuCTF23{37.502_139.929} ``` :::info この問題は個人的にちょっと感動しました。 `ed.jp`が見えているお陰で、画像だけ見ると海外の看板のような雰囲気しか感じとれないものでもなんとかなる当たりが綺麗で見栄えが良いですね。 - _karubabu_ ::: ### osint - Yuki (446pt) <details> <summary>問題</summary> > 雪、無音、窓辺にて。 > > フラグのフォーマットは、`TsukuCTF23{緯度_経度}`です。 > 緯度経度は小数第四位を切り捨てとします(精度に注意)。 > > Snow, silent, at window. > > The flag format is `TsukuCTF23{latitude_longitude}`. > Latitude and longitude are rounded down to the fourth decimal place (note the precision). ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/Yuki.jpg) </details> この恵まれたホテルから見える綺麗な雪とただの田舎の景色は定山渓一択なので、そこだと念頭に入れて調べたが、見付けられなかった。 そこで、Eaiに"これは間違いなく定山渓!トラストミー"と言って一緒に調べて貰うと、一瞬で見付けてくれた。 ![Screenshot from 2023-12-11 03-32-46](https://hackmd.io/_uploads/SJewEYX8p.png) [Title: 美味しい宿 敷島定山渓別邸 - 宿泊予約は【じゃらんnet】](https://images.app.goo.gl/tmJViTDpTjtQAivZ6) ![image](https://hackmd.io/_uploads/SyTQXrXLT.png) `定山渓 ホテル`あたりで検索するとほぼ一致する場所の画像がヒットするので、ここを調べる [google map](https://maps.app.goo.gl/Ps9M3WP6GDNp6aCt5) ![Screenshot from 2023-12-10 23-07-54](https://hackmd.io/_uploads/HyePLHXLp.png) 問題の画像には2つの橋があるが、google mapでは相当拡大しないと小さい方の橋は出てこないので注意する。(1敗) ``` TsukuCTF23{42.969_141.167} ``` :::info 定山渓 ってあたり付けられたのすごい。私だけだと無理だった - _Eai_ ::: ### osint - tsukushi_no_kuni (451pt) <details> <summary>問題</summary> > かつて、筑紫国を統治していた国造の一人が乱を起こした。 > その子孫の一人が、ある天皇と同一人物である説が提唱されている。 > その子孫の名前を `TsukuCTF23{}` で囲んで答えよ。 > > Once upon a time, one of the Kokuzou(国造) who ruled Tsukushi-no kuni(筑紫国) caused a rebellion. > A theory has been proposed that one of his descendants was the same person as a certain emperor of Japan. > Answer by enclosing the name of the descendant in `TsukuCTF23{}`. > </details> > 筑紫国を統治していた国造の一人が乱を起こした。 これは [磐井の乱](https://ja.wikipedia.org/wiki/%E7%A3%90%E4%BA%95%E3%81%AE%E4%B9%B1) でしょう。 > その子孫の一人が~ 磐井さんの子孫ってこと? [磐井 (古代豪族) - Wikipedia](https://ja.wikipedia.org/wiki/%E7%A3%90%E4%BA%95_(%E5%8F%A4%E4%BB%A3%E8%B1%AA%E6%97%8F)) を眺める…… ![image](https://hackmd.io/_uploads/rkvP1LQ8a.png) いました この人が天皇だと断定するのは流石に安直すぎるのでググってみる ![image](https://hackmd.io/_uploads/HJp9JLX86.png) > 天武天皇は薩夜麻(さちやま)なんですか。 天皇だったかもしれねえ ``` TsukuCTF23{筑紫薩夜麻} ``` 通った…… ### osint - free_rider (463pt) <details> <summary>問題</summary> > https://www.fnn.jp/articles/-/608001 > 私はこのユーチューバーが本当に許せません! > この動画を見たいので、元のYouTubeのURLを教えてください。 > また、一番上の画像(「非難が殺到」を含む)の再生位置で指定してください。 > フラグフォーマットは、`TsukuCTF23{https://www.youtube.com/watch?v=**REDACTED**&t=**REDACTED**s}` > > https://www.fnn.jp/articles/-/608001 > I really can't stand this YouTuber! > I would like to watch this video, so please tell me the original YouTube URL. > Also, please specify the playback position of the top image (including 「非難が殺到」). > Flag format is `TsukuCTF23{https://www.youtube.com/watch?v=**REDACTED**&t=**REDACTED**s}` > ![image](https://hackmd.io/_uploads/SkY6oS7U6.png) </details> これ見たことあるな。 ![image](https://hackmd.io/_uploads/rJ75iHmLp.png) さらにちょっとググると転載された動画が出てくる。これで秒数が分かる。 https://www.youtube.com/watch?v=YzUDKBolwXY ![image](https://hackmd.io/_uploads/BkhVnBXIa.png) 画像の位置は180秒付近(再アップロードには数秒イントロが付いてるので実際はこれの3,4秒前) 元動画のIDは分からなかったのでタイトルでひたすらxを検索 ![image](https://hackmd.io/_uploads/S1HD2rQI6.png) おそらくこれっぽい ![image](https://hackmd.io/_uploads/r1W_nrQL6.png) ちょっとtの値を調整して何回か送信して通った。 ``` TsukuCTF23{https://www.youtube.com/watch?v=Dg_TKW3sS1U&t=176s} ``` :::info 他の人のwriteupみたら[xのガレソの投稿](https://twitter.com/takigare3/status/1716608347196334393)で元動画のID分かるらしいです。もうガレソは見たらいけないものだと思ってたから、OSINTのときはそういう思考も変えなきゃいけないんだなと少し反省しました(何?) - _Eai_ ::: ### osint - river (469pt) <details> <summary>問題</summary> > 弟のたくしから、「ボールが川で流されちゃった」と写真と共に、連絡がきた。 > この場所はどこだ? > Flagフォーマットは `TsukuCTF23{緯度_経度}` です。 > 端数は少数第5位を切り捨てて小数点以下第4位の精度で回答してください。 > > I received a call "My ball got washed away in the river" with a picture from my younger brother, Takushi > Where is this place? > Flag format is `TsukuCTF23{latitude_longitude}`. > Please answer to the fourth decimal place with fractions rounded down to the fifth decimal place. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/image.png) </details> ![Screenshot from 2023-12-11 01-14-17](https://hackmd.io/_uploads/B1lLBPQ8a.png) ニューギンというパチンコ製品販売会社の看板が見えるので、ニューギンの公式サイトからニューギンの会社がある場所を片っぱしから探してgoogle mapで練り歩く。 [google map](https://www.google.com/maps/@31.5757123,130.553208,3a,75y,293.09h,75.35t/data=!3m6!1e1!3m4!1s3GGUvjrNNIEyZ5p68fwIKg!2e0!7i16384!8i8192?entry=ttu) ![Screenshot from 2023-12-11 01-19-05](https://hackmd.io/_uploads/rywUrDmUT.png) ``` TsukuCTF23{31.5757_130.5533} ``` ### osint - broken display (471pt) <details> <summary>問題</summary> > 表示が壊れているサイネージって、写真を撮りたくなりますよね! > 正しく表示されているときに書かれている施設名を見つけて提出してください! > フラグ形式: `TsukuCTF23{◯◯◯◯◯◯◯◯IYA_◯◯◯◯◯◯S}` > > A Signage with a broken display makes me want to take a picture, right? > Find the name of the facility whose name is written on when it is displayed correctly and submit it! > The flag format: `TsukuCTF23{◯◯◯◯◯◯◯◯IYA_◯◯◯◯◯◯S}` ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/broken_display.jpg) </details> ``` TsukuCTF23{NISHINOMIYA_GARDENS} ``` ### osint - stickers (478pt) <details> <summary>問題</summary> > この画像が撮影された場所を教えてください! > Flagフォーマットは `TsukuCTF23{緯度_経度}` です。 > ただし、小数点4桁の精度で答えてください。 > > Please tell me where this picture is taken! > The Flag format is `TsukuCTF23{latitude_longitude}`. > Please answer to the precision of 4 decimal places. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/stickers.png) </details> 熱海プリンのワゴンが見える。 ![Screenshot from 2023-12-11 01-00-28](https://hackmd.io/_uploads/ByiaeDQ86.png) まず、熱海プリンの店舗の近くにある御札が張ってある神社?を探したが、チームメンバーが言うにはこの神社のようなものに張ってある御札は千社札といってなんか勝手にべたべた貼るものであってこの札で特定出来るわけではないとのことだった。 ![Screenshot from 2023-12-11 02-47-38](https://hackmd.io/_uploads/HJqRFuQLa.png) fuyuが調べてくれた 神社自体もよく見付けられないので、別の方法を模索することに。 次に、`EC`と赤字で書かれたロゴが見えたので、これについて調べた。 ![Screenshot from 2023-12-11 01-00-38](https://hackmd.io/_uploads/B1v0xv7Up.png) 結果、このロゴはFUJITECのものであることが分かったが、このFUJITECの熱海サービスセンターの住所がFUJITECの公式サイトでも見付けられないという状態で、ここから探すことも出来なかった。 ![Screenshot from 2023-12-11 02-48-47](https://hackmd.io/_uploads/SkcMc_Q8T.png) 私(karubabu)は正直なところ、言われるまでずっとNECだと思って調べていました。 ![Screenshot from 2023-12-11 02-50-20](https://hackmd.io/_uploads/Hy7d5OQLp.png) 結局のところ、fuyuが熱海プリンの店舗の近くを練り歩くことで発見した。 ![Screenshot from 2023-12-11 02-50-20](https://hackmd.io/_uploads/BkhpiuX8p.png) ``` 熱海プリンの車がある→店舗の近く?→熱海プリンカフェ2ndの近くを探索→偶然見つけた ``` といったところらしい。 ``` TsukuCTF23{35.0967_139.0748} ``` ### osint - flower_bed (484pt) <details> <summary>問題</summary> > 花壇の先にQRコードのキューブがあるようですね。友人曰く、モニュメントの近くに配置されているものらしいです。 > こちらのQRコードが示すURLを教えてください! **リダイレクト前のURL**でお願いします! > > Flagの形式は `TsukuCTF23{URL}` です。例えば、`https://sechack365.nict.go.jp` がURLなら、 `TsukuCTF23{https://sechack365.nict.go.jp}` が答えになります。 > > It looks there is a cube of QR code. My friend says it is placed near the monument. > What is the URL which the QR code specifies. Please answer the URL **before the redirection**. > > The flag format is `TsukuCTF23{URL}` . For example, if the URL is `https://sechack365.nict.go.jp`, the answer is `TsukuCTF23{https://sechack365.nict.go.jp}` . ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/flower_bed.png) </details> ウワーQRコード復元問題! 画像編集ソフトで歪み補正したのを見ながら手でプチプチ書いていく ![image](https://hackmd.io/_uploads/r1ehVwmU6.png) が、破損が大きすぎてまだ読めない。手でデコードするしか無いのか?それだけはやりたくない! ここで karubabu がQRコードの周りの文字から「旧福岡県公会堂貴賓館」でないかと発見をする。 (かろうじて読める **Prefectural Civic Hall and house official site** のようなキーワードで検索すると https://gofukuoka.jp/spots/detail/26951 が出てきたため) Google Mapなどにたくさん写真が投稿されてるのでひたすらこのQRが映り込んでないか確認する - https://maps.app.goo.gl/tprzHGbhAh4qh3b38 - ![image](https://hackmd.io/_uploads/Sk66HP786.png) - もっと画質が良ければ…… - https://flic.kr/p/2oTa7ug - ![image](https://hackmd.io/_uploads/rk2X8wXI6.png) - これではないらしい - https://maps.app.goo.gl/HstnPxHgTRYaA6zK6 - ![image](https://hackmd.io/_uploads/S1Nl8DXLp.png) - この立方体の右側に狙いのQRが貼ってあると推測 - https://maps.app.goo.gl/jvUvwcQTxubg3s1G7 - ![image](https://hackmd.io/_uploads/ryW4vDmUT.png) - ニアミス1 - https://maps.app.goo.gl/tYyqaT6QsUMko8Q88 - ![image](https://hackmd.io/_uploads/SkzSwwQ86.png) - ニアミス2 - https://maps.app.goo.gl/4BhRvntpCz54xG149 - ![image](https://hackmd.io/_uploads/By8OwP7IT.png) - ニアミス3 - https://maps.app.goo.gl/mvyNsVDGYrDcvvbP8 - ![image](https://hackmd.io/_uploads/rktjPwQIa.png) - 特に関係ないめっちゃ楽しそうな酔っ払い ここで完全にスタックしていたが、Disocrdで送られたリンクを見ていると、URLの中にURLが含まれていることに気がつく。もしかしてこれは…… ![image](https://hackmd.io/_uploads/SJLx_vmI6.png) ``` https://www.google.com/maps/place/旧福岡県公会堂貴賓館/@33.5916974,130.4043575,3a,75y,90t/data=!3m8!1e2!3m6!1sAF1QipOSqyvDV6YU3fHaJJnWgkrBnnx5T9cXyIHiINHd!2e10!3e12!6shttps:%2F%2Flh5.googleusercontent.com%2Fp%2FAF1QipOSqyvDV6YU3fHaJJnWgkrBnnx5T9cXyIHiINHd%3Dw203-h209-k-no!7i6633!8i6839!4m9!3m8!1s0x35419193e9e71c73:0x97b31ab09595dbf4!8m2!3d33.5916974!4d130.4043575!10e5!14m1!1BCgIgAQ!16s%2Fg%2F121pw6vx?entry=ttu ``` をURLデコードすると ``` https://lh5.googleusercontent.com/p/AF1QipOSqyvDV6YU3fHaJJnWgkrBnnx5T9cXyIHiINHd=w203-h209-k-no!7i6633!8i6839!4m9!3m8!1s0x35419193e9e71c73:0x97b31ab09595dbf4!8m2!3d33.5916974!4d130.4043575!10e5!14m1!1BCgIgAQ!16s/g/121pw6vx?entry=ttu ``` というURLが含まれていることが分かる。 これを開けるようになるまで削ってみると https://lh5.googleusercontent.com/p/AF1QipOSqyvDV6YU3fHaJJnWgkrBnnx5T9cXyIHiINHd=w203-h209 ![image](https://hackmd.io/_uploads/SJpU_PXUT.png) のようなURLになり、ちっちゃい画像が返ってくる。 203x209という数値は……URLに含まれている!ということはw9999-h9999のようなURLにしてやると https://lh5.googleusercontent.com/p/AF1QipOSqyvDV6YU3fHaJJnWgkrBnnx5T9cXyIHiINHd=w9999-h9999 ![image](https://hackmd.io/_uploads/Hk_JKDXLa.png) Googleが持ってる最もでかい画像が返ってくる!このテクをニアミス画像に使うと ![image](https://hackmd.io/_uploads/Sk6SKP7UT.png) 見える!これをスキャンしたら完了 ``` TsukuCTF23{http://www.fukuokaken-kihinkan.jp} ``` いま確認したら「もっと画質が良ければ……」と言った画像にこのテクを使ったら一発でした。内緒だよ。 ### osint - grass_court (488pt) <details> <summary>問題</summary> > しばらく使われていないテニスコートのようだ。 > この日本にあるテニスコートの場所はどこだろう。 > フラグの形式は `TsukuCTF23{緯度_経度}`です。 > 小数点以下5位を切り捨てて、小数点以下4桁で答えてください。 > > Looks like a tennis court that hasn't been used for a while. > Where is the location of this tennis court in Japan? > The format of the flag is `TsukuCTF23{latitude_longitude}`. > Round down to 5 decimal places and submit your answer to 4 decimal places. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/tennis.jpg) </details> 上を向いてるパラボラアンテナが気になる。適当にパラボラアンテナの名産地を調べて山口かなー天文台かなーとか探していたが一向にそれらしい形が見つからない。 **日本 パラボラアンテナ テニス** という直球すぎるキーワードで画像検索してみると、トリップアドバイザーの画像がそれっぽくないか? ![image](https://hackmd.io/_uploads/r1uoTDm8T.png) ![image](https://hackmd.io/_uploads/HkZ-ADX8p.png) ![2023-12-11_01-57-56_chrome-min](https://hackmd.io/_uploads/BJj40DX86.png) ✅ テニスコート ✅ 上むいたパラボラアンテナ ✅ なんかエアコンの室外機みたいな四角いの 3D表示するともっとそれっぽくなる ![2023-12-11_01-59-39_chrome-min](https://hackmd.io/_uploads/ByHjCvXI6.png) ![image](https://hackmd.io/_uploads/rkXxkumIp.png) というわけで正解はテニスコートと奥州宇宙遊学館の間でした ``` TsukuCTF23{39.1350_141.1326} ``` ### osint - fiction (491pt) <details> <summary>問題</summary> > 「座標を教えてくれ」 > フラグフォーマットは、`TsukuCTF23{緯度_経度}`です。 > 小数点以下5位を切り捨てて、小数点以下4桁で答えてください。 > > "Give me the coordinates." > The flag format is `TsukuCTF23{latitude_longitude}`. > Round down to 5 decimal places and submit your answer to 4 decimal places. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/fiction.jpg) </details> :::info "問題の画像を見たらたまげるよ"と、チーム内で話題になったやつ。これもすき - _karubabu_ ::: google lensで検索すると、以下の動画が見付かる。 [GEKKOS HOUSE - YouTube](https://www.youtube.com/watch?v=ucploTHmBWk) ![Screenshot from 2023-12-10 23-54-03](https://hackmd.io/_uploads/HJH8Z878a.png) どうやら、ゲームマップそれ自体にストーリー設定上の座標があり、それを探すものらしい。 [『VALORANT』新マップ「サンセット」発表。塔のそびえる“ロの字”型サイトが特徴的な2サイトマップか - AUTOMATON](https://automaton-media.com/articles/newsjp/20230827-261839/) ![20230827-261839-header-696x358](https://hackmd.io/_uploads/B12FZUQUa.jpg) [Sunset | Valorant Wiki | Fandom](https://valorant.fandom.com/wiki/Sunset?so=search) > 34°2'C" N 118°12'YT" W > (34°2'2" N 118°12'16" W) それっぽい座標がゲーム内で表示されるらしく、これを変換して`lat_lon`形式に変換したがダメ。(実際は計算を間違えて切り捨てにしてしまっただけでこれからでも求められる) [Maps | Valorant Wiki | Fandom](https://valorant.fandom.com/wiki/Maps#Map_Coordinates) ![image](https://hackmd.io/_uploads/HkeE7PX86.png) ゲームwikiにも座標があり、それが正解だった。 ``` TsukuCTF23{34.0338_-118.2044} ``` ### osint - hunter (498pt) <details> <summary>問題</summary> > 名前をメールで聞こうとしたところ、相手のGmailの一部が分からなくなってしまいました。 > 大変お忙しいところ恐縮ですが、暇なときに調査してください。 > `qeinijo#iby#@gmail.com` > `#`が不明な部分です。 > なお、外部サービスに短期間で多くのアクセスをしないようにしてください。 > > I tried to email you to ask for the name, but I lost track of part of the person's Gmail. > I apologize for the inconvenience, but please investigate in your space time. > `qeinijo#iby#@gmail.com` > `#` is the part I don't understand. > Please avoid accessing many external services in a short period of time." </details> メールアドレスの不明な2文字を特定するために、以下のツールを使用する。 [gxlu: Python script to check if a gmail account exists](https://github.com/czz/gxlu.git) googleのメールアドレスの名前部分は、`[a-Z0-9]`そして最後の文字でないのなら`.`が使えるので、可能性のあるメールアドレスを列挙するスクリプトを書いてツールに食わせる。 ``` import string for i in string.ascii_letters: st = "" st = "qeinijo" st += str(i) for j in string.ascii_letters: sst = st sst += "iby" sst += str(j) sst += "@gmail.com" print(sst) for i in string.ascii_letters: st = "" st = "qeinijo" st += str(i) for j in range(10): sst = st sst += "iby" sst += str(j) sst += "@gmail.com" print(sst) for i in range(10): st = "" st = "qeinijo" st += str(i) for j in string.ascii_letters: sst = st sst += "iby" sst += str(j) sst += "@gmail.com" print(sst) st = "" st = "qeinijo" st += "." for j in string.ascii_letters: sst = st sst += "iby" sst += str(j) sst += "@gmail.com" print(sst) for j in range(10): sst = st sst += "iby" sst += str(j) sst += "@gmail.com" print(sst) st = "" st = "qeinijo" st += "+" for j in string.ascii_letters: sst = st sst += "iby" sst += str(j) sst += "@gmail.com" print(sst) for j in range(10): sst = st sst += "iby" sst += str(j) sst += "@gmail.com" print(sst) st = "" st = "qeinijo" for j in string.ascii_letters: sst = st sst += str(j) sst += "iby." sst += "@gmail.com" print(sst) for j in range(10): sst = st sst += str(j) sst += "iby." sst += "@gmail.com" print(sst) ``` こんな感じのコードをforブロック毎に実行していった。 これらを終えると、一つだけ有効なメールアドレスが見付かる。 `qeinijo.iby8@gmail.com` メールアドレスをsubmitして終了…ではなかったので、このメールアドレスで出来ることをやる。 [GHunt: Offensive Google framework. ](https://github.com/mxrch/GHunt) これを使うと、メールアドレスに設定されている名前が取得出来て、そこにflagがある。 ``` 🙋 Google Account data Name : TsukuCTF23{GHun7_i5_u5efu1} [-] Default profile picture [-] Default cover picture Last profile edit : 2023/11/26 14:01:06 (UTC) Email : qeinijo.iby8@gmail.com Gaia ID : 110226179607802829689 User types : - GOOGLE_USER (The user is a Google user.) 📞 Google Chat Extended Data Entity Type : PERSON Customer ID : Not found. 🌐 Google Plus Extended Data Entreprise User : False 🎮 Play Games data [+] New token for playgames has been generated [-] No player profile found. 🗺 Maps data Profile page : https://www.google.com/maps/contrib/110226179607802829689/reviews [-] No review. 🗓 Calendar data [-] No public Google Calendar. ``` ``` TsukuCTF23{GHun7_i5_u5efu1} ``` ### osint - twin (499pt) <details> <summary>問題</summary> > ハッカーは独自に収集した大量の個人情報を、とあるWebサイト上で2023年11月23日に投稿した。 > 我々はこの投稿IDが`KL34A01m`であるという情報を得た。ハッカーのGitHubアカウントを特定せよ。 > > A hacker posted a large amount of personal information collected independently on a certain web site on November 23, 2023. > We have obtained information that this posting ID is `KL34A01m`.I need you to identify the hacker's GitHub account. </details> 投稿IDが`KL34A01m`。一体何のことかと思ったが、リークといえば pastebin.com なので https://pastebin.com/KL34A01m を開いてみるとビンゴっぽい。 ![image](https://hackmd.io/_uploads/HyVRHB7U6.png) しかしこのユーザーが投稿してるのはこの個人情報(偽物)と謎のquineだけ。 ![image](https://hackmd.io/_uploads/SJoGIrQUp.png) ![image](https://hackmd.io/_uploads/SynWIH78p.png) すごい quineといえばruby(偏見)だろうからrubyの環境を用意してAST読んでみたりデバッガ挿してみたりといろいろしてみるがさっぱり分からなくてしばらく積む。 その後、これがosintカテゴリの問題であることを確認し、そんなにプログラムの内容を知らなくても解けるであろうという予測を立て、検索に切り替えてみる。 ![image](https://hackmd.io/_uploads/Hko2LrmUp.png) GitHubでこの投稿のタイトルであるTsuineを検索してすると一発で同じソースが出てきた。 答えは ``` TsukuCTF23{gemini5612} ``` ### misc - what_os (201pt) <details> <summary>問題</summary> > とある研究所から、昔にシェル操作を行った紙が送られてきた来たんだが、 > なんのOSでシェルを操作しているか気になってな。 > バージョンの情報などは必要ないから、OSの名前だけを教えてくれないか? > > にしても、データとかではなく紙で送られて来たんだ。一体何年前のOSなんだ。。。 > > 送られてきた紙をダウンロードして確認してほしい。 > > A lab sent me a paper of operation for a shell, and I wondered on which OS it was running. > Please let me know only the name of the OS except for other information such as version. > > The data is sent by paper, not a program by the way. It means the OS is really old, right? > Anyway, please check the attached file and investigate it. <details> <summary>tty.txt</summary> ``` login: root root # ls -al total 8 41 sdrwr- 7 root 70 Jan 1 00:00:00 . 41 sdrwr- 7 root 70 Jan 1 00:00:00 .. 43 sdrwr- 2 root 630 Jan 1 00:00:00 bin 42 sdrwr- 2 root 250 Jan 1 00:00:00 dev 104 sdrwr- 2 root 110 Jan 1 00:00:00 etc 114 sdrwrw 2 root 140 Jan 1 00:00:00 tmp 41 sdrwr- 9 root 100 Jan 1 00:00:00 usr # chdir etc # ls -al total 34 104 sdrwr- 2 root 110 Jan 1 00:00:00 . 41 sdrwr- 7 root 70 Jan 1 00:00:00 .. 106 lxrwr- 1 bin 5778 Jan 1 00:00:00 as2 105 sxrwr- 1 bin 446 Jan 1 00:00:00 getty 107 sxrwr- 1 sys 2662 Jan 1 00:00:00 glob 108 sxrwr- 1 sys 1192 Jan 1 00:00:00 init 109 sxrwr- 1 sys 186 Jan 1 00:00:00 msh 110 s-rw-- 1 sys 272 Jan 1 00:00:00 passwd 111 s-rwr- 1 root 512 Jan 1 00:00:00 std0 112 s-rwr- 1 bin 2082 Jan 1 00:00:00 suftab 113 s-rwr- 1 sys 88 Jan 1 00:00:00 uids # ed uids 88 1,7p root:0 sys:1 bin:3 adm:3 jfo:4 ken:6 dmr:7 q # echo "who is dmr and ken?" who is dmr and ken? # chdir / # chdir usr # ls -al total 10 41 sdrwr- 9 root 100 Jan 1 00:00:00 . 41 sdrwr- 9 root 100 Jan 1 00:00:00 .. 42 sdrwr- 2 root 80 Jan 1 00:00:00 boot 49 sdrwr- 2 root 60 Jan 1 00:00:00 fort 54 sdrwr- 2 root 70 Jan 1 00:00:00 jack 57 sdrwr- 5 ken 120 Jan 1 00:00:00 ken 59 sdrwr- 2 root 110 Jan 1 00:00:00 lib 83 sdrwr- 5 root 60 Jan 1 00:00:00 src 68 sdrwr- 2 root 160 Jan 1 00:00:00 sys 208 sxrwrw 1 root 54 Jan 1 00:00:00 x # chdir sys # ls -al total 325 68 sdrwr- 2 root 160 Jan 1 00:00:00 . 41 sdrwr- 9 root 100 Jan 1 00:00:00 .. 70 sxrwr- 1 root 2192 Jan 1 00:00:00 a.out 71 l-rwr- 1 root 16448 Jan 1 00:00:00 core 72 s-rwr- 1 sys 1928 Jan 1 00:00:00 maki.s 69 lxrwrw 1 root 12636 Jan 1 00:00:00 u0.s 81 lxrwrw 1 root 18901 Jan 1 00:00:00 u1.s 80 lxrwrw 1 root 19053 Jan 1 00:00:00 u2.s 79 lxrwrw 1 root 7037 Jan 1 00:00:00 u3.s 78 lxrwrw 1 root 13240 Jan 1 00:00:00 u4.s 77 lxrwrw 1 root 9451 Jan 1 00:00:00 u5.s 76 lxrwrw 1 root 9819 Jan 1 00:00:00 u6.s 75 lxrwrw 1 root 16293 Jan 1 00:00:00 u7.s 74 lxrwrw 1 root 17257 Jan 1 00:00:00 u8.s 73 lxrwrw 1 root 10784 Jan 1 00:00:00 u9.s 82 sxrwrw 1 root 1422 Jan 1 00:00:00 ux.s # echo "OS source codes" OS source codes # cal Year? 1971 1971 Jan Feb Mar S M Tu W Th F S S M Tu W Th F S S M Tu W Th F S 1 2 1 2 3 4 5 6 1 2 3 4 5 6 3 4 5 6 7 8 9 7 8 9 10 11 12 13 7 8 9 10 11 12 13 10 11 12 13 14 15 16 14 15 16 17 18 19 20 14 15 16 17 18 19 20 17 18 19 20 21 22 23 21 22 23 24 25 26 27 21 22 23 24 25 26 27 24 25 26 27 28 29 30 28 28 29 30 31 31 Apr May Jun S M Tu W Th F S S M Tu W Th F S S M Tu W Th F S 1 2 3 1 1 2 3 4 5 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12 ``` </details> </details> あるstandard inputが与えられるので、そこから推察する問題。 > ken:6 > dmr:7 > q > \# echo "who is dmr and ken?" とあるように、この人達を調べると以下のサイトが見付かる。 http://www.catb.org/jargon/html/U/Unix.html このサイトに表示されている、OSぽさそうな名前を片っ端からsubmitすると通った。 ``` TsukuCTF23{Unix} ``` ### misc - build_error (476pt) <details> <summary>問題</summary> > 怪盗シンボルより、以下の謎とき挑戦状が届いた。 > > ```plaintext > 怪盗シンボルだ! > > メールに3つのファイルを添付した。 > この3つのファイルを同じディレクトリに置き、makeとシェルに入力し実行するとが走るようになっている。 > > ビルドを行い、標準出力からフラグを入手するのだ! > > 追記:ソースコードは秘密 > ``` > > 怪盗シンボルはせっかちなので、ビルドできるかチェックしているか不安だ。。。 > 取りあえずチャレンジしてみよう。 > > Flagフォーマットは`TsukuCTF23{n桁の整数}`になります。 > > The following letter has been received from Symbol the phantom thief: > > ```plaintext > I have attached three files. > If you put these three files and run `$ make` on your shell, you should get the flag from the standard output. > > Get the flag. > P.S. the source code is secret. > > Sincerely, > Symbol the phantom thief > ``` > > I am not sure whether he checked if it can build since he is impatient. > Anyway, let git it a try. - [main.o](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/main.o) - [one.o](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/one.o) - [Makefile](https://github.com/EaINT-HQ/challenge-attachments/blob/main/2023/tsukuctf/Makefile) </details> makeが通らないobjファイルが2つとMakefileが貰えるので、objファイルをghidraで見る。 ```c void one_init(void) { int j; a = 12; b = 11; c = 75; for (j = 0; (ulong)(long)j < b; j = j + 1) { if ((ulong)(long)j < a) { c = c + 1; } if (c < (ulong)(long)j) { b = b + 1; } a = a + 1; } return; } ``` ```c undefined8 main(void) { int i; long local_30; long local_28; long local_20; local_30 = 12; local_28 = 11; local_20 = 75; one_init(); for (i = 0; i < local_28; i = i + 1) { if (i < local_30) { local_20 = local_20 + 1; } if (local_20 < i) { local_28 = local_28 + 1; } local_30 = local_30 + 1; } local_20 = local_20 + local_30 + local_28; if (local_20 == c + a + b) { printf("flag is %ld\n",local_20); } else { puts("please retry"); } return 0; } ``` 重要なのはこの辺りで、`one_init()`で`a`, `b`そして`c`を計算した後、`main()`内でも似たような計算を行った変数と比較し一致したらflagが出力されるというコードになっている。 ghidraで手に入る疑似コードをほぼコピペすればCのコードになるので、実際に動くものを作って計算して貰う。 ```c #include "stdio.h" int main(){ int j; int a = 12; int b = 11; int c = 75; for (j = 0; j < b; j = j + 1) { if (j < a) { c = c + 1; } if (c < j) { b = b + 1; } a = a + 1; } int i; long local_30; long local_28; long local_20; local_30 = 12; local_28 = 11; local_20 = 75; //one_init(); for (i = 0; i < local_28; i = i + 1) { if (i < local_30) { local_20 = local_20 + 1; } if (local_20 < i) { local_28 = local_28 + 1; } local_30 = local_30 + 1; } local_20 = local_20 + local_30 + local_28; if (local_20 == c + a + b) { printf("flag is %ld\n",local_20); } else { puts("please retry"); } return 0; } ``` ``` TsukuCTF23{120} ``` で通った。 ### misc - content_sign (481pt) <details> <summary>問題</summary> > どうやら、この画像には署名技術を使っているらしい。この署名技術は、画像に対しての編集を記録することができるらしい。署名技術を特定し、改変前の画像を復元してほしい。 Flag形式は<code>TsukuCTF23{&lt;一個前に署名した人の名前&gt;&amp;&lt;署名した時刻(ISO8601拡張形式)&gt;}</code>です。例えば、一個前に署名した人の名前は「Tsuku」で、署名した時刻が2023/12/09 12:34:56(GMT+0)の場合、フラグは<code>TsukuCTF23{Tsuku&amp;2023-12-09T12:34:45+00:00}</code>です。なお、タイムゾーンはGMT+0を使用してください。 > It seems this image is applied digital signature, which can record edit history for an image. Identify the technology and restore the raw image, which means the image before revised. > <p>The flag format is <code>TsukuCTF23{&lt;the name of the previous signing person&gt;&amp;&lt;signed time(ISO8601 extended format)&gt;}</code></p> ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/signed_flag.png) </details> 変な画像が渡される。ExifToolに聞くとc2paという文字が散見される。 ![image](https://hackmd.io/_uploads/rJYReBmL6.png) [contentauth/c2patool: Command line tool for displaying and adding C2PA manifests](https://github.com/contentauth/c2patool) これで開くことができそう。 開くと結構な量のjsonが出てくる。 https://gist.github.com/eai04191/9179bc7154d869e356c61fbb5424253c 眺めるとauthorというキーで **TSUKU4_IS_H@CKER** と **tarutaru** という名前が見える。 署名日時はsignature_infoに書いてある。 これらにより - TSUKU4_IS_H@CKER による 2023-12-08T13:00:26+00:00 の署名 - tarutaru による 2023-12-08T13:01:25+00:00 の署名 があることがわかった。回答は「一個前に署名した人の名前と署名した時刻」の組み合わせだが、署名した時刻が一個前なのかその次なのか分からなかったので何通りか試した。 ``` TsukuCTF23{TSUKU4_IS_H@CKER&2023-12-08T13:00:26+00:00} ``` で通った。どちらとも「一個前」の情報を入れればOKだった :::info 人生で初first bloodとれて嬉しかったです - _Eai_ ::: ### rev - title_screen (487pt) <details> <summary>問題</summary> > 父は昔プログラマーだったらしい、 > しかし、当時開発したソフトのタイトルが思い出せない。 > ソフトを起動すると画面にタイトルが表示されるらしいのだが... > 残っている開発データからなんとか導き出そう! > > ※実行結果として予想される表示文字列(記号含む)をフラグとして解答してください。 > > They said Tsukushi's father was a programmer. > However, I forgot the title of the software which he developed. > If I remember correctly, the title is on the display when the software is started. > Could you please investigate from the remaining data? - [source_code.zip](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/source_code.zip) </details> 添付されているファイルをダウンロードして解凍すると、アセンブリ、設定ファイル、キャラクタ画像(BMP)が出てくる 設定ファイルを確認するとこのような記述がある ``` MEMORY { HEADER: start = $0000, size = $0010, file = %O, fill = yes; ROMST: start = $8000, size = $7ffa, type = ro, file = %O, fill = yes, define = yes; ROMINFO: start = $fffa, size = $0006, type = ro, file = %O, fill = yes, define = yes; ROMCHR: start = $0000, size = $2000, type = rw, define = yes; } ``` > 生成するファイルの構造を決めてそう、ROMCHRはキャラクタROMの事か...? アセンブリを見てみるとヘッダに次の記述がある ```asm .setcpu "6502" ``` > 6502はファミコンで使われているCPU(正確には6502をカスタムしたCPUらしい) キャラクタ画像を開くと文字が出てきた、この中にフラグが含まれてそう この事からファミコンのソースコードだと推測した そのままビルドすればフラグが表示できる...という訳ではなく、ソースコードに含まれている画像(BMP形式)をCHR形式に変換する必要があった CHR形式を扱えるツールを調べたらYY-CHRを見つけたのでこれを使った YY-CHRにはbmp画像を読み込む機能があったが、ソースコードに含まれているキャラクタ画像が128x256のサイズだったのでそのままでは読み込めず128x128にリサイズして読み込ませた > 128x256だったのはスプライト+BGが合わさった物だったから...? ROMのビルドに関しては `cc65` という6502向けのためのコンパイルツールを使用した ``` cl65 -t none -C main.cfg -o main.bin main.asm ``` これでROMがビルドされるので、後はエミュに投げて実行すればタイトル画面が表示される ![image](https://hackmd.io/_uploads/SkKxEwXL6.png) ``` TsukuCTF23{Tsukushi_Quest} ``` ## 解けなかった ### web - MEMOwow (496pt) <details> <summary>問題</summary> > 素晴らしいメモアプリを作ったよ。 > 覚える情報量が増えているって??? > > [http://133.130.100.34:31415](http://133.130.100.34:31415) > > I've made the grateful memo app! > Hmm, but it looks the quantity of information which it has to remember is increased... - [MEMOwow.zip](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/MEMOwow.zip) </details> ### web - EXECpy (499pt) <details> <summary>問題</summary> > RCEがめんどくさい? > データを`exec`に渡しといたからRCE2XSSしてね! > > [http://118.27.109.12:31416](http://118.27.109.12:31416) > > **AdminBot:** [http://118.27.109.12:31416/crawler](http://118.27.109.12:31416/crawler) > > You think doing RCE is a hassle, right? > So, this server passes the data to the `exec`, please do RCE2XSS. > > [http://118.27.109.12:31416](http://118.27.109.12:31416) > > **AdminBot:** [http://118.27.109.12:31416/crawler](http://118.27.109.12:31416/crawler) - [EXECpy.zip](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/EXECpy.zip) </details> ### osint - RegexCrossword (484pt) <details> <summary>問題</summary> > クロスワードを解いてみて! > これを作った会社の本社の郵便番号をハイフンありで答えてね!! > > Solve the crossword! > Hyphenate the zip code of the headquarters of the company that made this!! ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/RegexCrossword.jpg) </details> ### osint - koi (488pt) <details> <summary>問題</summary> > **フラグに誤りがありました。この問題は12/10 0:50(JST)に修正されました。** > **有効なフラグの提出は正解に修正されました。** > **修正されていないと思う方はチケットでお問い合わせください。** > **また、フラグが訂正されました。 > この度はご迷惑をおかけしました。大変申し訳ございません。** > > 画像フォルダを漁っていると、鯉のあらいを初めて食べた時の画像が出てきた。 > 当時のお店を再度訪ね、鯉の洗いを食べたいが電話番号が思い出せない。 > > 誰か、私の代わりにお店を調べ、電話番号を教えてほしい。 > > 記憶では、お店に行く途中で見かけたお皿が使われていた気がする。。。 > > Flagは電話番号となっており、ハイフンは不要である。 > `TsukuCTF23{電話番号}` > > **The flag is wrong. This challenge is fixed at 12/10 0:50(JST).** > **Submission of valid flag has been fixed to correct answer.** > **If you think it has not been fixed, please contact us with a ticket.** > **Also, the flag was corrected. > We apologize for the inconvenience. We are very sorry.** > > I was sorting through my picture folder and found a picture of the first time I ate 鯉のあらい. > I want to go to that restaurant again to try 鯉のあらい, but I can't remember the phone number. > > Can someone please look it up and give me the phone number? > > My recollection is that they used a plate I saw on the way to the restaurant. > > Flag format is the phone number, And no hyphen needed. > `TsukuCTF23{phone number}` ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/koi.JPG) </details> 器それ自体は小石原焼だとすぐ判断出来た。 しかし、そこから店に辿りつくことが出来なかった。 [https://reboo.site/products/hayakawa-016] 器の生産地が福岡県・東峰村なら、その周辺の市町でこの器を使用して鯉のあらいを売っているお店を探せばあるのかと考えたが、似たような器を使っている1軒しか見付けられずその1軒も正解ではなかった。 [https://ameblo.jp/eigo-memo-tekito/entry-12701713048.html] ### osint - sunset (499pt) <details> <summary>問題</summary> > TsukuCTF運営の1人であるshioが、今年に開催されたあるイベントが終わった後に夕日を撮影した。 > この写真が撮影された日時を求めよ。 > フラグフォーマットは`TsukuCTF23{YYYY/MM/DD_hh:mm}`である。 > 例えば、TsukuCTF2023の開始日時は`TsukuCTF23{2023/12/09_12:20}` > なお、誤差は1分まで許容され、日本標準時を用いる。 > > shio, one of the TsukuCTF admins, took a picture of the sunset after an event held this year. > I need you to find the date and time this photo was taken. > The flag format is `TsukuCTF23{YYYY/MM/DD_hh:mm}`. > For example, the start date and time of TsukuCTF2023 is `TsukuCTF23{2023/12/09_12:20}`. > Note that an error of up to 1 minute is allowed and the answer is based on Japan Standard Time. ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/sunset.jpg) </details> ### osint - udon_2023 (499pt) <details> <summary>問題</summary> > ここのうどん、麺だけじゃなく、鶏天も美味しい!!! > お店の場所を忘れたから、7文字のplus codeで教えて!!! > フラグフォーマットは、+を含めて`TsukuCTF23{**REDACTED**+**REDACTED**}` > > This うどん(udon) is not only good 麺(noodle), but also 鶏天(chicken tempura)!!! > I forgot where the restaurant is, so give me a 7 letter plus code!!! > The flag format is `TsukuCTF23{**REDACTED**+**REDACTED**}` (including +) ![](https://cdn.jsdelivr.net/gh/EaINT-HQ/challenge-attachments@main/2023/tsukuctf/udon_2023.jpg) </details> うどんそれ自体にはあまりにも特徴を感じないため、テーブルに置いてあるものをフォーカスしてgoogle lensを使用したが、特に何も見付からなかった。 次に、器をgoogle lensで調べてみたが、特に何も見付からず。 うどんに特化したブログがあったので、そこで非常に似た器の店を見付けたが、正解の店ではなかった。 [桃太郎館](https://metabokawa.ashita-sanuki.jp/e1298284.html) ![Screenshot from 2023-12-11 03-10-17](https://hackmd.io/_uploads/BkAfyYmIa.png) ![Screenshot from 2023-12-11 03-10-46](https://hackmd.io/_uploads/rkO41KQU6.png) 別の問題に器についての言及があるものがあったのは、そういう理由もあったのだと気付かされた。 ### crypto - new_cipher_scheme (491pt) <details> <summary>問題</summary> > I wouldn't worry about it being decrypted because of this complicated process! - [output.py](https://github.com/EaINT-HQ/challenge-attachments/blob/main/2023/tsukuctf/output.py) - [problem.py](https://github.com/EaINT-HQ/challenge-attachments/blob/main/2023/tsukuctf/problem.py) </details> RSAっぽい。 Caesar Cipher is the Best Cipherとか言ってるやつがRSA解けるわけがなかった。 タイトル回収 <style> details { margin-bottom: 1em; border: 1px solid gray; border-radius: 0.4em; } summary { padding: 1em; } </style>