Le ransomware petya - Comment récupérer ses données

Le ransomware petya - Comment récupérer ses données

Billet mis à jour le 11 avril en fin d'article.

Avant tout, je précise que, dans tous les cas, quelque soit le rançongiciel, il ne faut jamais payer la rançon réclamée.

Il y a une semaine, G DATA a publié sur son blog un nouvel article intitulé "Ransomware Petya encrypts hard drives", soit en français, Petya, le rançongiciel qui chiffre le disque. En fait, il ne chiffre pas le disque, seulement une toute petite partie.

Ce que Petya fait vraiment

Dès son exécution, on a l'impression qu'il fait planter Windows, mais, avant cela, il a pris soin de modifier le MBR et les 55 secteurs suivants, pour y placer son code et faire en sorte qu'il soit exécuté.

Voici le MBR avant et après :

petya-1

A ce moment là, il n'a encore rien fait d'autre et tous les fichiers sont intacts et récupérables. C'est lors du redémarrage que cela se complique. Il affiche quelque chose qui ressemble à une vérification du système de fichier :

petya-2

En fait, il ne vérifie rien. Pendant ce temps, il chiffre chaque enregistrement MFT. Voici un enregistrement $MFTmirr avant et après :

petya-3

Lorsqu'il a terminé de chiffrer tous les enregistrements MFT, il affiche sa tête-de-mort puis quelque chose comme ceci après avoir appuyé sur une touche :

petya-4

On retrouve la tête-de-mort et les éléments de la capture précédente à partir du secteur 45 :

petya-5

Et finalement, c'est tout ce qu'il fait ! Ce qui signifie que les fichiers ne sont absolument pas chiffrés et donc, en partie récupérables assez facilement.

Comment récupérer ses fichiers ?

Pour récupérer les fichiers, il faut brancher le disque dur infecté sur une autre machine et utiliser un logiciel de récupération de données par signatures. L'excellent PhotoRec est parfait pour cette tâche et son développeur propose un tutoriel étape par étape.

Pendant la recherche, il affiche le nombre de fichiers récupérés :

photorec

Il est important de noter que ce type logiciel ne fait qu'une recherche par signature. Ainsi, tous les types de fichiers ne peuvent être récupérés et ceux qui le seront auront perdu leurs propriétés, c'est-à-dire leur nom et leur place dans l'arborescence. De plus, les fichiers fragmentés ne seront récupérés que partiellement.

De ce fait, lorsque PhotoRec a terminé, il faut faire le tri et c'est là l'étape la plus compliquée.

Encore une fois, quelque soit le rançongiciel, il ne faut jamais payer la rançon réclamée et mettre en place un système de sauvegardes.

Mise à jour du 11 avril : comment récupérer tous ses fichiers ?

leostone propose une solution permettant de trouver la clé permettant de récupérer l'intégralité de vos données. Il faut toujours brancher le disque dur infecté sur une autre machine et lire le secteur 55 et 8 octets (offset 0x21) du secteur 54 et les convertir en base 64. On peut aussi utiliser l'outil PetyaExtractor pour faire cette opération. Ensuite il faut se rendre à l'adresse suivante : https://petya-pay-no-ransom.herokuapp.com/ pour fournir les éléments précédents. On clique sur "submit", on patiente un peu et on récupère la clé de déchiffrement que Petya réclame. Enfin, on rebranche le disque sur sa machine originale et on démarre. On rentre la clé et après déchiffrement, la machine devrait démarrer normalement.

Qu'est-ce qu'un RAID ? Ses faiblesses...

Qu'est-ce qu'un RAID ? Ses faiblesses...

RAID signifie Redondant Array of Indepedant Disk, soit, en français, grappe redondante de disques indépendants. L'acronyme date de la fin des années 80, mais le concept est plus ancien et est toujours utilisé de nos jours. Il s'agit d'utiliser plusieurs disques durs pour constituer un volume plus performant, plus fiable ou les deux à la fois. Ce volume est géré logiciellement ou matériellement. Dans ce cas, on parle de contrôleurs RAID. Ils sont intégrés à la carte-mère (bas de gamme) ou sur une carte fille (haut de gamme).

