Une faille de la politique de Microsoft Windows a été observée, principalement exploitée par des pirates de langue maternelle chinoise pour falsifier des signatures sur des pilotes en mode noyau.

« Les acteurs exploitent plusieurs outils open source qui modifient la date de signature des pilotes en mode noyau pour charger des pilotes malveillants et non vérifiés signés avec des certificats expirés », a déclaré Cisco Talos dans un rapport exhaustif en deux parties partagé avec The Hacker News. « Il s’agit d’une menace majeure, car l’accès au noyau fournit un accès complet à un système, et donc un compromis total. »

Suite à une divulgation responsable, Microsoft a déclaré avoir pris des mesures pour bloquer tous les certificats afin d’atténuer la menace. Il a en outre déclaré que son enquête avait révélé que « l’activité était limitée à l’abus de plusieurs comptes de programme de développeur et qu’aucun compromis de compte Microsoft n’a été identifié ».

Le géant de la technologie, en plus de suspendre les comptes du programme de développement impliqués dans l’incident, a souligné que les acteurs de la menace avaient déjà obtenu des privilèges administratifs sur les systèmes compromis avant d’utiliser les pilotes.

Il convient de souligner que le fabricant de Windows avait déployé des protections de blocage similaires en décembre 2022 pour empêcher les attaquants de ransomwares d’utiliser des pilotes signés Microsoft pour les activités de post-exploitation.

L’application de la signature du pilote, qui exige que les pilotes en mode noyau soient signés numériquement avec un certificat du portail de développement de Microsoft, est une ligne de défense cruciale contre les pilotes malveillants, qui pourraient être potentiellement utilisés pour échapper aux solutions de sécurité, altérer les processus système et maintenir la persistance. .

La nouvelle faiblesse découverte par Cisco Talos permet de forger des signatures sur les pilotes en mode noyau, permettant ainsi de contourner les politiques de certificat Windows.

Cela est rendu possible grâce à une exception créée par Microsoft pour maintenir la compatibilité, qui autorise les pilotes à signature croisée s’ils ont été « signés avec un certificat d’entité finale émis avant le 29 juillet 2015 qui se connecte à un certificat à signature croisée pris en charge. [certificate authority]. »

« La troisième exception crée une faille qui permet à un pilote nouvellement compilé d’être signé avec des certificats non révoqués émis avant ou expirés avant le 29 juillet 2015, à condition que le certificat soit lié à une autorité de certification à signature croisée prise en charge », a déclaré la société de cybersécurité. a dit.

Par conséquent, un pilote signé de cette manière ne sera pas empêché d’être chargé sur un appareil Windows, permettant ainsi aux pirates de profiter de la clause d’échappement pour déployer des milliers de pilotes malveillants signés sans les soumettre à Microsoft pour vérification.

Ces pilotes escrocs sont déployés à l’aide de logiciels de falsification d’horodatage de signature tels que HookSignTool et FuckCertVerifyTimeValidity, qui sont accessibles au public depuis 2019 et 2018, respectivement.

HookSignTool est accessible via GitHub depuis le 7 janvier 2020, tandis que FuckCertVerifyTimeValidity a été engagé pour la première fois dans le service d’hébergement de code le 14 décembre 2018.

Signatures de pilote en mode noyau

« HookSignTool est un outil de falsification de signature de pilote qui modifie la date de signature d’un pilote pendant le processus de signature en combinant l’accrochage à l’API Windows et la modification manuelle de la table d’importation d’un outil de signature de code légitime », a expliqué Cisco Talos.

Plus précisément, il s’agit de se connecter à la fonction CertVerifyTimeValidity, qui vérifie la validité temporelle d’un certificat, pour modifier l’horodatage de signature lors de l’exécution.

« Ce petit projet empêche le signtool de vérifier [sic] validité de l’heure du certificat et vous permet de signer votre bac avec un certificat obsolète sans modifier manuellement l’heure du système », indique la page GitHub pour FuckCertVerifyTimeValidity.

« Il installe le hook dans crypt32!CertVerifyTimeValidity et le renvoie toujours 0 et fait en sorte que kernel32!GetLocalTime renvoie ce que vous voulez car vous pouvez ajouter « -fuckyear 2011″ à la ligne de commande de signtool pour signer un certificat à partir de l’année 2011. »

