【WriteUp】 4-Girls Petit CTF

SECCON2023 CTF for GIRLS
=

初めてCTFに参加してきました。

https://www.seccon.jp/2023/ep231223.html

総合順位35位/70名とちょうどど真ん中だったのですが、奇跡的にFirstBlood賞を取ることができました！

※FirstBlood賞とは各問題で一番最初に解けた人がもらえる賞のこと

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/7c2c0c7f-d1b6-6a13-26ea-273cb3aab622.png)
![Score over Time.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/7e7be84a-7aa1-05d3-90f9-5979a9692ab8.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/a9b30918-116d-5ffe-0d9e-e8982196ee0f.png)

解けてる問題は少ないですがWiteUp書いてみます。

初めて投稿するので簡単な文字入力と画像貼り付けるだけしかできませんがご容赦ください。。。

** **
**スペック**
・Windows10 ノートPC
・Linux環境なし
　（直前に自宅のデスクトップPCに構築してしまいました...）
・CTF初参加
・オンラインの初心者向けCTF勉強会を数回受講
　（仕事終わりなのでほぼ頭に入ってないです）
・Linux勉強中
　（Linux環境構築したところで止まってます。コマンドまだ打てません。）


** **

**Reversing**
●[100pt]banner4you
  　FirstBlood賞をいただいた問題です。
 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/47388dba-11ab-4bb5-8fd8-60a705e7a2a7.png)

ダウンロードしてきたファイルを
右クリック → プログラムから開く → メモ帳
で開いたらFlagがあったというかんじです、、、！

仕事でファイルをメモ帳で開く操作をよく行うので無意識に開いていました、、、
ビギナーズラックで取れた賞ですね。2番目の方とはわずか4秒差でした。
 
※本来はstringsコマンド（Windowsの場合はtypeコマンド）を使うようです！

**Misc**
●[100pt]この模様はなーんだ？

![misc_first.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/03c9bc93-4bc2-cf42-238f-b7ae2ca4ab6a.png)
ヒントをみると、MaxiCodeという規格の2次元コードらしいとのこと。

https://products.aspose.app/barcode/ja/recognize
こちらのサイトにアップロードしましたが、操作を間違えたのかスキャン上限値に達してしまいました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/65840113-b744-7fa7-5ce8-0e876939f28b.png)

https://www.dynamsoft.com/barcode-reader/barcode-types/maxicode/
ヒントにもうひとつサイトがあったので再度アップロードして、Flagを見つけました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/3ba1c5f7-dd8a-027d-2f6b-259c168e75b4.png)


●[200pt]christmas card

![christmascard.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/214ef4e4-c40a-3f38-4ffc-148dd38e0044.png)

ヒントを見ると、画像の中にフラグが埋め込まれているらしいとのこと。
一生懸命画像の中を探していました、、、

https://stegonline.georgeom.net/image
が、2つ目のヒントにこちらのサイト（StegOnline）のリンクがあったので
画像をアップロードして「Browse Bit Planes」をクリックするとFlagが出てきました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/0fd24013-7f2f-6b72-33b7-3f35a938c6d5.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/a410e955-9757-5b55-1478-dbbe04797a2b.png)


●[300pt]3keywords
-問題-
仲間と協力してキーワードを見つけてください。
見つけたキーワードをアルファベット（辞書）順に並べたとき、導き出される場所があります。

その場所の公式サイトのセカンドレベルドメインがフラグです。

例）たとえば答えが「浅草橋ヒューリックホール＆カンファレンス」なら、
公式サイトは https://hulic-hall.com/ なので、フラグは ctf4g{hulic-hall} となります。

-ヒント１-
最初のキーワードはあなたの目の前にあります、
受付でもらったものをよく観察してみましょう。
また、この問題を解くには自分以外に最低2人の協力者が必要です。
勇気を出して情報交換することも必要かもしれません。

-ヒント２-
フラグはある実在する場所の名前です。
キーワードは集まりましたか？
3つのキーワードで特定の場所を示す方法はないでしょうか？
検索してみましょう。


ヒント１から受付で受け取るときに
「CTF終了まではSNSにアップしないように」と言われたシールが怪しいとなり、一緒のテーブルの方と見せ合いました。
   ![20231223_143645.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/14cc85fe-bde3-643a-df0e-49e595bd7367.jpeg)

10th anniversartの文字の下に暗号らしきものを発見。全部で3種類あるようでした。

左から「モールス信号」「A1Z26暗号」「ASCIIコード」と判明し、解読。
「BEADS」「SECT」「ENCOURAGE」と出てきたのでアルファベット順に並べます。
　→BEADS ENCOURAGE SECT 

ヒント２から「what3words」というサイトで
3つのキーワードから場所を示すことができそうだったので、
先ほどのキーワードを入力すると「サンタクロース村」がヒット。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/608855f2-1775-f848-245f-e2603e0805f4.png)

サンタクロース村の公式サイトを検索し、セカンドレベルドメインを入手。
https://santaclausvillage.jp/santavillage/
Flagはctf4g{santaclausvillage}でした。

**Forensics**
●[100pt]Snow covered
PDFの画像の下にflagが隠されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/0a282159-2e58-ed28-90ff-06a737aa3c7f.png)

ヒントからLibreOfficeというソフトを使用すると、PDF上の画像が編集できるそう。
LibreOfficeをダウンロードして問題のPDFを開くと、画像が動かせるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/e866e5aa-e5ea-6610-c591-5b74c6f9d347.png)

この時点で早とちりして「ctf4g{Pd」を解答欄に入力し、何度も送信していました。。。
Failsの割合が多い原因のひとつはここです。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/01137a5a-ae90-8046-f8cc-c58f86d4218c.png)

途中でかっこが閉じられていないことに気づき、他の画像も動かしてflagを見つけました。

**Web**
●[100pt]トナカイ専用
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/c597025c-4c2b-2f10-c682-63e630c8414e.png)

ヒントよりReindeerBrowserを使う必要があるとのこと。
UserAgentを偽装する方法を調べました。
※ブラウザはGoogleChromeを使用

F12キーをクリックし、開発者ツールを表示させます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/c4650c07-5c46-b01a-4d89-c488f9c2260d.png)
Network → Network conditions → Use browser defaultのチェックを外す
→ Enter a custom user agentに「ReindeerBrowser」を入力

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/77a2d6cf-272d-52bd-1bdd-804837551ec3.png)

トナカイ専用サイトの「再読み込み」をクリックするとFlagが出てきました。

追記（解けなかった問題です）
●[200pt]Escape
ヒントを見ると前半部分のFlagは見つかりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662053/18de6202-c4e8-c51c-9d45-53935f7331a9.png)
後半はunion句を使うということで、ずっと考えていたのですが解けず、、、

前半がChr1stm@sなので後半はPresentっぽいと推理し、いろんな形で入力して送信していました。

これがFailsの多い最大の原因です。ズルは良くないですね。
ちゃんと推測だけではたどり着けない答えになっていました。

****
**感想**

幅広い年齢層でさまざまな職業の方が参加されており、いろんな方と交流ができてモチベーションが上がりました。

私は普段セキュリティ関連の分野には触れる機会が少ないのですが、賞が取れたのがとてもうれしかったです！

他の方のWriteUpを拝見していると自分とは違う美しい解き方をされていて、とても勉強になりました！！解けなかった問題やってみます！

きっと他の方のWriteUpのと比べると私はかなりレベルが低いのですが、
「このレベル感でも参加していいんだ！」
と思ってくださる方がいればいいなと思い書かせていただきました。

次参加するときは総合順位で賞をいただけるように頑張ります！