目次
とある日
TsukuCTF2021に参加したのでWriteUp書きます。
TsukuCTF2021
SecHack365'20修了生が運営する初心者向けCTF・TsukuCTF公式アカウントです。OSINTが中心に出題されます。2021/9/11(土) 12:00~2021/9/12(日) 11:59 にコンテストを開催しました!コンテストに関する質問や不具合情報はDMにお願いします。
開催日程:9/11/2021 12:00pm GMT+9 ~ 9/12/2021 11:59am GMT+9
結果
61位
1300Point
WriteUp
Welcome
Tsukushi
welcome TsukuCTF 2021にご参加いただきありがとうございます。フラグの形式は全てTsukuCTF{}です。この問題のフラグはTwitterのアカウント名です。質問などはTwitterのDMにお願い致します。
※トップページのロゴに何か隠れています… (競技には無関係です)
Twitterを見ると名前がフラグ形式なのでそのまま送信。
※今は2022になっているので来年もあるのかな?
Flag:TsukuCTF{2021}
TORItsukushi
Misc
文字列 TSUKUSHI を可能な限り何度も取りつくしてください。残った文字列がフラグです。フラグ内に文字列 TSUKUSHI は含まれていません。
テキストファイルにMany Many TSUKUSHIなのでVSCodeの置換機能で大文字指定をしてTSUKUSHIを空白に変換。
はじめ小文字も対象としていたのでうまくいかなかった。
Flag:TsukuCTF{Would_you_like_some_fresh-baked_Tsukushi?}
Customization
Misc
Tsukushiくんは自分を鍛えるために、毎日欠かさず活動を行う習慣化を行うことにしました。マンダラートを利用しますが、晒されるのが恥ずかしいので目標の部分を消してしまったようです。目標を見つけてください。 https://docs.google.com/spreadsheets/d/1Q-3HaD9aIsjT6bDFSp3avXMbrHB6g0OsR3hfuB9MSvE/edit#gid=0
参照権限しかなかったので、とりあえず中央の空白部分を選択すると上のバーにフラグが表示されてた。
FLAG:TsukuCTF{yak1n1ku_ta6eta1}
ramen
OSINT
ハッカーにとってラーメンは必須の飲み物だといわれています。写真のラーメン店の本店のインスタグラムIDを特定してください。
https://www.reverseimagesearch.com/
このサイトで対象の画像を調べたそれっぽいやつが出てきたので、店の名前を調べてヒット。
FLAG:TsukuCTF{kagari_honten}
shop
OSINT
Tsukushiくんはショッピングモールにデートに来ましたが、相手がいなかったことに到着してから気づきました。帰ろうと思いましたがここがどこかわかりません。動画内に映っているショッピングモールの店舗名を特定してください。
近くの川から捜索してヒット。
FLAG:TsukuCTF{草津}
train2
OSINT
今いる駅名を答えてください。駅名は漢字で答えてください。例: 京都駅の場合はTsukuCTF{京都}がフラグになります。
この問題は10回までしか提出できません。
画像の遠く方の柱に、「出町x」(最後が読めない)が見えたので駅名で調べると、「出町柳」がヒット。
しかし、入力すると違った。
Google のストリートビューで確認してもそれっぽい景色がない。
書いてある看板の向き的にここの駅ではなく次の駅を指しているのではと推測。
次の駅は元田中駅だったので入力。
FLAG:TsukuCTF{元田中}
Ltika
Hardware
Tsukushiくんはシリアル通信等メッセージを送ることに飽きてしまったため、Lチカ(LEDを光らせること)でメッセージを伝える方法を考案した。メッセージを(ローマ字(大文字)、数字、記号を含む)フラグ形式で答えてください。例えばメッセージがTSUKUSHI123&の場合、フラグはTsukuCTF{TSUKUSHI123&}となります。
※この問題はマイコンが手元にない場合でも解くことが可能です。(Tinkercadを使ったardunioのシミュレータも使用可)
inoファイルをダウンロードするとarduinoのソースコードなので、見てみると。
void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } void blinking(){ digitalWrite(LED_BUILTIN, HIGH); delay(500); digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(300); // wait for a second } void lit(){ digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(2000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(300); // wait for a second } void wait(){ digitalWrite(LED_BUILTIN, LOW); delay(1200); } // the loop function runs over and over again forever void loop() { blinking(); wait(); lit(); blinking(); wait(); blinking(); lit(); lit(); lit(); wait(); lit(); lit(); lit(); lit(); lit(); wait(); lit(); blinking(); lit(); lit(); wait(); blinking(); blinking(); blinking(); blinking(); wait(); blinking(); lit(); wait(); blinking(); lit(); blinking(); wait(); lit(); blinking(); blinking(); wait(); blinking(); lit(); lit(); wait(); blinking(); lit(); wait(); blinking(); lit(); blinking(); wait(); blinking(); wait(); lit(); blinking(); lit(); blinking(); lit(); lit(); wait(); delay(3000); }
digitalWrite
のHIGHとLOWで電源を入れたり消したりしているのがわかった。
そこで、モールス信号の問題だと認識。
blinking
とlit
でdelayの間隔が違うので感覚が短いほうが「トン」長いほうが「ツー」だろうなと。
あとは、loop
の関数呼び出しをそれぞれで置換する。
アルファベットのいい感じに変換してくれるサイトがなかったので、表を見ながら置換する。
FLAG:TsukuCTF{enj0yhardware!}
fishing
OSINT
easy 初めての釣りで楽しみだなー! 友達が先に待ってるらしい。 友達から写真が送られてきた。 あれ、どこだっけ...?
写真の場所を答えて下さい
Google画像検索で一発ヒット。
FLAG:TsukuCTF{若洲海浜公園}
Beach
OSINT
これは東京近郊に住んでいる筑紫くんと素日華くんの会話です。
筑紫「もう待ち合わせ時間なんだけど、まだ?」 素日華「もう少し待ってくれ!もうすぐ待ち合わせ場所の駅に着くんだけど...」 筑紫「今どこにいる?写真送ってくれない?」 素日華「おっけい!」
素日華くんは 2 枚の画像を筑紫くんに送りました。この画像をもとに、筑紫くんと素日華くんの待ち合わせ場所を特定してください。以下の制約に従ってください。
この問題は10回までしか提出できません。 待ちあわせ場所は JR の駅です。 写真を撮られた座標からユークリッド距離が一番近い駅が待ち合わせ場所です。 駅名は東京近郊路線図内に記載されている駅名の英語表記を使用します。 駅名がそのままフラグになります。仮に駅名が Kyoto の場合、フラグは TsukuCTF{Kyoto} となります。
独特なオブジェクトがあるのでそれを検索したらヒットした。
FLAG:TsukuCTF{Chigasaki}
〆
日本のCTFのイベント探しててたまたま見つけたので参加してみた。
開催時間が24時間と短かったですが、問題数豊富で問題も易しかったので楽しめました。
場所探す問題が日本の場所なのは少し新鮮でした。
今まで海外のCTFに参加してたので看板の文字を読むところから始めたりするので難易度が高くて苦戦してました。