[HIP2017] – Dissecting A Ransomware-infected MBR – PETYA

La présentation de Raoul Alvarez lors de la Hack In Paris 2017 est intéressante lors de l’analyse du malware PETYA, c’est pourquoi nous vous conseillons de regarder la conférence en entier. Toutefois, voici ici l’essentiel des informations à retenir.

I. Notions

Tout d’abord, il est important de comprendre ce qu’est le MBR – Master Boot Record et son fonctionnement. Celui-ci n’est présent que sur les disques durs au tout début de ceux-ci et permet au BIOS de référencer les partitions « bootable ». Il est à noter que l’une de ses limitations est que le MBR ne supporte qu’au maximum 4 partitions. C’est l’une des raisons de la création de son successeur: GPT – GUID Partition Table, palliant cette restriction.

Néanmoins, que votre disque dur utilise MBR ou GPT, la méthode d’infection de PETYA est la même.

Une autre notion à bien comprendre est le fonctionnement sommaire du système de fichier Windows NTFS. Le rôle d’un système de fichier est de normaliser le stockage des données afin de pouvoir les manipuler (lecture, écriture). L’un des composants fondamentaux de NTFS est la MFT – Master File Table, qui n’est ni plus ni moins qu’un index répertoriant l’adresse logique de l’ensemble des données de la partition.

II. Infection

Passons la phase d’infection. Une fois que PETYA s’exécute, il va tout d’abord modifier le MBR afin de s’insérer à la place du secteur d’amorçage de la partition active. Puis il procède à un redémarrage forcé de l’ordinateur afin de s’exécuter en se substituant à Windows. À ce moment, l’utilisateur pense que son ordinateur a subi un crash.

Une fois redémarrée PETYA affiche le même message que l’utilitaire « Check Disk » de Windows. Classiquement un message de cet utilitaire indique qu’une erreur Windows est survenue et qu’il doit vérifier l’intégrité des données afin d’éviter toute perte. Ce qui est cohérent avec ce que vient d’assister l’utilisateur.  Or, en réalité, c’est pendant cette fausse vérification d’intégrité du disque qu’il chiffre la MFT – Master File Table ; rendant théoriquement impossible la récupération des données sans payer la rançon.

À la fin de cette étape, PETYA redémarre une deuxième fois proprement afin d’afficher son message de rançon.

Récapitulatif :

  1. Insertion dans le MBR
  2. Redémarrage forcé de l’ordinateur en vue de booter sur lui même
  3. Le BIOS exécute la partition du MBR infecté et donc PETYA
  4. PETYA affiche une fausse interface de CHKDISK
  5. Pendant ce temps il chiffre la MFT – Master File Table

Une fois le chiffrement de celle-ci terminée, il redémarre afin d’afficher le message de rançon.