Il existe plusieurs niveaux de RAID. Les plus répandus sont le RAID 0, le RAID 1, le RAID 5 et le RAID 6 (le RAID 2, le RAID 3 et le RAID 4 ne sont plus utilisés).

  1. RAID 0

Le RAID 0 ne vise qu'à améliorer les performances. Pour cela, les disques physiques sont découpés en bandes de secteurs de taille égale (multiple d'une puissance de 2). Ces bandes sont agglomérées les unes après les autres pour constituer le disque vu par le système. Puisqu'un petit dessin vaut mieux qu’un long discours, voici un schéma illustrant le principe d'un RAID 0 avec deux disques :

raid02disks

Si l'un des disques est défaillant, tout le volume est inaccessible.

  1. RAID 1

Le RAID 1 ne vise qu'à améliorer la fiabilité. Pour cela, toutes les données sont intégralement écrites sur chaque disque de la grappe. Ainsi, tous les disques contiennent tous les mêmes données et tant qu'il y en a un qui fonctionne, le volume n'est pas impacté.

  1. RAID 5

Le RAID 5 vise à améliorer les performances et la fiabilité. Pour cela, on utilise le même principe de découpage en bande du RAID 0 auquel on ajoute une bande de parité distribuée. Le calcul de cette dernière repose sur un XOR (OU EXCLUSIF) dont les propriétés mathématiques permettent de perdre n'importe quel disque sans impacter le système. Voici 4 schémas illustrant les différentes possibilités de RAID 5, à savoir :

  • gauche asynchrone (la parité se déplace vers la gauche et la numérotation recommence sur le premier disque)

raid5b

  • gauche synchrone (la parité se déplace vers la gauche et la numérotation recommence après la parité)

raid5bd

  • droite asynchrone (la parité se déplace vers la droite et la numérotation recommence sur le premier disque)

raid5f

  • droite synchrone (la parité se déplace vers la droite et la numérotation recommence après la parité)

raid5fd

Certains constructeurs, HP en particulier, introduisent un délai sur la parité, c'est-à-dire qu'elle ne se déplace pas à gauche ou à droite à chaque bande, mais toutes les 4, 8 ou 16 bandes.

  1. RAID 6

Le RAID 6 vise également à améliorer les performances et la fiabilité. Le principe est le même que pour le RAID 5, mais avec deux bandes de parité. La première repose, comme pour le RAID 5, sur un XOR. La seconde repose sur les corps finis et est beaucoup plus complexe. Du fait des deux bandes de parité, on peut perdre deux disques sans impacter le volume. Voici un schéma illustrant une configuration (gauche synchrone) RAID 6 :

raid6

Les faiblesses

Les systèmes RAID ne sont pas infaillibles. Tout d'abord, comme tous les autres systèmes informatiques, ils ne sont pas insensibles aux facteurs externes que sont les risques naturels (incendie, inondation, surcharge électrique), les risques humains (vol, dégradation) et les risques informatiques (virus, malware). Ensuite, il n'est pas impossible que plusieurs disques tombent en panne en même temps. En effet, les disques d'une grappe sont souvent issus de la même série. Dans ce cas, le MTBF (Mean Time Between Failures ou temps moyen entre pannes) est très sensiblement identique et donc les chances que plusieurs disques faillissent en même temps sont importantes. Enfin, ils ne protègent pas contre les suppressions accidentelles de fichiers ou toutes les autres erreurs humaines, souvent induites par excès de confiance dans le système, ce qui constitue finalement sa principale faiblesse.

De ce fait, il ne faut pas leur faire entièrement confiance et mettre en place un système de sauvegardes périodiques déportées et régulièrement vérifier qu'elles fonctionnent comme attendu.