はじめに
本記事は先日開催されたナゾトキCTF~入社試験からの脱出~に関するWriteupです。
Hintがあったおかげで無事に全問クリアできましたので私の解法例を記載します。
間違ってるところがあればご指摘いただけると嬉しいです。
ナゾトキCTF~入社試験からの脱出~ とは
-
謎解き要素をミックスした初心者向けCTFイベント
-
イベント期間: 2022/7/17 (日) 13:00 JST - 2022/7/18 (祝) 13:00 JST
-
形式: Online / Jeopardy??
-
ルール概要
- フラグはカタカナ4文字
- フラグを入手してポイントをゲット
- 各問Hintが用意されていてポイントを消費することでHintを開放できる
-
なんとスポンサー様から賞品がでます!
解法例
おひつじ座
問題: あなたが目指しているものの間を読め
- プロローグページより「あなた」=「高橋 ピヨ彦」が「目指しているもの」は「セキュリティ業界の星」
- 「星」=「★」の間を読む
- プロローグページのアイちゃんのメッセージに「★」が2つある
- 「★」の間を縦に読むと「ハンドル」
いきなり超難問でHintを見てもしばらくわからなかったです😂
おうし座
問題: 2021年に行われた、コンピューターウイルス「emotet」のテイクダウン作戦の名前を日本語で言うと?「○○○○ムシ作戦」
-
Emotetは2021/01/27に「Operation Ladybird」という作戦でテイクダウンに成功した
-
Ladybirdは日本語で「テントウ」ムシ
Emotetは活動再開しているのでご注意ください!!
ふたご座
問題: Webサイトにアクセスしフラグを探せ
ちなみにdioskouroiはギリシャ神話の双子の神のことのようです ♊
かに座
問題: 仲間はずれを探せ (cancer.zip提供)
-
提供されているcancer.zipを7zipで覗くと13個のファイルがあり、1つだけ妙に圧縮率の高いファイル"f0525aafa095ed2665d03681537a70ea"があったので開いてみるとファイルの最後に「イイワケ」と書かれている
-
別解
-
解凍したファイルをfileコマンドで確認しても仲間はずれは見つかりました。ちなみに残り12個はpcapng capture fileということなのでWireSharkなどで見れるパケットキャプチャファイルのようです。
$ file * 0961db32a59b8a83c1996498f9d1d80e: pcapng capture file - version 1.0 397cbf6db9d7ae6906ae420aedc5346c: pcapng capture file - version 1.0 44ca0844398b2d010d8cd4a31ddb023d: pcapng capture file - version 1.0 4de447a391e32baeb5a52c55aa14467b: pcapng capture file - version 1.0 550eadb88a230018bf043d1b6ad15863: pcapng capture file - version 1.0 635cbc8a5dc1a528c3b5cb9eecdc1086: pcapng capture file - version 1.0 7463543d784aa59ca86359a50ef58c8e: pcapng capture file - version 1.0 766cc4dd4d5005652e8514e3513683f8: pcapng capture file - version 1.0 7c70e2cb2b4a13c4590f6b15c30385fd: pcapng capture file - version 1.0 a0678bcea04dbd6852c219062ab2bb3c: pcapng capture file - version 1.0 b9c94e8a87e3647c5a0fa4ff358ecc65: pcapng capture file - version 1.0 f0525aafa095ed2665d03681537a70ea: UTF-8 Unicode text f8a5c386478fa64f118056b82acc31d2: pcapng capture file - version 1.0
-
しし座
問題: ルールを守れ
ルールのページに変なルールが書かれてるなぁ~ネタかなぁ~と思ったらここで使うルールでしたw
おとめ座
問題: Webアプリケーションのセキュリティ分野の研究・ガイドラインの作成・脆弱性診断ツールの開発・イベント開催などの活動をしているオープンソースソフトウェアコミュニティの名称の読み方をカタカナ4文字で答えよ。
- OWASPなので「オワスプ」
てんびん座
問題: Webサイトにアクセスしフラグを探せ
-
ブラウザ情報はUser-Agentヘッダで送信されるのでUser-Agentを偽装する
-
ChromeでUser-Agentを書き換える設定
-
再読み込みをクリックするとフラグ「クローン」が表示される
さそり座
問題: 世界一かわいいうちの犬を紹介します (scorpio.jpgが提供される)
いて座
問題: 穴埋め
もはやノーヒントでは解けませんでした😵💫
やぎ座
問題: ある数 x を数 b のべき乗bᵖとして表した場合のpのこと。logとも呼ばれるこの数を日本語で何というか?カタカナ4文字で答えよ。
- 対数なので「タイスウ」
みずがめ座
問題: Webサイトにアクセスしフラグを探せ
-
プロローグページにアイちゃんの社員ナンバーが99と書かれているのでそれをつかう
-
パスワードはきっとSQL文で照合されるので入力文字列「
1' or '1'='1
」でSQLインジェクションを試みる -
アイちゃんのプロフィールと主人公のプロフィールが表示され、フラグは主人公の苗字であることが書かれている。苗字は「タカハシ」
うお座
問題: みずがめ座からてんびん座に向かうとき、ひみつの鍵が手に入るだろう。水の中に浮かぶ真実を見定めよ。 (password.encとencrypt-pisces-new.zip(パスワード付きZIPファイル)が提供される)
-
みずがめ座(の問題で提供されたWebサイト)からてんびん座(の問題で提供されたWebサイト)へ向かうとき、ひみつの鍵が手に入る。ということで、みずがめ座のWebサイトからてんびん座のWebサイトへ訪問したという状況を作る
-
refererヘッダにはどこのサイトから訪れたかの情報が格納されているので、そこにみずがめ座の問題Webサイトを入れておく必要がある
-
上記設定後にてんびん座のWebサイトを訪れるとPrivate keyのデータが表示される
※ てんびん座の問題の時に設定したUser-Agentの設定は元に戻しておく(Use browser defaultにチェックを入れる)。そうしないとてんびん座の答えのページが表示されちゃいます。
-
-
表示されたPrivate keyをpassword.encと同じディレクトリに例えばprivate.pemというファイル名で保存し、private.pemを使ってpassword.encを復号する
$ openssl rsautl -decrypt -inkey private.pem -in password.enc The password for the zip is "fomalhaut".
-
ステレオグラムなので後は頑張って見る…「ケッパク」
※ 実際の画像に黒い点を付けてみました。黒い点が重なるように焦点を奥または手前に少しずつずらしてみてください (私は奥に焦点を合わせる派)。そのまましばらくその焦点の距離で目を慣らします。焦点の距離に慣れてきたら焦点の距離は維持したそのままで視線を少し下げてみてください。ふんわり文字が浮かんでくることがあります。
ナゾトキとCTFが融合した感じがして面白かったです (難しかった…)
へびつかい座
問題: 最終問題に進むためのフラグを導く魔法の解答用紙をご用意しました(謎解きによくあるやつ)
-
12個のキーワードを入れて1文字目を繋げると良い
-
これを1億回叩くとか無理(1秒に120回程度叩いても1日かかるし怒られるw)なので何か方法があるはず。ということで「?」アイコンを押す前と押した後のリクエストの差を眺める。
-
「?」を押すと「ポラリス」というフラグが表示される
最終問題
問題: パスワードを解け
※ ここに来るまでヒントをたくさん見てきたので最終問題は意地でもノーヒントで解く意気込みで頑張ってみる!💪
-
パスワードのヒントは愛の星座の中 => アイちゃんの星座の中にヒントがあると解釈する。
-
流れに従い => パケットキャプチャの時刻順に星座を並べるということ??
- え、大変(;´・ω・) めんどくさがりなのでここは一旦保留…
-
太陽と月に背いて心の示す方を読め => 上記並べたとてコレがわからん
-
パスワードに
stardust
を入れるとエヴoOOOOン風のお祝いメッセージで始まるエピローグページが表示された- ページの最後には最後のフラグ「オールト」
-
おまけ
めんどくさがり発動で保留にしていたパケットキャプチャ時刻順での並べ替えをクリア後にやってみました。
ちゃんと「ぱすわーどはすたーだすと」になりました😊
キャプチャ時刻順 星座名 星座順 ハートマーク列の文字 1 うお 12 ぱ 2 やぎ 10 す 3 かに 4 わ 4 てんびん 7 ー 5 おひつじ 1 ど 6 みずがめ 11 は 7 おとめ 6 す 8 しし 5 た 9 ふたご 3 ー 10 さそり 8 だ 11 いて 9 す 12 おうし 2 と へびつかい座の解答にも最終問題の解答にもなるように12星座の答えが設計されているのは本当にすごいです👀
感想
単身で乗り込みフラグ入手でゲットしたポイントをHint開放で溶かしながら無事クリアできました。ナゾトキも面白くCTF初心者にも解きやすいように絶妙なHintが用意されていたおかげです😭
中でもしし座とうお座の問題が好きですw
へびつかい座と最終問題を解くと、それまでの問題のフラグとナゾトキの設計が本当にうまくできていることがわかります。楽しかったです😊
次回開催があればまた是非参加してみたいです!