BlackLotus, premier bootkit connu à pouvoir contourner toutes les protections de Windows 11

BlackLotus, premier bootkit connu à pouvoir contourner toutes les protections de Windows 11

Une « simple » question de liste

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

02/03/2023 6 minutes
20

BlackLotus, premier bootkit connu à pouvoir contourner toutes les protections de Windows 11

Microsoft avait largement communiqué au lancement de Windows 11 sur la sécurité renforcée. Cette dernière est cependant mise à mal par le premier bootkit connu à pouvoir passer toutes ses défenses – y compris le Secure Boot – dans le but d’introduire une charge virale.

BlackLotus est un bootkit dont les premières détections ont été faites par le chercheur en sécurité Sergey Lozhkin de chez Kaspersky, en octobre dernier. Mais de l’avis d’ESET, qui vient de publier un article dédié, cette nouvelle version représente un grand bond en avant « en termes de facilité d’utilisation, de mise à l’échelle, d’accessibilité et, surtout, de potentiel pour un impact beaucoup plus important en matière de persistance, d’évasion et de destruction ».

Le danger vient également de son prix, car BlackLotus est vendu à peine 5 000 dollars sur certains sites spécialisés, auxquels s’ajoutent 200 dollars pour chaque version ultérieure. Pour ce tarif, les possibilités offertes sont nombreuses.

Ce que sait faire BlackLotus

BlackLotus est un bootkit, c’est-à-dire un morceau de code ayant la capacité de s’installer très tôt dans la chaine de démarrage de l’ordinateur. Si tôt qu’il peut se charger avant même la grande majorité des sécurités, y compris le Secure Boot, qui a justement pour objectif de valider l’intégrité des différents éléments de la chaine.

Son objectif premier est d’exploiter la vulnérabilité CVE-2022-21894, nommée aussi Baton Drop. Cette faille a été corrigée par Microsoft il y a plus d’un an (en janvier 2022). En cas d’exploitation réussie, il installe un pilote en espace noyau et un téléchargeur HTTP dont le rôle est de communiquer avec un serveur command-and-control (C2) pour recevoir des instructions.

Une fois en place, il écrit des fichiers dans la partition EFI système et provoque un redémarrage de l’ordinateur. De là, BlackLotus peut contourner toutes les dernières défenses ajoutées dans Windows, y compris BitLocker, Windows Defender et même Hypervisor-protected Code Integrity (HVCI), dont le rôle est justement de s’assurer qu’aucun pilote non-signé ne s’exécute en espace noyau. La faille est alors transformée en « arme » et exploitée par le pilote en espace noyau pour atteindre la persistance.

À ce moment-là, le système est infecté et les commandes du serveur C2 peuvent arriver. Le téléchargeur – qui s’introduit dans winlogin.exe – va récupérer la charge virale correspondant aux besoins des pirates et le bootkit peut être supprimé pour minimiser les traces. Les fichiers téléchargés peuvent être de n’importe quel type, comme un autre pilote en espace noyau, une DLL ou encore un exécutable plus classique.

BlackLotus possède des défenses contre les antivirus et les outils de débogage, ainsi que des techniques d’obscurcissement. Les fichiers inscrits dans la partition EFI ne peuvent pas être retirés sans provoquer un écran bleu. Rien d’incroyable cependant selon ESET, car ces défenses peuvent être facilement contournées avec « peu d’efforts ».

Détails et mystères

BlackLotus pèse environ 80 Ko et est constitué de code en assembleur et en C. Point intéressant, noté par ESET, il dispose de capacités de géorepérage pour éviter d’infecter des machines situées en Arménie, au Bélarus, au Kazakhstan, en Moldavie, en Roumanie, en Russie et en Ukraine.

Selon la société de sécurité, on ne sait pas encore comment BlackLotus est installé sur une machine en premier lieu. On suppose qu’il est envoyé par des moyens traditionnels, potentiellement pendant des campagnes de harponnage, c’est-à-dire d’hameçonnage très ciblé.

Le constat n’en est pas moins là : BlackLotus est capable de s’exécuter correctement sur un Windows 11 disposant des dernières mises à jour et avec toutes les protections activées.

Comment une telle exploitation est-elle possible, puisque la faille CVE-2022-21894 a été corrigée il y a plus d’un an ? C’est tout le problème de l’infrastructure du Secure Boot, selon ESET. BlackLotus s’installe en effet avec une signature authentique et est donc reconnu comme élément légitime de la chaine de démarrage.

