🔦

TsukuCTF 2023 Writeup

2023/12/12に公開

12/9のSecHack365 Returnsにて修了生の方と話をした際にTsukuCTF2023が開催していることを聞き、夜から飛び入りで参加して徹夜で解きまくった結果、3475ptsの98/343位となんとか100位以内に入れました。
本当は書きながら解くのが理想的でしたが、そこまで気が回らなかったため覚えている範囲でどんなふうに解いたかを書いていきます。

3636(osint)

ここはどこ...?
Flagフォーマットは TsukuCTF23{緯度_経度} です。
端数は少数第四位を四捨五入して小数点以下第三位の精度で回答してください。

画像から、電話番号の後ろ5-3636と教育機関向けのドメインo.ed.jpが見えます。ここから、Googleで検索をかけたところ、とうみょう子ども園であることがわかりました。
そこから、Google mapで園の近くにある交差点にて、画像と同じ標識を見つけました。
TsukuCTF23{37.502_139.929}

free_rider(osint)

https://www.fnn.jp/articles/-/608001
私はこのユーチューバーが本当に許せません!
この動画を見たいので、元のYouTubeのURLを教えてください。
また、一番上の画像(「非難が殺到」を含む)の再生位置で指定してください。
フラグフォーマットは、TsukuCTF23{https://www.youtube.com/watch?v=REDACTED&t=REDACTEDs}

この騒動を取り上げているツイートの中に、消された動画のURLを貼ったものがあり、他のYoutubeチャンネルで元の動画を転載しているものを見つけ、記事に載っている「非難が殺到」と同じシーンは179秒、正確には転載された動画の冒頭に三秒間挨拶が入るため-3秒で元の動画では176秒だったことがわかる。
https://www.youtube.com/watch?v=YzUDKBolwXY
TsukuCTF23{https://www.youtube.com/watch?v=Dg_TKW3sS1U&t=176s}

big_statue(osint)

大きなドリアンだ!どこにあるんだろう?? フラグの形式は TsukuCTF23{緯度_経度} です。例えば、この像が東京の渋谷駅にある場合、フラグは TsukuCTF23{35.6580_139.7016} となります。

Yandexで画像検索をすると、Facebookの動画がヒットし、Lexus Durian Kingという店らしく、Google mapで座標を取得し、フラグを得た。
TsukuCTF23{1.3623_103.8872}

basic(web)

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

PcapNgファイルが添付されており、それをWiresharkで解析したところ、BASIC認証が平文でパスワードを送ってしまっていた。
TsukuCTF23{2929b0u4}

what_os(misc)

とある研究所から、昔にシェル操作を行った紙が送られてきた来たんだが、 なんのOSでシェルを操作しているか気になってな。 バージョンの情報などは必要ないから、OSの名前だけを教えてくれないか?
にしても、データとかではなく紙で送られて来たんだ。一体何年前のOSなんだ。。。
送られてきた紙をダウンロードして確認してほしい。

tty.txt
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

最後のcalコマンドで1971年と出ていて、当時Linuxはまだリリースされていないため、UNIX以外はわからないためとりあえずUNIXと入れたら正解しました
TsukuCTF23{UNIX}

tsukushi_no_kuni(osint)

かつて、筑紫国を統治していた国造の一人が乱を起こした。
その子孫の一人が、ある天皇と同一人物である説が提唱されている。
その子孫の名前を TsukuCTF23{} で囲んで答えよ。

「筑紫国 国造」で検索して「磐井の乱」と出てきたので、wikipediaを辿っていくと筑紫君磐井の系譜を引いている「筑紫薩夜麻」という人物がヒットし、調べると天皇だったのではないかという説がでた

TsukuCTF23{筑紫薩夜麻}

eruption(osint)

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

画像のexif情報にDate Time Original: Jan 28, 2022 14:19:00と書いてあるので、2022/01/28に撮影されたものです。
また、「この光景どこかで…」と思い、よく見るとJANOG49二日目の会場で撮っていて私もちょうど現地参加で同じ噴火を見ていたことが発覚しましたw

TsukuCTF23{2022/01/28}

まとめ

今回のようなosint中心のCTFに参加するのは初めてでした。
基本は必要な情報を見極めながら愚直に調べるのみですが、ツールや検索方法などを工夫しないと解けない問題も多く、とても面白かったです。

Discussion