Cela dit, réussir une contrefaçon nécessite un certificat de signature de code non révoqué qui a été émis avant le 29 juillet 2015, ainsi que la clé privée et la phrase de passe du certificat.

Cisco Talos a déclaré avoir découvert plus d’une douzaine de certificats de signature de code avec des clés et des mots de passe contenus dans un fichier PFX hébergé sur GitHub dans un référentiel fourchu de FuckCertVerifyTimeValidity. On ne sait pas immédiatement comment ces certificats ont été obtenus.

De plus, il a été observé que HookSignTool a été utilisé pour signer à nouveau des pilotes piratés afin de contourner les contrôles d’intégrité de la gestion des droits numériques (DRM), un acteur nommé « Juno_Jr » publiant une version piratée de PrimoCache, une solution de mise en cache logicielle légitime. , dans un forum de cracking de logiciels chinois le 9 novembre 2022.

« Dans la version crackée […]le pilote corrigé a été re-signé avec un certificat délivré à l’origine à « Shenzhen Luyoudashi Technology Co., Ltd. », qui est contenu dans le fichier PFX sur GitHub », ont déclaré les chercheurs de Talos. « Cette possibilité de démissionner d’un pilote fissuré supprime un obstacle important lors d’une tentative de contournement des contrôles DRM dans un pilote signé. »

Signatures de pilote en mode noyau

Ce n’est pas tout. HookSignTool est également utilisé par un pilote précédemment non documenté identifié comme RedDriver pour falsifier son horodatage de signature. Actif depuis au moins 2021, il fonctionne comme un pirate de navigateur basé sur un pilote qui exploite la plateforme de filtrage Windows (WFP) pour intercepter le trafic du navigateur et le rediriger vers localhost (127.0.0.1).

Le navigateur cible est choisi au hasard dans une liste codée en dur contenant les noms de processus de nombreux navigateurs chinois populaires tels que Liebao, QQ Browser, Sogou et UC Browser, ainsi que Google Chrome, Microsoft Edge et Mozilla Firefox.

« J’ai d’abord trouvé RedDriver lors de mes recherches sur la falsification d’horodatage de certificat sur les pilotes Windows », a déclaré Chris Neal, chercheur en sensibilisation pour Cisco Talos, à The Hacker News. « C’était l’un des premiers échantillons que j’ai rencontrés qui était immédiatement suspect. Ce qui a attiré mon attention, c’est la liste des navigateurs Web stockés dans le fichier RedDriver. »

L’objectif ultime de cette redirection du trafic du navigateur n’est pas clair, même s’il va sans dire qu’une telle capacité pourrait être utilisée à mauvais escient pour altérer le trafic du navigateur au niveau des paquets.

Les chaînes d’infection RedDriver commencent par l’exécution d’un binaire nommé « DnfClientShell32.exe », qui, à son tour, initie des communications cryptées avec un serveur de commande et de contrôle (C2) pour télécharger le pilote malveillant.

« Nous n’avons pas observé la livraison du fichier initial, mais il est très probable que le fichier ait été emballé pour se faire passer pour un fichier de jeu et qu’il ait été hébergé sur un lien de téléchargement malveillant », a déclaré Neal. « La victime a probablement pensé qu’elle téléchargeait un fichier à partir d’une source légitime et a lancé l’exécutable. ‘DNFClient’ est le nom d’un fichier appartenant à ‘Dungeon Fighter Online’ qui est un jeu extrêmement populaire en Chine et communément appelé ‘DNF’. .' »

« RedDriver a probablement été développé par des acteurs hautement qualifiés, car la courbe d’apprentissage pour développer des pilotes malveillants est abrupte », a déclaré Cisco Talos. « Bien que la menace semble cibler les locuteurs natifs chinois, les auteurs sont probablement aussi des locuteurs chinois. »

« Les auteurs ont également démontré une familiarité ou une expérience avec les cycles de développement de logiciels, un autre ensemble de compétences qui nécessite une expérience de développement préalable. »

A lire également