概要
2024/6/21(Fri) 21:00 ~ 2024/6/23(Sun) 21:00に開催されたWaniCTF 2024のWriteupです。
書ける範囲で書きます。
成績は618pt470位で終了しました。
Forensics
tiny_usb
問題
USBが狭い
解答
iso
ファイルをダウンロードできました。
string
コマンドで文字列を確認するとFLAG.PNG
やPNGのイメージ終了チャンクであるIEND
が見られるので中にPNGファイルが隠されていると推測できます。
$ strings chal_tiny_usb.iso
(省略)
FLAG.PNG;1
IHDR
pHYs
tEXtSoftware
Celsys Studio Tool
dIDATx
OL\G
{0jsj.
(省略)
,,oT
-y-
IEND
ファイルをバイナリエディタで開きます。
PNGのマジックナンバー89 50 4E 47
を検索して、IEND
チャンクまでを別ファイルで保存するとPNGファイルを抽出できました。
Surveillance_of_sus
問題
悪意ある人物が操作しているのか、あるPCが不審な動きをしています。
そのPCから何かのキャッシュファイルを取り出すことに成功したらしいので、調べてみてください!
解答
Cache_chal.bin
というファイルをダウンロード出来ました。
バイナリエディタで開くとRDP8bmp
と表示されました。
下記サイトを参考に解析を進めました。
bmc-tools
でキャッシュファイルをパースします。
$ python bmc-tools.py -s ../Cache_chal.bin -d outpu -b
collage
ファイルで全体像を確認できました。
FLAGの文字列が見にくいのでRdpCacheStitcher
を使用してさらに解析します。
フラグの文字列を復元できました。
FLAG{RDP_is_useful_yipeee}
codebreaker
問題
I, the codebreaker, have broken the QR code!
解答
バツ印のついたQRコードをダウンロード出来ました。
下記サイトを参考にピクセルを白で塗り替えていきます。
できる限りノイズを除去できました。
このQRコードをクルクル
などのアプリで読み込みます。
フラグが表示されました。
Pwnable
nc
問題
pwn問題はnc(net cat)コマンドを使って問題サーバに接続することがよくあります。ncの使い方を覚えておきましょう
下記コマンドをshellで実行すると問題サーバに接続することが出来ます。接続先で問題を解き、フラグを獲得してください
解答
ソースコードをダウンロードします。
Netcatで接続すると解答を求められます。
main.c
を確認すると、answer
が10
の場合にwin()
が実行され、フラグが表示されるようになっています。
void win(){
system("cat FLAG");
}
int main(){
init();
int answer;
printf("15+1=0x");
scanf("%d", &answer);
if(answer == 10){
win();
}
else{
puts("incorecct:(");
}
return 0;
}
10
を入力してフラグを入手できました。
$ nc chal-lz56g6.wanictf.org 9003
15+1=0x10
FLAG{th3_b3ginning_0f_th3_r0ad_to_th3_pwn_p1ay3r}
Web
Bad_Worker
問題
オフラインで動くウェブアプリをつくりました。
解答
サイトへアクセスした際に読み込まれる/service-worker-assets.js
を確認するとFLAG.txt
を見つけました。
/FLAG.txt
へリクエストを送信するとフラグが返ってきました。
FLAG{pr0gr3ssiv3_w3b_4pp_1s_us3fu1}