CERT.SE challenge 2020

Posted on Nov 29, 2021
tl;dr: CERT.SE CTF 2020

Utmaning

På länken cert-2020 finns en ZIP fil som ska laddas ned. Länk till nedladdning zipfil. Analysera filen och se hur många flaggor som kan hittas.

PCAP analys

När ZIP filen packats upp finns en ‘pcapng’ fil som kan öppnas med wireshark för ytterligare analys. Det är ett par olika TCP streams vilka verkar lite mer intressanta än andra. Exempelvis FTP,FTP-data och en chat vilken visas i klartext.

chat ström (tcp.stream eq 7):

:Sp3ccyF4n!user@192.168.122.177 JOIN :#RetroForum
PING LAG1597869899977
:retro.1337forum.fanboy PONG retro.1337forum.fanboy :LAG1597869899977
WHO #RetroForum %chtsunfra,152
:retro.1337forum.fanboy 354 SID-v1si0uS 152 #RetroForum user 192.168.122.177 retro.1337forum.fanboy Sp3ccyF4n H 0 :realname
:retro.1337forum.fanboy 354 SID-v1si0uS 152 #RetroForum user 192.168.122.156 retro.1337forum.fanboy SID-v1si0uS H@ 0 :realname
:retro.1337forum.fanboy 315 SID-v1si0uS #RetroForum :End of /WHO list.
PING LAG1597869929978
:retro.1337forum.fanboy PONG retro.1337forum.fanboy :LAG1597869929978
:Sp3ccyF4n!user@192.168.122.177 PRIVMSG #RetroForum :Yo!
PRIVMSG #RetroForum :Yo!/Sup?
PING LAG1597869959978
:retro.1337forum.fanboy PONG retro.1337forum.fanboy :LAG1597869959978
:Sp3ccyF4n!user@192.168.122.177 PRIVMSG #RetroForum :Sup?
PRIVMSG #RetroForum :I was thinking about what you said earlier. I still can't accept that you perfer the Z80?
:Sp3ccyF4n!user@192.168.122.177 PRIVMSG #RetroForum :What now??? The Spectrum is waaaaay faster than the C64!!!
WHO #RetroForum %chtsunfra,152
PING LAG1597869989977
:retro.1337forum.fanboy 354 SID-v1si0uS 152 #RetroForum user 192.168.122.177 retro.1337forum.fanboy Sp3ccyF4n H 0 :realname
:retro.1337forum.fanboy 354 SID-v1si0uS 152 #RetroForum user 192.168.122.156 retro.1337forum.fanboy SID-v1si0uS H@ 0 :realname
:retro.1337forum.fanboy 315 SID-v1si0uS #RetroForum :End of /WHO list.
:retro.1337forum.fanboy PONG retro.1337forum.fanboy :LAG1597869989977
PING LAG1597870019977
:retro.1337forum.fanboy PONG retro.1337forum.fanboy :LAG1597870019977
PRIVMSG #RetroForum :Sure the CPU, yes. But hardware sprites, a soundship that doesn't sound like a cat beeing strangled, and the possibility for for paralax scrolling?
:Sp3ccyF4n!user@192.168.122.177 PRIVMSG #RetroForum :You're just talking about superficial "flair". It's like putting makeup on a pig, it's still slow...
PRIVMSG #RetroForum :Dude you're soooooo wrong!!! Just have a look at the demo I uploaded to the FTP earlier, I'll PM you the password with our usual "encryption".
WHO #RetroForum %chtsunfra,152
PING LAG1597870049977
:retro.1337forum.fanboy 354 SID-v1si0uS 152 #RetroForum user 192.168.122.177 retro.1337forum.fanboy Sp3ccyF4n H 0 :realname
:retro.1337forum.fanboy 354 SID-v1si0uS 152 #RetroForum user 192.168.122.156 retro.1337forum.fanboy SID-v1si0uS H@ 0 :realname
:retro.1337forum.fanboy 315 SID-v1si0uS #RetroForum :End of /WHO list.
:retro.1337forum.fanboy PONG retro.1337forum.fanboy :LAG1597870049977
PRIVMSG Sp3ccyF4n :The code is: "OC1iaXQtQzBtcHV0M2VyLXcwbmQzciE/".
PING LAG1597870079977
:retro.1337forum.fanboy PONG retro.1337forum.fanboy :LAG1597870079977
:Sp3ccyF4n!user@192.168.122.177 PRIVMSG #RetroForum :Thanks... But I don't think it's relevant. You wont convince me! CPU-power is EVERYTHING. My Z80 is kicking your lazy 6502!!!
PRIVMSG #RetroForum :Whatever... All I have to say is SID6581, nuff said!
:Sp3ccyF4n!user@192.168.122.177 PRIVMSG #RetroForum :Like you said... Whatever...
KICK #RetroForum Sp3ccyF4n
:SID-v1si0uS!user@192.168.122.156 KICK #RetroForum Sp3ccyF4n :SID-v1si0uS
WHO #RetroForum %chtsunfra,152
PING LAG1597870109978
:retro.1337forum.fanboy 354 SID-v1si0uS 152 #RetroForum user 192.168.122.156 retro.1337forum.fanboy SID-v1si0uS H@ 0 :realname
:retro.1337forum.fanboy 315 SID-v1si0uS #RetroForum :End of /WHO list.
:retro.1337forum.fanboy PONG retro.1337forum.fanboy :LAG1597870109978

