好奇心の足跡

飽きっぽくすぐ他のことをしてしまうので、忘れないため・形にして頭に残すための備忘録。

Shakti CTF 2020 writeup [Forensics]

2020年12月3の21:30 - 12月4日21:30 で行われていた、Shakti CTF 2020の [Forensics] 分野のwriteupです。

※ まとめはこちら tech.kusuwada.com

Shark on Wire [Very Easy]

Lara sent me a file which had some hidden message. Help me recover the secret information.

Author : v1Ru5

network1.pcapngが配布されます。

wiresharkで開いて見る前にstringsコマンドで出てきた。

$ strings network1.pcapng | grep ctf{
(略)
Hello all! To make this more interesting, we'll play a game. We'll give you clues about the person, her achievements, profession, etc. in each challenge and you'll have to find the person's name which might give you knowledge about Women in Cyber Security and their achievements. This game has nothing to do with the CTF or the flag. Let's begin! I was an actress, inventor and film producer. Who am I? And here is your flag : shaktictf{wir3sh4rk_i5_ju5t_aw3s0m3}

Zip Zap Zoo [Easy]

We have hidden an important information for you in this file. But remember, it's not always about bruteforcing...

Author : v1Ru5

challange.zipが配布されます。

一度unzipコマンドで解凍してみると、file.zipというdataファイルが出現します。

どうもzipファイルとして壊れているようなので、バイナリエディタで見てみます。

f:id:kusuwada:20201206233251p:plain

おや!最後の方にPasswordが書いてある!
Password:h4ckTh35t3R30tyP35

とりあえずメモして、Headerだけ正規のzipのものと入れ替えたりしつつ、ダメ元でforemost使って中身を分解してもらいました。

$ foremost file.zip 
Processing: file.zip
|foundat=flag.txtUT 
*|

おや!なんか取り出せたっぽい!outputを見に行くと

$ tree
.
├── audit.txt
├── png
│   ├── 00000000.png
│   └── 00009849.png
└── zip
    └── 00000000.zip

おお!画像ファイルとzipファイルに分かれた!画像ファイルを確認したところ、特に怪しいところがなかったのと、さっきのパスワードを使いそうなのでzipを解凍してみる。

$ unzip 00000000.zip 
Archive:  00000000.zip
[00000000.zip] flag.txt password: 
  inflating: flag.txt        

ヤッター!flag.txtが抽出できました。

$ cat flag.txt
ONUGC23UNFRXIZT3PE2HSWKZPF4VSIK7LEYHKX3HGB2F6MLUL42DAOJVGE2TGOJYPU======

base64かな?と思ったけどうまくdecodeされない。最後のpaddingの数も多すぎる気がする。
base32でdecodeすると、flagになりました🙌

flag: shaktictf{y4yYYyyY!_Y0u_g0t_1t_409515398}

Not That Easy [Medium]

We have intercepted the communication between two criminals and we found that they had shared a secret information. Can you find out the secret?

Author : v1Ru5

今度は network2.pcapng が配布された。

$ strings network2.pcapng | grep shaktictf{
Madonna: Okay, the password is shaktictf{fake_flag}

あ、fake_flagだ。残念。

wiresharkで開いてみたが、何処から手を付けるんかなー?と後回しにしているうちに競技終了してしまった。

開いてみます。

f:id:kusuwada:20210207162538p:plain

175行。割と読みやすそうな量だ。
ProtcolがTCPの通信を見ていくと、読み取れるメッセージが結構ある。

L24: 192.168.1.38 -> 192.160.1.38
  Madonna: Hi dude! Wass up?
L46: 192.160.1.38 -> 192.168.1.38 
  Ella: I lost the password again bro. Can you send it please?
L76: 192.160.1.38 -> 192.168.1.38
  Madonna: Why don't you understand? It is not safe.
L92: 192.160.1.38 -> 192.168.1.38
  Ella: What's the issue? Why are you getting annoyed?
L108: 192.160.1.38 -> 192.168.1.38
  Madonna: Don't you know about data breach? We have to protect our data from cyber-threats and all other cyber security related issues.
L121: 192.160.1.38 -> 192.168.1.38
  Ella: Fine, I understand. This will be the last time. Send me the password.
L145: 192.160.1.38 -> 192.168.1.38
  Madonna: Okay, the password is shaktictf{fake_flag}
L159: 192.168.1.38 -> 192.160.1.38
  PNGっぽいフォーマットのデータが送られている!

f:id:kusuwada:20210207162628p:plain

怪しい。

Analyze > Show Packet Bytes

f:id:kusuwada:20210207162632p:plain

QRコードだ!これを読み込むとflagが出た!

f:id:kusuwada:20210207162700p:plain

shaktictf{sh3_w4s_h0n0r3d_by_3lectr0nic_fr0nti3r_f0und4ti0n}

うぉー!これは競技中に解きたかったなぁ!そんなに時間かけずに解ける問題がまだ残っていたとは。
今回はTCPでフィルタして後ろから読んでいくと早く見つけられたかも。

感想

正直これ以上の問題には時間的に手が回らなかったので、もし問題が公開されるなら復習したいな。

-> 手を付けていた問題は復習できてよかった👍 が、問題回収忘れにより、最後一問は不明。writeup見る限り面白そうだったので残念。