🍅

WaniCTF 2024 Writeup

2024/06/23に公開

WaniCTF 2024

WaniCTF 2024に参加しました。
限られた時間内での参加でしたが、とても楽しむことができました。


以下に回答した問題のWriteupを記載します。

Forensics

tiny_usb [Beginner]

問題

USBが狭い

回答

共有されたisoファイルをマウントする。


PNGファイルを開くと、Flagの記載がある。

Surveillance_of_sus [Normal]

問題

悪意ある人物が操作しているのか、あるPCが不審な動きをしています。
そのPCから何かのキャッシュファイルを取り出すことに成功したらしいので、調べてみてください!

回答

共有されたCache_chal.binを確認すると、Magic numberがRDP8bmpとなっており、
RDPビットマップキャッシュであることがわかる。

RDPビットマップキャッシュは BMC-Tools で解析することが可能なため、以下よりダウンロードする。
URL:https://github.com/ANSSI-FR/bmc-tools

ダウンロード後、以下のように実施する。

指定した出力先に複数のBMPファイルが作成される。

サイズの大きい"Cache_chal.bin_collage"を確認するとFlagが取得できる。

Misc

sh [Normal]

問題

Guess?
nc chal-lz56g6.wanictf.org 7580

回答

共有されたgame.shを確認すると、入力した値$iとランダムに生成された値$rを比較し、
合致した場合にFlagを返すことがわかる。

ランダムに生成される値は推測は困難なため、以下のコードに着目する。
if [[ \$r == \$i ]]
以下のように入力する際の値に || (OR) を追加することで、IF文を合致させることができる。

Pwnable

nc [Beginner]

問題

pwn問題はnc(net cat)コマンドを使って問題サーバに接続することがよくあります。ncの使い方を覚えておきましょう
下記コマンドをshellで実行することで問題サーバに接続することが出来ます。接続先で問題を解き、フラグを獲得してください
nc chal-lz56g6.wanictf.org 9003

回答

共有されたmain.cを確認すると、main関数に10と比較し合致していれば、
win()関数を実行し cat FLAG を実行することがわかる。


以下がFlagとなる。
FLAG{th3_b3ginning_0f_th3_r0ad_to_th3_pwn_p1ay3r}

Web

Bad_Worker [Beginner]

問題

オフラインで動くウェブアプリをつくりました。
URL:https://web-bad-worker-lz56g6.wanictf.org

回答

当該URLへアクセスする。
「Fetch data」の項目から「Fetch FALG.txt」をクリックすると、
FLAG{This is not the flag!!}と表示される。

開発者ツールを開き、再度「Fetch FALG.txt」をクリックすると、要求URL:に記載のあるURLにアクセスしていることがわかる。

Curlコマンドで当該URLを指定して実行するとFlagが取得できる。

Discussion