✅ Day 02 - Wrapped Packet

  • NETWORK
  • Date de résolution : 02/12/2024

Reconnaissance

Le chall débute avec un fichier chall.pcapng Ouverture du fichier dans Wireshark -> 16015 frames...
Filtre sur les packet HTTP _ws.col.protocol == "HTTP" : 3 paquets dont 1 qui retourne un fichier HTML en erreur 400 : paquet 14940 ! Hummm....
Analyse du fichier avec binwalk et strings :

 1$ binwalk chall.pcapng 
 2
 3DECIMAL       HEXADECIMAL     DESCRIPTION
 4--------------------------------------------------------------------------------
 5244242        0x3BA12         Certificate in DER format (x509 v3), header length: 4, sequence length: 1810
 6246059        0x3C12B         Certificate in DER format (x509 v3), header length: 4, sequence length: 1224
 7308894        0x4B69E         Certificate in DER format (x509 v3), header length: 4, sequence length: 1810
 8310799        0x4BE0F         Certificate in DER format (x509 v3), header length: 4, sequence length: 1224
 9313970        0x4CA72         Certificate in DER format (x509 v3), header length: 4, sequence length: 1810
10315875        0x4D1E3         Certificate in DER format (x509 v3), header length: 4, sequence length: 1224
1117905887      0x11138DF       HTML document header
1217905969      0x1113931       HTML document footer
 1$ strings -20 chall.pcapng
 2...
 34572726f723a20704572726f723a20704572726f
 4696e673a20696e76696e673a20696e76696e673a
 5616c696420617267616c696420617267616c6964
 65052455454595f4e5052455454595f4e50524554
 7414d453d224b616c414d453d224b616c414d453d
 86920474e552f4c696920474e552f4c696920474e
 95f4c494b453d64655f4c494b453d64655f4c494b
105f4368723173744d5f4368723173744d5f436872
11...

On voit apparaitre ce qui ressemble à des caractères codés en ASCII décimal...

Exploit

On recherche dans wireshark où se trouve ces chaines de caractères et là on découvre un ping un peu bizarre...

Frame Ping
OK ! Ca sent bon le flag...

On extrait ça avec un tshark :
tshark -r chall.pcapng -Y "_ws.col.protocol == "ICMP" and icmp.type == 8" -T fields -e data.data

Puis on ajoute des awk pour :

  • 1- convertir par paire la valeur décimale en hexa :
    | awk '{for (i = 1; i <= length($0); i += 2) {printf("%c", strtonum("0x" substr($0, i, 2))) } print ""}'
  • 2- convertir par paire la valeur hexa en caractère ascii :
    | awk '{for (i = 1; i <= length($0); i += 2) {hex = substr($0, i, 2)printf("%c", strtonum("0x" hex))} print ""}'

On obtient :

 1Hey you Hey you Hey 
 2found mefound mefoun
 3! Well d! Well d! We
 4one!one!one!
 5RM{M3rryRM{M3rryRM{M
 6_Chr1stM_Chr1stM_Chr
 74s_R00T-4s_R00T-4s_R
 8M3}
 9M3}
10M3}
FLAG

The flag is : RM{M3rry_Chr1stM4s_R00T-M3}