URL: https://cybrics.net/

1年前もほとんど解けなかったですが、今年もほとんど解けませんでした。

まぁ、去年は1問だけで、今年は4問解いたので、多少は成長したかな。。。


youtube.com/SPbCTF にて、Writeup を配信してくれるみたいです。Thank you!


最終順位は、275位でした。

cybrics_CTF_2020_Score1.png

チェックが付いているやつが、解けているやつです。

cybrics_CTF_2020_Score2.png



[Cyber, Baby]: Mic Check


Challenge

Have you read the game rules? There’s a flag there. But this year it’s ENCRYPTED, the same way as UserAssist values in Windows.


Solution

Ruleに出てくるのは、cybrics{Na5JRe_g0_G3u_Z1P_Pu3PX} です。

WindowsのUserAssistについていろいろググってみましたが、単純にRot (Rot 13) のようですね。


Flag: `cybrics{An5WEr_t0_T3h_M1C_Ch3CK}`





[Forensic, Eazy]: Krevedka


Challenge

Some user of our service hacked another user.

Name of the victim user was ‘caleches’. But we don’t know the real login of the attacker. Help us find it!

Flag format: cybrics{login of the attacker}

Attachment:

  • selected_packets.pcapng

Solution

caleches で grep してみたところ、3つ目のパスワードが怪しいのがわかります。これが attacker が生成したトラフィックです。

$ strings selected_packets.pcapng | grep caleches
login=caleches&password=vixie
login=caleches&password=vixie
login=caleches&password=%22+or+1%3D1+--

Wiresharkで開き、display filter urlencoded-form.value == "caleches" を使って上記のトラフィックを見つけます。

3つ目のトラフィックは Frame 536633 で、User-Agent がユニークなのがわかります。

POST /login HTTP/1.1
Host: kr3vedko.com
User-Agent: UCWEB/2.0 (Linux; U; Opera Mini/7.1.32052/30.3697; www1.smart.com.ph/; GT-S5360) U2/1.0.0 UCBrowser/9.8.0.534 Mobile
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: session=b75d53bb-1326-4d78-aedf-9bd92e237fbf
Content-Length: 39
Content-Type: application/x-www-form-urlencoded

Wiresharkにて、display filter http.user_agent == "UCWEB/2.0 (Linux; U; Opera Mini/7.1.32052/30.3697; www1.smart.com.ph/; GT-S5360) U2/1.0.0 UCBrowser/9.8.0.534 Mobile" でフィルターすると、“login” = “micropetalous” が見つかります。


Flag: cybrics{micropetalous}





[Web, Baby]: Hunt


Challenge

I couldn’t not make this web10

http://109.233.57.94:54040/

こんな感じで、5つのキャプチャが飛び回っているページです。

cybrics_CTF_2020_Hunt.png

Solution

Developer Toolを使ってスマートに解けないか考えたけどさっぱりわからなかったです。

解いている人数が結構多かったので、アタマを使わずに解ける問題だと推測し、動き回っているキャプチャを頑張ってクリックする方針にしました。

案の定、5つクリックできるとフラグがもらえます。


単なるゲームですな。(あと、何気にCPUを食います)

Flag: cybrics{Th0se_c4p7ch4s_c4n_hunter2_my_hunter2ing_hunter2}





[Reverse, Baby]: Baby Rev


Challenge

I started teaching my daugther some reversing. She is capable to solve this crackme. Are you?

This link can be helpful: snap.berkeley.edu/offline

Attachment:

  • babyrev.tar.gz (babyrev.xml)

Solution

Scratchみたいなやつですね。

https://snap.berkeley.edu/snap/snap.html に行って、babyrev.xml を読み込むと、以下のコードが見つかります。

cybrics_CTF_2020_Snap.png

secret に設定された値を、それぞれ 33 で XOR したら良さそうです。

なお、show variable secretpause all を使って、secretには値が逆順に入っていることを確認してます。


$ python -c 'print("".join([chr(int(x) ^ 33) for x in "66 88 67 83 72 66 82 90 86 18 77 16 98 17 76 18 126 97 79 69 126 102 17 17 69 126 77 116 66 74 0 92".split()]))'

Flag: cybrics{w3l1C0m3_@nd_G00d_lUck!}