En outre, le bootkit télécharge les anciennes versions des fichiers concernés et possédant encore la faille. Problème, ces fichiers n’ont pas été inscrits sur la liste de révocation UEFI, permettant l’exploitation de la vulnérabilité sans que le système trouve à y redire. Toujours selon ESET d’ailleurs, un POC (proof-of-concept) était apparu dès août 2022. Au vu des premières détections de BlackLotus quelques mois plus tard, il est probable que les pirates aient repris ce POC en ne l’adaptant que légèrement pour leurs besoins.

Dès lors, pourquoi cette révocation prend-elle du temps ? Parce qu’on ne peut pas interdire aussi simplement des fichiers potentiellement encore utilisés par de très nombreuses machines, au risque de provoquer divers plantages chez de nombreuses personnes. La période de contrôle prend du temps, et les mises à jour de la liste de révocation sont fournies avec les correctifs mensuels de sécurité par Microsoft.

Pas 36 solutions

Il n’y a guère de solution efficace pour supprimer BlackLotus d’un système, en dehors de la réinstallation complète de Windows après formatage. Mieux vaut donc prévenir que guérir, en s’assurant déjà que l’on utilise un système à jour et un antivirus disposant de sa dernière base pour détecter BlackLotus avant qu’il puisse entrer en action.

On ignore son mode de distribution, mais on peut répéter une nouvelle fois le conseil élémentaire en matière de sécurité : ne pas lancer un exécutable dont on n’est pas certain qu’il provient d’une source authentique.

Pour ESET cependant, ce n’était qu’une question de temps avant qu’un logiciel malveillant soit capable de profiter de toutes les craquelures signalées dans Secure Boot.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Ce que sait faire BlackLotus

Détails et mystères

Pas 36 solutions

Fermer

Commentaires (20)


Je comprends la problématique, mais il est un peu con leur système. Pourquoi ils ne font pas des listes de révocations dédiées à chaque version ?


Il n y pas encore d outil de détection disponible? Si la solution radicale de refomattage et réinstallation existe, pour les machines a plusieurs comptes dont on ne maitrise pas ce que les autres font on devrait tout mettre sur un nuages et juste régulièrement formater « juste au cas ou » ?
Je suis un peu inquiet du papy et qui a tendance a cliquer sur tout et n importe quoi ( y compris le mien qui accepte l install de W11 que je lui avait dit de ne pas faire à l’époque)



marba a dit:


Je comprends la problématique, mais il est un peu con leur système. Pourquoi ils ne font pas des listes de révocations dédiées à chaque version ?




Secure Boot (et donc la liste de révocation) fonctionne au niveau de l’UEFI. Je suppose que le risque c’est que tu mettes à jour la liste, puis plus tard tu restores une ancienne version de Windows et ton système ne démarre plus.



On ignore son mode de distribution, mais on peut répéter une nouvelle fois le conseil élémentaire en matière de sécurité : ne pas lancer un exécutable dont on n’est pas certain qu’il provient d’une source authentique.



BlackLotus s’installe en effet avec une signature authentique et est donc reconnu comme élément légitime de la chaine de démarrage.




Comment on fait pour savoir que la source est authentique si on ne peut pas faire confiance à la signature ?



A moins que “source” signifie URL du site web d’où l’on a téléchargé le programme ?



MsGambit a dit:


Il n y pas encore d outil de détection disponible? Si la solution radicale de refomattage et réinstallation existe, pour les machines a plusieurs comptes dont on ne maitrise pas ce que les autres font on devrait tout mettre sur un nuages et juste régulièrement formater « juste au cas ou » ?




Dans la stratégie Zero Trust, il y a une partie que les gens ont tendance à oublier : Assume Breach. Oui, tous les systèmes peuvent être compromis, moyennant l’effort.
Un poste de travail, surtout partagé, doit être traité comme un asset sacrifiable en cas de crise, et pouvoir être reconstruit facilement. Même avec les bonnes solutions de sécurité, l’hygiène qui va bien, et ce genre de choses, on n’est pas à l’abri d’une perte de données, volontaire ou non.
On ne le répètera jamais assez, ce qui existe uniquement en local n’existe pas.




Je suis un peu inquiet du papy et qui a tendance a cliquer sur tout et n importe quoi ( y compris le mien qui accepte l install de W11 que je lui avait dit de ne pas faire à l’époque)




Je doute que ce genre d’attaques vise des particuliers, très honnêtement. Mais sinon, oui c’est un risque, et certaines technologies grand public (permise par le compte MS comme OneDrive/MS Store) permettent de mitiger les impacts.



