voidmap
Un mappeur de pilotes manuel très simple qui exploite CVE-2021-40449 pour exécuter une fonction arbitraire à une adresse donnée avec un seul argument fourni. Il est basé sur un PoC d'exploit CallbackHell. Testé sur Windows 10 Pro For Workstations 1809 17763.379 (64 bits), mais en réalité, tout système de cette époque devrait être pris en charge.
Il fait ce qui suit :
- Désactive SMEP (et éventuellement SMAP) en réécrivant la valeur du registre cr4
- Saute dans du code en mode utilisateur qui mappe manuellement le pilote souhaité
- Réactive SMEP (et éventuellement SMAP)
Il y a deux problèmes principaux avec cette approche :
- Le pilote mappé manuellement sera dans un pool alloué par ExAllocatePool. Si vous souhaitez l'utiliser pour quelque chose de plus sérieux, vous devriez envisager de trouver un meilleur moyen d'allocation mémoire afin qu'il ne puisse pas être dumpé aussi facilement.
- Il n'existe aucun moyen simple de lire la valeur originale de cr4, ce qui signifie que j'ai dû coder en dur la valeur présente sur mon système. Bien qu'elle devrait être la même pour la plupart des processeurs modernes, vous devriez quand même vérifier que la valeur est correcte.
Vidéo :
