✅ 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...
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}
The flag is : RM{M3rry_Chr1stM4s_R00T-M3}