Sinon, l’article est un peu alarmiste sur un PoC d’une attaque, honnêtement. D’un point de vue entreprise, on a des IoCs de disponibles, on connait toute (à date) la cinématique MITRE ATT&CK associée et donc on est capable d’y mapper les solutions de sécurité qui vont bien pour bloquer ça, et si on ne connait pas la façon de compromettre une machine, c’est très vraisemblablement via une machine à laquelle on a déjà accès … Rien qui ne soit bloqué par un bon système de sécurité, de type xDR.


Si c’est utilisé pour fabriquer une armée de machines à DOS (vu la géolocalisation c’est le plus plausible selon moi) et qu’il est possible d’injecter des instructions à l’avance dans les windows infectés via leur outil de téléchargement à un niveau aussi bas du système je vois mal quel équipement de sécurité anticipera l’attaque. xDR c’est pour protéger une infra de l’extérieur, là c’est l’extérieur qu’il faut protéger de l’infra…


yvan

Si c’est utilisé pour fabriquer une armée de machines à DOS (vu la géolocalisation c’est le plus plausible selon moi) et qu’il est possible d’injecter des instructions à l’avance dans les windows infectés via leur outil de téléchargement à un niveau aussi bas du système je vois mal quel équipement de sécurité anticipera l’attaque. xDR c’est pour protéger une infra de l’extérieur, là c’est l’extérieur qu’il faut protéger de l’infra…


Avant même que les machines soient compromises, et que l’attaque se propage de manière horizontale, et donc de devoir protéger “de l’extérieur”, il y a tout un ensemble de technos qui peuvent limiter/réduire ce risque de compromission initiale, et ça c’est le travail de l’xDR.



Quand bien même, si le but est juste de faire une armée de DDOS, ça ne sera pas la menace la plus complexe à bloquer, très honnêtement.


Myifee

Avant même que les machines soient compromises, et que l’attaque se propage de manière horizontale, et donc de devoir protéger “de l’extérieur”, il y a tout un ensemble de technos qui peuvent limiter/réduire ce risque de compromission initiale, et ça c’est le travail de l’xDR.



Quand bien même, si le but est juste de faire une armée de DDOS, ça ne sera pas la menace la plus complexe à bloquer, très honnêtement.


Je ne suis pas expert en sécurité mais à ma connaissance même si la mode ces dernières années était au chiffrement des données locales il y a toujours des attaques par déni de service qui tournent et qui passent et qui “éteignent” des infras entières pendant plusieurs heures parfois.



Microsoft avait fait un effort de transparence là dessus il y a quelques années en parlant de l’exploitation d’Azure et ça n’a pas l’air trivial du tout à gérer. A cause du nombre (c’est Microsoft, grosse cible), et à cause de la diversité de points d’entrée des infras modernes.



Considérant la fréquence des machines clientes windows sur les réseaux avec beaucoup de débit, l’article est “alarmiste” à raison je dirais.


yvan

Je ne suis pas expert en sécurité mais à ma connaissance même si la mode ces dernières années était au chiffrement des données locales il y a toujours des attaques par déni de service qui tournent et qui passent et qui “éteignent” des infras entières pendant plusieurs heures parfois.



Microsoft avait fait un effort de transparence là dessus il y a quelques années en parlant de l’exploitation d’Azure et ça n’a pas l’air trivial du tout à gérer. A cause du nombre (c’est Microsoft, grosse cible), et à cause de la diversité de points d’entrée des infras modernes.



Considérant la fréquence des machines clientes windows sur les réseaux avec beaucoup de débit, l’article est “alarmiste” à raison je dirais.


Justement, je connais bien les problématiques dont tu parles :)



à date, on parle de machine dont le vecteur de compromission initial est très certainement une infection via une première infection, qui peut être détectée par un EPP (cf l’article d’ESET) :




After an initial assessment, code patterns found in the samples brought us to the discovery of six BlackLotus installers (both on VirusTotal and in our own telemetry).




Et ça, c’est accessible au grand publique, pour limiter une compromission à la maison.



M’enfin, vu la complexité de la technique, on est plus proche de l’esprit des 0 day, qui sont utilisées pour cibler des cibles précises.
Pour la partie Enterprise, en complément, on a toute une liste d’IoC qui permettent de détecter automatiquement les compromissions pour isoler/remédier/whatever la machine.



Actuellement, c’est “juste” un vecteur d’infection (et encore, c’est plutôt un démonstrateur), pour une attaque en 3 étapes (compromission tierce, le PoC BlackLotus, et une charge virale qui dépendra de ce que l’attaquant veut faire). Si c’est du DDOS, avec toutes les protections anti-DDOS qui existent un peu partout, ce n’est clairement pas le truc qui m’inquiète le plus.