I chatten nämns ett lösenord, vilket dechiffreras med hjälp av base64:

┌──(kryssar㉿kali)-[~]
└─$ echo -n OC1iaXQtQzBtcHV0M2VyLXcwbmQzciE/ | base64 -d
8-bit-C0mput3er-w0nd3r!?

FTP-data och inloggning (tcp.stream eq 9):

220 (vsFTPd 3.0.3)
USER sidden
331 Please specify the password.
PASS k3b4bt411rik
230 Login successful.
SYST
215 UNIX Type: L8
TYPE I
200 Switching to Binary mode.
PORT 192,168,122,156,146,217
200 PORT command successful. Consider using PASV.
STOR demo.tar.xz
150 Ok to send data.
226 Transfer complete.
TYPE A
200 Switching to ASCII mode.
PORT 192,168,122,156,167,221
200 PORT command successful. Consider using PASV.
LIST
150 Here comes the directory listing.
226 Directory send OK.
QUIT
221 Goodbye.

Här syns det att filen ‘demo.tar.xz’ förs över, vilket kan vara intressant att undersöka vidare. Strömmen ‘tcp.stream eq 12’ visar själva FTP-DATA överföringen, vilket kan användas för att få en dump av själva filen som kan analyseras vidare.

Följ ström och visa rå data, exportera därefter från wireshark och spara som ‘demo.tar.xz’. Packa upp filen för att analysera innehållet.

┌──(kryssar㉿kali)-[/media/sf_VMSHARED/certse-challenge-2020]
└─$ tar -xJf demo.tar.xz

Lösenordsskyddad ZIP

Innehållet var ytterligare en fil kallad ‘demo.zip’, vilken är lösenordsskyddad. De lösenord som hittats är:

k3b4bt411rik
8-bit-C0mput3er-w0nd3r!? 

Demo time!

Sistnämnda lösenordet låter filen packas upp. Innehåll: ‘cert-se ctf2020.tap’. Vilket är en C64 RAW Tape file:

┌──(kryssar㉿kali)-[/media/sf_VMSHARED/certse-challenge-2020/test]
└─$ file 'cert-se ctf2020.tap' 
cert-se ctf2020.tap: C64 Raw Tape File (.tap), Version:1, Length:201962 cycles

Den kan emuleras på: emulator

Låt filen ladda tills program hittas, vänta en stund till, när syntax error dyker upp, skriv ‘run’ med hjälp av ‘on screen keyboard’ i emulatorn. Avnjut det underbara demo’t c64 demo image

Under demot’s gång kommer texten fram att flaggan består av ”http 418” och att det skall mejlas in till cert@cert.se med subject ctf2020 Inget ytterligare verkar finnas på cert.se’s hemsida där exempelvis https://www.cert.se/teapot borde kunnat ge server-response 418 så som google-teapot gör.

Definition av http Status code 418 från wikipedia

418 I'm a teapot (RFC 2324, RFC 7168)
This code was defined in 1998 as one of the traditional IETF April Fools' jokes, 
in RFC 2324, Hyper Text Coffee Pot Control Protocol.
And is not expected to be implemented by actual HTTP servers.
The RFC specifies this code should be returned by teapots requested to brew coffee.
This HTTP status is used as an Easter egg in some websites, such as Google.com's 
I'm a teapot easter egg.”

EOF