Il s'agit d'analyser un fichier pcap (ou pas, donc). Découvrons ce qu'on peut y trouver.





0x01. PRESENTATION



À fortiori, c'est bien un fichier pcap, file nous renvoie :


cap_ou_pas_cap.pcap: tcpdump capture file (little-endian) - version 2.4 (Ethernet, capture length 65535)



0x02. LECTURE



Wireshark n'est pas très pratique pour le coup, trop d'info tue l'info ... essayons avec des outils en ligne de commande.
Vu que file nous dit que c'est un fichier tcpdump, autant lire avec tcpdump:


 
tcpdump -n -r cap_ou_pas_cap.pcap > cap_ou_pas_cap.pcap.txt
cat cap_ou_pas_cap.pcap.txt
 

11:53:44.125425 IP 192.168.1.8.2521 > 192.168.1.1.0: Flags [P], seq 1385482471:1385482503, win 512, length 32
11:53:45.320041 IP 192.168.1.8.1076 > 192.168.1.1.0: Flags [.], seq 121386197:121386229, ack 820296534, win 512, length 32
11:53:46.627922 IP 192.168.1.8.1968 > 192.168.1.1.0: Flags [S], seq 1007513463:1007513495, win 512, length 32
11:53:48.426859 IP 192.168.1.8.2715 > 192.168.1.1.0: Flags [S], seq 646772903:646772935, win 512, length 32
11:53:49.768026 IP 192.168.1.8.2567 > 192.168.1.1.0: Flags [S], seq 1524549835:1524549867, win 512, length 32
11:53:51.270001 IP 192.168.1.8.2632 > 192.168.1.1.0: Flags [W], seq 1153370461:1153370493, win 512, length 32
11:53:52.700063 IP 192.168.1.8.2179 > 192.168.1.1.0: Flags [E], seq 973372470:973372502, win 512, length 32
11:53:54.080072 IP 192.168.1.8.2138 > 192.168.1.1.0: Flags [S], seq 1670668128:1670668160, win 512, length 32
11:53:55.520578 IP 192.168.1.8.2645 > 192.168.1.1.0: Flags [.], seq 1481173273:1481173305, ack 1952037335, win 512, length 32
11:53:57.120087 IP 192.168.1.8.1853 > 192.168.1.1.0: Flags [R], seq 23203336:23203368, win 512, length 32
11:54:01.944147 IP 192.168.1.8.2944 > 192.168.1.1.0: Flags [.], seq 357741022:357741054, ack 477905127, win 512, length 32
11:54:03.343882 IP 192.168.1.8.1117 > 192.168.1.1.0: Flags [P], seq 1060186542:1060186574, win 512, length 32
11:54:04.764102 IP 192.168.1.8.2536 > 192.168.1.1.0: Flags [E], seq 1942608348:1942608380, win 512, length 32
11:54:06.048571 IP 192.168.1.8.1681 > 192.168.1.1.0: Flags [R], seq 1566910636:1566910668, win 512, length 32
11:54:09.327754 IP 192.168.1.8.1897 > 192.168.1.1.0: Flags [W], seq 998560469:998560501, win 512, length 32
11:54:10.600241 IP 192.168.1.8.2620 > 192.168.1.1.0: Flags [U], seq 1897217943:1897217975, win 512, urg 0, length 32
11:54:11.916047 IP 192.168.1.8.2996 > 192.168.1.1.0: Flags [.], seq 643529719:643529751, ack 540653141, win 512, length 32
11:54:13.036029 IP 192.168.1.8.1591 > 192.168.1.1.0: Flags [U], seq 1338116056:1338116088, win 512, urg 0, length 32
11:54:14.212370 IP 192.168.1.8.2069 > 192.168.1.1.0: Flags [P], seq 82679952:82679984, win 512, length 32
11:54:15.640072 IP 192.168.1.8.1474 > 192.168.1.1.0: Flags [R], seq 2035165314:2035165346, win 512, length 32
11:54:18.092063 IP 192.168.1.8.2444 > 192.168.1.1.0: Flags [E], seq 406227844:406227876, win 512, length 32
11:54:20.020177 IP 192.168.1.8.2696 > 192.168.1.1.0: Flags [S], seq 1100638795:1100638827, win 512, length 32
11:54:23.955342 IP 192.168.1.8.2372 > 192.168.1.1.0: Flags [F], seq 1619215485:1619215517, win 512, length 32
11:54:25.436108 IP 192.168.1.8.2690 > 192.168.1.1.0: Flags [U], seq 1244473554:1244473586, win 512, urg 0, length 32
11:54:26.524041 IP 192.168.1.8.2568 > 192.168.1.1.0: Flags [S], seq 1056279743:1056279775, win 512, length 32
11:54:27.451593 IP 192.168.1.8.2803 > 192.168.1.1.0: Flags [E], seq 869099532:869099564, win 512, length 32
11:54:28.426977 IP 192.168.1.8.2733 > 192.168.1.1.0: Flags [E], seq 681208219:681208251, win 512, length 32



0x03. FLAGS TCP


