Dans un précédent article, d’il y a quelques jours, nous avions abordés les rootkits.
Le fonctionnement et leurs histoires : Les rootkits sur Windows : le fonctionnement, détection et suppression
Il était notamment indiqué que le nouveau système UEFI protégeait des anciens bootkits.
Ainsi ces derniers ne fonctionnaient qu’en MBR.
Cela obligeait les cybercriminels a réécrire de nouveaux rootkits et contourner les nouvelles protections UEFI (Secure Boot, etc).
Quelques jours après cet article, ESET publie une étude avec un PDF très détaillé sur la découverte du premier rootkit UEFI.
Ce dernier était en liberté et utilisait dans des campagnes de compromissions.
Voici quelques explications autour de Lojax le premier rootkit UEFI.
Table des matières
Lojax : le premier rootkit UEFI
Ce malware est utilisé pour des attaques ciblées par le groupe Sednit.
Ce groupe est à l’origine des attaques contre le Democratic National Committee (DNC) avant les élections aux USA de 2016.
On estime aussi qu’il est lié aux piratage de TV5Monde, et la récupération d’email de l’Agence mondiale anti-dopage.
ESET indique avoir trouvé le premier rootkit UEFI utilisé par ce groupe.
Cela signifie que les cybercriminels ont pu modifier des BIOS UEFI pour assurer une persistance de l’attaque et permettre notamment de survivre à la réinstallation de Windows.
Ce rootkit sert à charger d’autres malwares lors du démarrage de Windows et notamment le malware LoJax dans des attaques contre des organisations gouvernementales dans les Balkans ainsi qu’en Europe centrale et orientale.
Il faut aussi savoir que l’UEFI apporte des mécanismes de protection contre les bootkit.
Notamment à travers le Secure boot qui interdit l’exécution de code inconnus au démarrage du PC.
J’en parle dans cet article :
Enfin l’article suivant décrit les autres mesures de sécurité incluses dans l’UEFI contre les malwares.
Lokaj et Lojak computrace
Il existe un article sur le site à propos de Lojak : Computrace Lojak : le mouchard sur laptop
Initialement, il s’agit d’un logiciel installé par défaut sur certains ordinateurs d’assembleur qui permet de suivre et retrouver son ordinateur en cas de vol.
Pour que l’application soit efficace, il faut qu’elle résiste au formatage et réinstallation de l’OS.
Pour se faire, Computrace Lojak est préinstallée dans le micrologiciel d’un grand nombre d’ordinateurs portables fabriqués par différents OEMs.
Le propriétaire peut activée la protection et si son ordinateur est volé, il pourra alors le localiser.
Les cybercriminels ont détournés ce logiciel pour le faire communiquer avec des serveurs de contrôle et en faire un Trojan.
En Mai 2018, Arbornetwork avait publié la découverte de ces versions modifiées.
Le fonctionnement du rootkit UEFI
Ce rootkit UEFI a pour but de modifier le chargement de Windows afin de permettre l’activation et le chargement d’autre malware.
Plusieurs étapes ont donc lieu pour infecter et installer le rootkit puis dans le processus de chargement de Windows.
Installer le rootkit UEFI
Plusieurs outils sont utilisés pour installer le rootkit Lojax :
Un premier outil nfo_efi.exe qui permet d’accéder et modifier les informations du BIOS UEFI. Ce dernier utilise le driver RwDrv.sys provenant de l’utilitaire RWEverything est en partie utilisé pour cela.
Le but étant de récupérer un maximum d’informations sur la configuration du BIOS UEFI et matériel étant donné que les configurations matérielles diffèrent d’un assembleur à l’autre.
Cela permet notamment de trouver des vulnérabilités sur le BIOS de l’ordinateur.
Deux autres outils sont ensuite utilisés pour lire et modifier la mémoire Flash de l’ordinateur.
Là aussi ces deux outils utilisent le pilote RwDrv.sys du logiciel RWEverything.
Notamment le premier outil vérifie si certaines protections du BIOS sont actives comme BIOS Lock Enable (BLE), BIOS Write Enable (BIOSWE) et SMM BIOS Write Protect Disable (SMM_BWP).
Si ces protections ne sont pas présentes ou actives alors la corruption et l’installation d’une version trojan du BIOS UEFI est possible.
C’est la mission du dernier outil qui est capable d’écrire une copie du BIOS UEFI puis de la modifier et enfin l’injecter dans la mémoire flash de l’ordinateur.
Injecter le processus de démarrage de Windows
Une fois le rootkit UEFI en place, ce dernier va pouvoir compromettre le chargement de Windows afin de rendre un malware actif.
Poru se faire, le rootkit embarque un pilote SecDxe capable d’écrire dans une partition NTFS.
Ce dernier écrit deux fichiers rpcnetp.exe et autoche.exe sur la partition système de Windows.
Puis le pilote SecDxe accès au registre Windows par les ruches %WINDIR%\System32\config\SYSTEM
Le but étant de modifier la clé du registre : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute
La valeur autocheck autochk * est modifiée en autocheck autoche *, ce qui aura pour but de charger le malware autoche.exe
autoche.exe va ensuite exécuter le malware final rpcnetp.exe.
Enfin la clé BootExecute est restaurée à sa valeur d’origine afin qu’aucune trace d’infection ne soit présente.
Enfin rpcnetp.exe se charge en DLL et lance une instance de svchost.exe pour injecter ce dernier.
Pour terminer iexplore.exe est aussi exécuté et injecter par le malware.
Les deux processus peuvent alors être utilisé pour communiquer avec le serveur de contrôle.
Il s’agit ici d’un comportement classique de logiciel malveillant, plus d’informations :
Contre mesure et protections contre le rootkit UEFI
Les utilisateurs qui peuvent lire cet article peuvent comme d’habitude se mettre à paniquer et scanne leurs ordinateurs dans tous les sens avec des outils inutiles (AdwCleaner, ZHPCleaner, etc).
Quelques rappels tout de même concernant ce rootkit UEFI pour minimiser sa portée :
- Pour le moment, le rootkit UEFI n’a été vue que dans des attaques ciblées par un groupe précis qui visent des organisations souvent gouvernementales.
- La modification du BIOS n’est possible que si certaines protections du BIOS ne sont pas actives. C’est souvent le cas sur des ordinateurs un peu plus anciens. Par exemple les chipset Intel Series 5 ne sont pas vulnérables.
- Le rootkit utilise une version non signée de l’UEFI. Si le Secure Boot est activé, le rootkit UEFI ne pourra se charger. C’est pour cela qu’il n’est pas recommandé de désactiver le Secure Boot.
- La réinstallation du BIOS depuis le firmware de l’assembleur supprime le rootkit. Il est bien entendu recommandé de maintenir son BIOS à jour. Plus d’informations : Comment mettre à jour le BIOS (Flasher le BIOS)
En résumé et comme il avait été indiqué sur la page des rootkits, ces derniers embarquent beaucoup de contre-mesures qui rend l’installation de rootkit UEFI peu évidentes contrairement à la génération BIOS hérité.
Des vulnérabilités spécifiques à certains BIOS ou Chipset peuvent toutefois aider.