N’oubliez pas que lors de la “dernière grande attaque” avec Wannacry, il n’a fallu que quelques heures pour bloquer la propagation et l’exécution du virus, et on avait pas des outils aussi puissants ni aussi déployés.



KooKiz a dit:


Secure Boot (et donc la liste de révocation) fonctionne au niveau de l’UEFI. Je suppose que le risque c’est que tu mettes à jour la liste, puis plus tard tu restores une ancienne version de Windows et ton système ne démarre plus.




On ne devrait pas pouvoir restaurer une “ancienne” version de Windows donc.



Myifee a dit:


N’oubliez pas que lors de la “dernière grande attaque” avec Wannacry, il n’a fallu que quelques heures pour bloquer la propagation et l’exécution du virus, et on avait pas des outils aussi puissants ni aussi déployés.




Si un kill switch est découvert, comme ce fut le cas avec wannacry, alors oui l’arrêt de l’attaque peut aller très vite.


Yes, et vu la typologie de l’attaque en 3 temps, je pense que la charge virale finale sera forcément d’une moins bonne qualité que ne le pourrait être ce rootkit. Les attaquants vont faire une charge plus ou moins custom pour leur attaque, avec des connaissances moindres et surtout un rationnel d’investissement (qualité du code, vitesse de création, process de test sur des attaques réelles …) qui -jusqu’à présent- nous aide toujours dans ce genre de situation.



Ce qui serait inquiétant, ça serait que l’installation de ce rootkit soit hors radar EDR/SIEM, et qu’on ne puisse la détecter que s’il est trop tard.


En cas d’exploitation réussie, il installe un pilote en espace noyau et un téléchargeur HTTP dont le rôle est de communiquer avec un serveur command-and-control (C2) pour recevoir des instructions.



Il doit se lancer en admin au départ, si ce n’est pas le cas ça serait toujours possible de bypasser l’UAC d’après l’article d’ESET en utilisant cette méthode : https://github.com/hfiref0x/UACME/issues/111


Bref si je comprends bien, Microsoft a fait il y a un an et demi un gros doigt d’honneur à l’environnement et au bon sens en contraignant chacun à renouveller leur matériel afin qu’il puisse faire des écono… pardon, afin « d’améliorer la sécurité » sur le nouveau Windows, et ceci est le résultat final ?



Mouais………… Mouais.



Il va falloir que j’augmente la consommation de :fumer:


Ce n’est pas le résultat. Windows 11 a plus de sécurités que les versions précédentes, et ce bootkit arrive à toutes les contourner. Il a donc encore moins de problèmes à le faire avec les versions antérieures.



TheKillerOfComputer a dit:


pardon, afin « d’améliorer la sécurité » sur le nouveau Windows, et ceci est le résultat final ?




Ça dépend quand même d’une faille corrigée il y a un an



TheKillerOfComputer a dit:


en contraignant chacun à renouveller leur matériel afin qu’il puisse faire des écono… pardon, afin « d’améliorer la sécurité » sur le nouveau Windows, et ceci est le résultat final ?




Parce que tu changes ton PC quand un nouveau Windows sort alors que le support de la mouture précédente continue pendant encore quelques années ?
Si c’est le cas, c’est pas le comportement de Microsoft qu’il faut remettre en question :D


éviter d’infecter des machines situées en Arménie, au Biélarus, au Kazakhstan,
en Moldavie, en Roumanie, en Russie et en Ukraine.



”- d’où ça peut, bien, venir” ? :francais:


au vu de la situation entre les pays aujourd’hui, difficile d’accuser la Russie ou l’Ukraine. Si les machines sont évitées, c’est peut-être parce-que les IPs de ces pays sont relativement faciles à filtrer, et le sont sans doute assez régulièrement (je pense notamment aux machines zombies qui sont utilisées pour lancer des DDOS)


J vais poser une question bête mais est-ce que c’est pas contradictoire du coup ?




BlackLotus est capable de s’exécuter correctement sur un Windows 11 disposant des dernières mises à jour et avec toutes les protections activées.



Mieux vaut donc prévenir que guérir, en s’assurant déjà que l’on utilise un système à jour et un antivirus disposant de sa dernière base pour détecter BlackLotus avant qu’il puisse entrer en action.




(en considérant que parmi toutes les protections de Windows 11, il y a quand même l’antivirus)