# CyberDay CTF : Magic Number - 100 points ###### tags: `Forensics` `CyberDay CTF 2020` *Par m00nm00n* Le but de ce challenge était de retrouver une information caché dans une capture réseau. Un fichier pcap nous est initialement transmis. ## Step 1 : Analyse du pcap Je commence l'analyse du fichier pcap qui nous est donné. Je l'ouvre avec Wireshark. ![](https://i.imgur.com/IxRchDc.png) On constate qu'il s'agit majoritairement d'échanges TCP entre deux IP : ``192.168.1.130`` et ``192.168.1.50``. Lorsque je suis en face de ce genre d'échange, je suis immédiatement le flow-TCP. ![](https://i.imgur.com/kUSfb8w.png) Cela me donne une idée du genre de donnée qui transite, je suis à ce moment là à la recherche d'informations qui me sauteraient aux yeux. En cherchant un peu, je trouve un string ``flag.txt`` dans un des dernier paquet TCP de l'échange, précédé des lettres ``PK``. Il s'agit donc peut être d'un zip contenant le fameux fichier. ![](https://i.imgur.com/cSWVHfj.png) Pour ne pas avoir à faire la récupération du fichier à la main en sortant les octets, j'utilise un autre logiciel du nom de NetworkMiner, un tool spécialisé dans l'analyse de capture réseau, plus dans une optique forensics. Le tool me confirme bien qu'il n'y a que 2 ip qui échangent, et il me trouve un fichier. Seulement, il s'agit d'un fichier que je n'avais pas vu initialement, un certain ``secret.txt`` contenant le mot de passe du ZIP. ![](https://i.imgur.com/rpSLaAz.png) ## Step 2: Récupération et extraction du ZIP C'est dans cette partie que le nom du challenge prend tout son sens. Etant donné que NetworkMiner n'est pas capable de nous extraire le ZIP, il va falloir l'extraire à la main. On retrouve avec le flow-TCP le paquet contenant le ZIP. Il s'agit du numéro 1139. Ce qui nous interesse maintenant est la partie TCP payload, contenant les raw-bytes du zip. ![](https://i.imgur.com/mtIHdIX.png) J'exporte ces valeurs avec l'outil export de Wireshark dans un fichier que j'appelle rawBytes. Un CTF précédent (coucou ECW) m'a donné l'idée de lancer l'outil binwalk sur ce fichier. Qui ne donne rien de spécial. ``` DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 84 0x54 Zip archive data, encrypted at least v1.0 to extract, compressed size: 30, uncompressed size: 18, name: flag.txt 353 0x161 End of Zip archive, footer length: 22 ``` La decompression de ce fichier est impossible, j'ai obtenu erreurs sur erreurs en tentant de le decompresser, avec plusieurs logiciels differents. Je me lance donc dans la lecture des valeurs Hex de ce fichier avec 010Editor. ![](https://i.imgur.com/RvNvck6.png) Après beaucoup de recherche sur la construction des fichiers ZIP, quelles étaient les possible erreurs dans la construction du fichier, les signatures etc, je suis tombé sur un outil zip qui ignore les erreurs et essaie d'extraire les informations quand même. ```Bash m00nm00n:~/Desktop/Cyberday/Forensics/MagicNumber/_rawBytes.extracted$ 7z x 54.zip 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,12 CPUs Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (906EA),ASM,AES-NI) Scanning the drive for archives: 1 file, 291 bytes (1 KiB) Extracting archive: 54.zip ERRORS: Unavailable start of archive -- Path = 54.zip Type = zip ERRORS: Unavailable start of archive Offset = -1017724 Physical Size = 1018015 ERROR: Unavailable data : garbage.0 Enter password (will not be echoed): #password de secret.txt Sub items Errors: 1 Archives with Errors: 1 Open Errors: 1 Sub items Errors: 1 ``` Il nous demande d'entrer un password pour dechiffrer le fichier ``flag.txt``. Je lui fourni ce que contenait le fichier ``secret.txt`` récupéré au début. Il me signale bien l'erreur mais réussi tout de même à retrouver et déchiffrer le flag. ## Step 3 : Profit Flag : Flag-qscet5234diQ Je pense qu'il s'agit du challenge sur lequel j'ai passé le plus de temps, surtout parce que je n'arrivais pas à rendre l'archive exploitable. J'ai finalement réussi en esquivant le problème :shushing_face: :eyes:. Merci à Squad et l'EFREI pour ce CTF.