CyBRICS CTF 2021 Writeup
Contents
URL: https://cybrics.net/
CyBRICS CTF 2019では、1問しか解けず。
CyBRICS CTF 2020では、なんとか4問解いて275位。
今年はまた1問だけです。。。 50点で459位でーす。
チャレンジのリスト。
解けなかったけど、途中までやった Network Challenge (“localhost”) をメモも兼ねて残しておきます。
[rebyC, Baby]: Scanner (50 points)
Challenge
Check out this cool new game!
I heard they serve flags at level 5.
Solution
アニメーションGIFで、画像をあたかもスキャンしているように、画像が部分的に流れていきます。
Level1 ~ Level4は目を凝視して解きました。
しかし、Level5は明らかにQRコードだったので、元の画像を取り出さないといけません。
Pythonとかを使ってスマートに解くのが想定解なのかも知れないですが、力技でやりました。
MacのPreview AppでGIFファイルを開き、範囲指定を使ってスクリーンショットを撮って、Libre OfficeのSheetにペタペタ貼り付けてできたのがこちら。
しかし、これだけでは正しく読み取れず、ImageMagickを使ってなるべく正方形になるようにしました。
$ convert aaa.png -resize 256x290\! QR.png
Tips
\!をつけるとratioを無視してリサイズできます。
こんな感じ。
iPhone cameraだと読み取れなかったけど、Android phone の QR & Barcode scannerアプリでなんとか読めました。
Flag: `cybrics{N0w_Y0u_4r3_4_c4sh13r_LOL}`
[Network, Hard]: localhost (About 300 points)
Challenge
Remember NET fleeks? I’ve pwned a box in another corporate network, and there is some peculiarly configured server near my foothold. Take a look.
### (Unsolved) OSCPを取って依頼、久々にPentestっぽいことをしました。
`NET fleeks` って何かな?と思ってググったら、CyBRICS CTF 2020で出てきたチャレンジでした。完全スルーしたやつです。
去年のWriteupを見ると、scapyやらをインストールしたりして解いていたようです。
問題がlocalhostだったので、とりあえずlocalでlistenしているサービスを見てみました。
root@PWNED:~# netstat -altpn Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.11:37021 0.0.0.0:* LISTEN - root@PWNED:~# ifconfig -a eth0: flags=4163mtu 1500 inet 10.193.21.7 netmask 255.255.255.0 broadcast 10.193.21.255 ether 02:42:0a:c1:15:07 txqueuelen 0 (Ethernet) RX packets 11 bytes 1226 (1.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root@PWNED:~# tcpdump -i lo port 37021 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes ^C 0 packets captured 0 packets received by filter 0 packets dropped by kernel
特に何も受信はしていませんでした。
そもそも問題文の中で、peculiarly configured server near my foothold
と言っているので、他のマシンがあるのは明らかなのでnmapをかけたところ、10.193.21.180が Up しているのが見つかりました。
(10.193.21.1もUPしてますが、単純にGatewayっぽかったので無視)
root@PWNED:~# nmap -v -sn 10.193.21.1-254 Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-25 03:55 UTC Initiating ARP Ping Scan at 03:55 Scanning 253 hosts [1 port/host] Completed ARP Ping Scan at 03:55, 5.36s elapsed (253 total hosts) Initiating Parallel DNS resolution of 253 hosts. at 03:55 Completed Parallel DNS resolution of 253 hosts. at 03:55, 0.04s elapsed Nmap scan report for 10.193.21.1 Host is up (0.000049s latency). MAC Address: 02:42:7F:4D:62:52 (Unknown) Nmap scan report for 10.193.21.2 [host down] : Nmap scan report for lh_tgt_277.lh_277 (10.193.21.180) Host is up (0.000062s latency). MAC Address: 02:42:0A:C1:15:B4 (Unknown) :
サービスは、TCPだと80番のみオープン。
root@PWNED:~# ports=$(nmap -p- --min-rate=1000 -T4 10.193.21.180 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//) root@PWNED:~# nmap -p$ports -sC -sV 10.193.21.180 Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-25 03:59 UTC Nmap scan report for lh_tgt_277.lh_277 (10.193.21.180) Host is up (0.00012s latency). PORT STATE SERVICE VERSION 80/tcp open http nginx 1.10.3 |_http-server-header: nginx/1.10.3 |_http-title: Site doesn't have a title (text/html). MAC Address: 02:42:0A:C1:15:B4 (Unknown) Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 7.97 seconds
アクセスしてみると、confファイルへのリンクが得られます。
|
|
sysctl.confの中では、以下が有効になっていました。
net.ipv4.conf.all.route_localnet=1
これをググってみると、セキュリティ問題があり、かつ localhost に関係していることがわかります。ビンゴっぽいです。
参考1:
https://github.com/kubernetes/kubernetes/issues/90259
参考2:
https://unit42.paloaltonetworks.jp/cve-2020-855/
宛先のMac addressを指定して、127.0.0.1宛てにパケットを送ると通信ができるっぽい?ので、scapyをインストールして以下のスクリプトを実行してみました。
宛先のポートは、redis.confをベースに6379にしました。
|
|
何も応答が返ってこないので、ここで降参。。。
Author CaptureAmerica @ CTF フラxxグゲット
LastMod 2021-07-28