Making Vulnerable Drivers Exploitable Without Hardware - The BYOVD Perspective

2 minute de lecture

Mis à jour :

Exploitation des Pilotes Vulnérables sans Matériel (BYOVD)

L’article explore les méthodes permettant d’exploiter des vulnérabilités au sein de pilotes Windows, même lorsque le matériel associé n’est pas physiquement présent sur la machine. Cette recherche se concentre sur les attaques de type BYOVD (Bring Your Own Vulnerable Driver), où des attaquants utilisent des pilotes légitimes mais vulnérables pour contourner les mécanismes de sécurité du noyau, comme les EDR.

Points Clés

  • Accessibilité via les Objets de Périphérique : La surface d’attaque principale réside dans les objets de périphérique (Device Objects). Si le pilote ne crée pas ces objets, ou si la logique interne empêche l’exécution du code vulnérable (ex: vérification matérielle), le pilote est difficile à exploiter.
  • Le Rôle du Gestionnaire PnP : L’initialisation des pilotes PnP (Plug and Play) repose sur la routine AddDevice. Cette routine n’est exécutée que lorsque le gestionnaire PnP détecte un nœud de périphérique correspondant.
  • Techniques de Déploiement :
    • Simple : L’usage de sc.exe suffit pour les pilotes ne dépendant pas du PnP.
    • Avancé (Spoofing) : L’utilisation de devcon.exe ou de l’API Software Device permet de créer des périphériques “fantômes” avec des identifiants matériels (Hardware IDs) usurpés, forçant le chargement du pilote et l’exécution de AddDevice.
    • Manipulation de Registre : Il est possible de lier manuellement un pilote à un périphérique existant ou de le charger via les clés UpperFilters ou LowerFilters, contournant ainsi les limitations liées aux fichiers INF/CAT.

Vulnérabilités

Bien qu’aucune CVE spécifique ne soit citée, l’article souligne que toute vulnérabilité de type Escalade de Privilèges Locale (LPE) ou corruption mémoire dans un pilote noyau est un candidat potentiel pour le BYOVD si elle peut être atteinte via les méthodes de déploiement décrites. La dangerosité dépend de la capacité de l’attaquant à atteindre le code vulnérable en simulant un environnement matériel favorable.

Recommandations pour la Défense

  • Surveillance Forensique : Détecter les traces liées aux techniques de déploiement manuel :
    • Création suspecte de nouveaux services de pilotes (sc.exe).
    • Utilisation inhabituelle de devcon.exe ou d’outils manipulant les objets de périphérique.
    • Modifications des clés de registre liées aux classes de périphériques (UpperFilters/LowerFilters).
  • Renforcement : La suppression de la confiance pour les pilotes signés de manière croisée par Microsoft réduira progressivement le nombre de pilotes vulnérables exploitables.
  • Audit des Pilotes : Évaluer les pilotes installés dans l’environnement. Si un pilote nécessite un matériel spécifique mais que celui-ci n’est pas présent, sa présence sur le système doit être considérée comme une anomalie ou une surface d’attaque inutile.

Source