Qualifications NDH – Solution de l’épreuve « Bender Bending Rodriguez »

Olivier Chatail Writeups

Cet article présente la solution à un challenge de sécurité qui été créé pour les qualifications de la Nuit Du Hack 2017.

La Nuit Du Hack est un événement français autour des thèmes sécurité informatique / hacking. Pour sa 15e édition, il a lieu à Disneyland Paris les 24 et 25 Juin.

https://nuitduhack.com/

Deux compétitions ont lieu lors de la NDH : une privée et une publique.

La compétition privée est réservée aux 10 meilleures équipes de la phase de qualifications, qui a eu lieu le 1er Avril 2017. Quatre membres de Devoteam étaient parmi les participants.

Les qualifications proposaient différents types de challenges, des traditionnels web/exploit/forensics à la stéganographie.

Bender Bending Rodriguez

Cette épreuve, dans la catégorie Forensics, se présente ainsi :

The new co-worker looks weird. He behaves like he is hiding something on his computer. We discreetly dumped the memory of his computer from SSH, in the hope to learn more. But we don’t know much what to do with it. Can you help us? The system is an Ubuntu 16.04, x64

Le fichier fourni est une capture mémoire (RAM) nommée dump.img.

La solution

La version de l’OS et l’architecture sont fournies mais une information nécessaire à l’investigation manque : la version du kernel. Elle peut être récupérée dans les chaînes de caractères présentes dans la capture : la version identifiée est 4.4.0-57-generic.

Il est nécessaire de créer un profil Volatility compatible pour analyser la capture, les profils fournis par défaut ne couvrent pas cette configuration.

Pour ce faire, une machine virtuelle Ubuntu 16.04 64 bits a été mise en place. Sur cette VM les paquets suivants ont été installés :

linux-image-4.4.0-57-generic

linux-headers-4.4.0-57-generic

linux-headers-4.4.0-57

La dernière version de Volatility a été récupérée de Github.

Après avoir mis à jour Grub et redémarré, uname confirme que la bonne version est installée.

Deux fichiers doivent être récupérés pour créer le profil : System.map et module.dwarf.

Le premier peut être récupéré dans /boot tandis que le deuxième sera généré par des outils fournis par Volatility utilisant des outils standards additionnels : build-essential, dwarfdump, zip.

La procédure est documentée dans le wiki de Volatility.

Le profil est maintenant prêt à être utilisé dans notre machine d’investigation.

Deux processus particuliers ont été analysés dans la capture : Firefox et Python (exécutant des scripts qui semblent liés à GNU radio).

Afin de récupérer un peu plus d’information sur ces derniers, le module linux_lsof a été utilisé. Un fichier test.wav a été trouvé dans /tmp.

Le fichier a été extrait avec linux_find_file.

Le fichier audio dicte le flag de validation … C’est gagné !

 

Olivier CHATAIL