Principe:
Reconstituer des fichiers lors d'une exfiltration via un tunnel DNS (en quasi-base64)
Infos (cf menu latéral):
🚩 Flaggué! +226 points gagnés —
💾 Téléchargez les fichiers du challenge
FCSC{18e955473d2e12feea922df7e1f578d27ffe977e7fa5b6f066f7f145e2543a92}
Le challenge
Le challenge demande d'analyser le contenu d'un dump et vu le texte, on aurait besoin de gz/zlib
Wireshark, extraction
On identifie que le fichier est un dump réseauOn l'ouvre dans WiresharkOn repère de nombreuses requetes DNS avec un ndd en base64, on suspecte donc un tunnel DNS
Le NDD est en fait constitué du nom du fichier (en base64), d'un tiret - et des données du fichiers (en base64 aussi), puis d'un . et du top-level-domain de l'attaquant .Zml
On filtre sur ce serveur DNS et sur les requetes DNSOn se crée une colonne dans Wireshark pour visualiser les noms de domaine appelés et retrouver les fichiersOn exporte ces paquets, pour pouvoir tranquillement les reverse en PHP (j'aime bien PHP, pas vous?)Un caractère ne colle pas pour du base64: le + a en fait été remplacé par une *On filtre pour ne garder que les "Name" de notre colonne, et on crée un script (PHP) qui analysera les données (avec le remplacement * en +)
Reconstitution des fichiers
On peut alors dé-base64-ifier les requetes et reconstituer les fichiers (un des fichiers avait un nom vide, car il me manquait un trim)On sauve le contenu des fichiers aussiCe sont des gzip, qu'on extrait (il faut leur donner la bonne extension pour ça)L'un des fichiers est un doc Word, qui contient le flag