Depuis le 12 mai, WannaCrypt a causé d’importants dégâts un peu partout dans le monde en chiffrant des fichiers et des dossiers avant d’exiger une rançon pour les libérer. Mais ses jours sont comptés : des outils commencent à voir le jour pour neutraliser WannaCrypt.

Les jours de WannaCrypt sont comptés. En effet, depuis l’apparition du rançongiciel le 12 mai, d’importants efforts sont déployés pour stopper ses méfaits. Microsoft a par exemple sorti exceptionnellement un patch de sécurité pour Windows XP, Server 2003 et 8 même s’ils ne sont plus supportés. De son côté, Europol a fait savoir qu’un outil de déchiffrement était en cours d’élaboration.

Des bidouilleurs de talent sont aussi à pied d’œuvre pour essayer de neutraliser pour de bon le logiciel malveillant. Et une semaine après la propagation de WannaCrypt, il semble que certains travaux commencent enfin à aboutir, ce qui va certainement redonner de l’espoir à ceux et celles dont les fichiers et les dossiers ont été bloqués par le ransomware.

WannaCry

La solution actuelle, baptisée, Wannakey, a été mise au point par un Français, Adrien Guinet. L’intéressé, qui travaille comme expert en sécurité informatique pour la société QuarksLab (que l’on connait notamment pour avoir travaillé sur l’audit de VeraCrypt, un logiciel permettant de chiffrer les données d’un support de stockage), prévient toutefois que sa méthode n’est pas parfaite.

En effet, elle nécessite de satisfaire quelques prérequis : il faut que le poste tourne sous Windows XP et qu’aucun redémarrage ne soit survenu depuis le moment de l’infection avec WannaCrypt. En clair, tout le monde ne pourra pas profiter de Wannakey : si vous avez un PC fonctionnant avec un OS plus récent ou si vous avez éteint puis rallumé la machine, vous êtes hors-jeu.

windowsxp-675.jpg

Comment Adrien Guinet a-t-il procédé ? Il a en fait découvert au fil de ses recherches que les nombres premiers qui sont utilisés pour générer la clé de chiffrement utilisée par WannaCrypt pour verrouiller les documents de l’ordinateur ne sont pas effacés pendant le processus, malgré l’appel de la fonction CryptDestroyKey. Ils sont gardés en mémoire.

« Cela veut dire qu’avec de la chance (beaucoup ?), la clé privée RSA nécessaire pour déchiffrer WannaCrypt pourrait encore être présente dans un système infecté ! », s’enthousiasme-t-il. Mais, « mauvaise nouvelle : la fonction CryptReleaseContext est appelée après le fait que la clé privée de chiffrement est sauvée. Et cette fonction efface la partie que nous avons vu en mémoire », nuance-t-il.

Il ajoute : « les auteurs de WannaCrypt ont fait du bon travail en effaçant en mémoire une version exportée de la clé privée RSA qui a été générée ». Mais le Français a par ailleurs constaté que la fonction CryptReleaseContext ne semble pas marcher comme prévu avec Windows XP. « La clé est toujours là après le passage de la fonction CryptReleaseContext », fait-il remarquer.

Pour le dire autrement, si WannaCrypt se sert d’une vulnérabilité pour infecter les postes informatiques, Wannakey se sert aussi d’une faiblesse technique de Windows, à savoir l’absence de remise à zéro de la mémoire sous Windows XP malgré l’usage de la fonction CryptReleaseContext, pour récupérer la clé privée de chiffrement. Et c’est cette clé que va donc chercher Wannakey.

Pas d’emballement pour autant. On l’a vu, il faut d’une part que la machine infectée soit sous Windows XP et qu’aucun redémarrage n’ait eu lieu. En outre, Adrien Guinet explique sur une page GitHub que sa méthode ne marche malheureusement pas à tout les coups même s’il entend actualiser Wannakey afin de rendre son outil de plus en plus efficace.

En outre, le chercheur a fait savoir sur Twitter qu’il travaille à la mise au point d’un programme permettant d’utiliser Wannakey plus facilement pour le grand public. En effet, la méthode qu’il a conçue (rappelons-le : elle ne permet pas déchiffrer les données bloquées : elle ne fait que retrouver la clé) n’est pas facile à prendre en main puisqu’il faut passer par l’interface utilisateur en ligne de commande (cmd.exe).

via GIPHY

Pour aller plus loin contre WannaCrypt, il faut donc procéder par étapes : d’abord utiliser Wannakey pour obtenir la clé puis ensuite utiliser Wannafork. Pour les autre systèmes d’exploitation en revanche, les travaux continuent. Benjamin Delpy, qui est directeur des projets de sécurité à la Banque de France, travaille sur WanaKiwi, qui semble donner des résultats prometteurs avec Windows 7 (si on ne reboot pas).

« En fait, WanaKiwi de Benjamin Delpy fonctionne pour Windows XP (x86 confirmé) et Windows 7 (x86 confirmé). Cela impliquerait qu’il fonctionne pour chaque version de Windows de XP à 7, y compris Windows 2003 (x86 confirmé), Vista et 2008 et 2008 R2 », écrit Matthieu Suiche, un hacker de renom. Pour Windows 10 en revanche, il n’y a pour l’instant aucune bonne nouvelle.

Génération des clés

Génération des clés en mémoire avant leur destruction.

« La fonction CryptReleaseContext efface la mémoire sous Windows 10 » note Adrien Guinet. « Ce n’est pas vraiment une erreur des auteurs du ransomware, car ils utilisent correctement l’API Windows Crypto. En effet, pour ce que j’ai testé, sous Windows 10, CryptReleaseContext nettoie la mémoire (et donc cette technique de récupération ne fonctionnera pas) », prévient-il sur GitHub.

Ces travaux réalisés par Benjamin Delpy et Adrien Guinet, qui ont pu s’appuyer sur des coups de main venus d’autres bidouilleurs, que ce soit pour repérer le comportement de certaines fonctions ou obtenir différents éléments techniques pour leur recherche, sont encourageants. Mais il faudra encore du travail pour élaborer un outil facile à prendre en main et capable de contrer WannaCrypt sur n’importe quelle plateforme.

Reste à savoir qui y arrivera en premier. Outre les deux Français, de nombreux hackers sont à pied d’œuvre. Comme une multitude d’entreprises spécialisées en sécurité informatique.


Vous voulez tout savoir sur la mobilité de demain, des voitures électriques aux VAE ? Abonnez-vous dès maintenant à notre newsletter Watt Else !