Drapeaux

    Réservé : réserv pour un usage futur
    ECN /NS : signale la présence de congestion, voir RFC 3168 ; ou Nonce Signaling, voir RFC 3540 
    CWR : Congestion Window Reduced : indique qu'un paquet avec ECE a été reéu et que la congestion a été traitée
    ECE : ECN-Echo : si SYN=1 indique la capacité de gestion ECN, si SYN=0 indique une congestion signalé par IP (voir RFC 3168)
    URG : Signale la présence de données urgentes
    ACK : signale que le paquet est un accusé de réception (acknowledgement)
    PSH : données é envoyer tout de suite (push)
    RST : rupture anormale de la connexion (reset)
    SYN : demande de synchronisation (SYN) ou établissement de connexion
    FIN : demande la FIN de la connexion

Source: https://fr.wikipedia.org/wiki/Transmission_Control_Protocol

Les paquets n'ont (quasi) pas de données, les seules informations changeantes sont les flags et le port source. Essayons de lire le fichier autrement, surtout que :


 
awk '{ print $7 }' cap_ou_pas_cap.pcap.txt|tr -d "\n"|sed 's/,//g;s/\[//g;s/\]//g'
 

P.SSSWES.R.PERWU.UPRESFUSEE



0x04. RELECTURE


Essayons avec notre ami Scapy:


 
>>> rdpcap("cap_ou_pas_cap.pcap")
<cap_ou_pas_cap.pcap: TCP:27 UDP:0 ICMP:0 Other:0>
>>> p=rdpcap("cap_ou_pas_cap.pcap")
>>> p.show()
 

0000 Ether / IP / TCP 192.168.1.8:2521 > 192.168.1.1:0 P / Raw
0001 Ether / IP / TCP 192.168.1.8:1076 > 192.168.1.1:0 A / Raw
0002 Ether / IP / TCP 192.168.1.8:1968 > 192.168.1.1:0 S / Raw
0003 Ether / IP / TCP 192.168.1.8:2715 > 192.168.1.1:0 S / Raw
0004 Ether / IP / TCP 192.168.1.8:2567 > 192.168.1.1:0  / Raw
0005 Ether / IP / TCP 192.168.1.8:2632 > 192.168.1.1:0 C / Raw
0006 Ether / IP / TCP 192.168.1.8:2179 > 192.168.1.1:0 E / Raw
0007 Ether / IP / TCP 192.168.1.8:2138 > 192.168.1.1:0 S / Raw
0008 Ether / IP / TCP 192.168.1.8:2645 > 192.168.1.1:0 A / Raw
0009 Ether / IP / TCP 192.168.1.8:1853 > 192.168.1.1:0 R / Raw
0010 Ether / IP / TCP 192.168.1.8:2944 > 192.168.1.1:0 A / Raw
0011 Ether / IP / TCP 192.168.1.8:1117 > 192.168.1.1:0 P / Raw
0012 Ether / IP / TCP 192.168.1.8:2536 > 192.168.1.1:0 E / Raw
0013 Ether / IP / TCP 192.168.1.8:1681 > 192.168.1.1:0 R / Raw
0014 Ether / IP / TCP 192.168.1.8:1897 > 192.168.1.1:0 C / Raw
0015 Ether / IP / TCP 192.168.1.8:2620 > 192.168.1.1:0 U / Raw
0016 Ether / IP / TCP 192.168.1.8:2996 > 192.168.1.1:0 A / Raw
0017 Ether / IP / TCP 192.168.1.8:1591 > 192.168.1.1:0 U / Raw
0018 Ether / IP / TCP 192.168.1.8:2069 > 192.168.1.1:0 P / Raw
0019 Ether / IP / TCP 192.168.1.8:1474 > 192.168.1.1:0 R / Raw
0020 Ether / IP / TCP 192.168.1.8:2444 > 192.168.1.1:0 E / Raw
0021 Ether / IP / TCP 192.168.1.8:2696 > 192.168.1.1:0 S / Raw
0022 Ether / IP / TCP 192.168.1.8:2372 > 192.168.1.1:0 F / Raw
0023 Ether / IP / TCP 192.168.1.8:2690 > 192.168.1.1:0 U / Raw
0024 Ether / IP / TCP 192.168.1.8:2568 > 192.168.1.1:0 S / Raw
0025 Ether / IP / TCP 192.168.1.8:2803 > 192.168.1.1:0 E / Raw
0026 Ether / IP / TCP 192.168.1.8:2733 > 192.168.1.1:0 E / Raw



0x04. FLAG


On met tout éa dans un fichier texte, et on affiche le pass:


 
cat cap_ou_pas_cap.pcap.txt|awk '{ print $10 }'|tr -d "\n"
 

PASS/CESARAPERCUAUPRESFUSEE



0x05. CREDITS


J'avais vu que les flags ressemblait à quelque chose, avec tcpdump, puis j'suis parti sur une autre piste qu'il y avait un fichier à récupérer.
st0rn (http://st0rn.anbu-pentest.com/) a suivi cette voie et a eu l'idée de lire le fichier avec Scapy.




   =>   Écrit par : Saelyx' team, le 30 juin 2015


 
Mots clés :  
  hacking 
  
  challenge 
    >   Articles connexes :

NDH2K18 - 16ème NDH



NDH2K15 - Samual L Flags On



4564208