En utilisant les bases de Wannakey, un autre chercheur, Benjamin Delpy, a publié WanaKiwi. Le petit outil fonctionne de Windows XP à Server 2008 R2, en passant par Vista et Windows 7 (qui compte pour 98 % des infections de machines utilisant un outil Kaspersky), en tout cas sur les versions 32 bits. Attention, les conditions sont les mêmes que pour Wannakey : la machine ne doit pas avoir été redémarrée, et l’outil doit être exécuté aussi vite que possible. Son potentiel a été confirmé par Matthieu Suiche.
Une partie des vieilles machines touchées par le ransomware WannaCrypt peut être sauvée de la menace, avec un peu de chance et si elles n’ont pas été redémarrées. La solution partielle vient d’un chercheur français, Adrien Guinet, qui se sert d’une limitation de l’API cryptographique sur l’ancienne version du système.
Depuis maintenant presque une semaine, le monde fait face à la menace de WannaCrypt, aussi appelé régulièrement Wannacry. Il s’agit d’un ransomware réclamant entre 300 et 600 dollars de rançon après avoir accompli son forfait. Il exploite pour cela une faille de Windows et les bases d’un autre malware, tous deux des éléments fournis par les pirates de Shadow Brokers, qui les avaient dérobés à la NSA.
La menace est en partie jugulée, mais il reste encore de nombreuses machines infectées, un nombre croissant de victimes finissant par payer à cause de la peur de perdre des données : WannaCrypt ne laissait que trois jours de délai pour obtempérer. Aucune solution n’était apparue jusqu’à maintenant, mais un chercheur français en a une potentielle pour les vieilles machines sous Windows XP… à condition qu’elles n’aient pas été redémarrées.
Une efficacité partielle
C’est Adrien Guinet qui est à l’origine de ces travaux. Il diffuse sur GitHub un petit programme capable de retrouver la clé de WannaCrypt, afin qu’elle soit ensuite utilisée pour redonner accès aux fichiers.
Comme il l’indique lui-même cependant, l’intérêt de ce programme, nommé Wannakey, est potentiellement limité. Déjà parce que la vague d’assaut initiale de WannaCrypt ne vise pas vraiment Windows XP, même si la faille utilisée – EternalBlue – s’y trouve aussi. Ensuite parce qu’il est impératif que la machine n’ait pas été redémarrée une seule fois depuis son infection. Enfin parce que le programme ne fonctionne pas forcément à tous les coups. Le chercheur Matthieu Suiche, que nous avons interrogé en début de semaine, a par exemple indiqué qu'il n'y était pas arrivé.
Le maniement se fait en ligne de commande en passant par cmd.exe. L’ensemble de la procédure est expliqué dans une note sur le dépôt GitHub du chercheur. Notez que Wannakey lui-même ne déchiffre pas les données, mais qu’Adrien Guinet renvoie vers Wannafork pour cette étape une fois que la clé a été récupérée.
Pourquoi Windows XP uniquement ?
Le fonctionnement – partiel – de Wannakey s’appuie en fait sur une différence de fonctionnement de l’API Cyptographic de Windows. Le malware s’en sert en effet pour l’ensemble des opérations de chiffrement, sans chercher à réinventer la roue donc.
Ce qui a rendu WannaCrypt difficile à combattre jusqu’ici, c’est qu’il jette littéralement la clé RSA de chiffrement après utilisation. L’API de Windows ne garde par ailleurs aucune information en mémoire, pour des questions de sécurité. Sous Windows XP par contre, l’ancienne version de l’interface y laisse des traces, particulièrement les nombres premiers générés pour construire la clé. Wannakey est capable de récupérer ces informations.
Ces traces expliquent également pourquoi le programme ne fonctionnera pas à chaque fois. Non seulement la machine ne doit pas avoir été arrêtée ou redémarrée (vidage mémoire), mais il ne faut pas non plus que les données aient été remplacées par d’autres.
Il reste encore du travail
Le fait est que même si Wannakey peut fonctionner sous Windows XP, la grande majorité des postes touchés sont sur des versions plus récentes du système, où les nombres premiers ne restent pas en mémoire. Adrien Guinet a indiqué continuer à travailler sur le déchiffrement des données et tester sa solution sous Windows 10, mais ce dernier n’offre pour l’instant aucune prise de ce côté-là.
Les conseils en cas d’infection restent toujours les mêmes : ne pas payer la rançon et contacter la gendarmerie. Au vu des éléments apportés par le chercheur, on évitera également de redémarrer la machine, ne, serait-ce que pour garder l’espoir d’une solution plus tard.