Des malwares sur WSL : la menace devient tangible

WSL malware

Des chercheurs attirent l’attention sur des exécutables capables de remonter de WSL vers le système hôte en utilisant des API Windows.

WSL, une porte d’entrée supplémentaire sur Windows 10 pour les malwares ? On en a eu la démonstration par le passé. Entre autres sous l’impulsion de Check Point. L’éditeur américain avait développé un PoC fondé sur l’exécution d’ELF malveillants. Microsoft avait tempéré l’annonce, notamment du fait que son sous-système Linux n’était pas encore activé par défaut.

Cet argument ne tient plus désormais. La « méthode ELF », elle, est toujours d’actualité. Mais avec d’autres ressorts. En tout cas d’après les échantillons que Black Lotus Labs a découverts entre mai et août derniers.

Sur cet intervalle, leur composition a évolué. On en est arrivé à du code Python capable d’utiliser la bibliothèque ctypes pour faire appel à des API Windows. Et ainsi allouer de la mémoire sur l’hôte, créer une tâche et y injecter une charge utile.

Des victimes en France ?

Dans certains cas, un script PowerShell était aussi impliqué. On aura relevé l’usage des fonctions kill_av(), reverseshell() et windowspersistence(). La première, pour tenter de désactiver des antivirus*. La deuxième, pour bloquer l’exécution de toute autre fonction. La troisième, pour copier l’ELF vers le dossier appdata et assurer sa persistance via une clé de registre.

Les exécutables contenaient parfois la charge malveillante, a priori générée avec des outils comme MSFVenom ou Meterpreter. Sinon, ils la récupéraient sur un serveur. Une IP a été identifiée dans ce cadre. Des machines s’y sont connectées, sur les ports 39000 et 48000. Leur emplacement : notamment l’Équateur… et la France. Il peut s’agir de cibles, mais aussi de simples machines de test via VPN ou proxy. Certains échantillons ne semblaient effectivement pas finalisés – il a fallu les adapter pour en tirer des PoC fonctionnels sur WSL.

* Le taux de détection de ces ELF est quasi nul sur la plate-forme VirusTotal (un échantillon n'est jamais signalé par plus d'un moteur antivirus).