TDL (chargeur de pilote Turla)
Chargeur de pilote pour contourner l'application de la signature du pilote Windows x64
Pour plus d'informations, voir
- Vaincre X64 Driver Signature Enforcement http://www.kernelmode.info/forum/viewtopic.php?f=11&t=3322
- Winnt / turla http://www.kernelmode.info/forum/viewtopic.php?f=16&t=3193
Exigences et limitations du système
- X64 Windows 7/8 / 8.1 / 10.
- TDL conçu uniquement pour les fenêtres x64, Vista non répertoriée comme prise en charge car elle est obsolète.
- Le privilège administratif est requis.
- Les pilotes chargés doivent être spécialement conçus pour fonctionner comme "sans conducteur".
- Aucune prise en charge SEH pour les pilotes cibles.
- Pas de déchargement du pilote.
- Seule la ntoskrnl importation résolue, tout le reste dépend de vous.
- Exemples de conducteur factice fourni.
Vous l'utilisez à vos risques et périls. Certains AV paresseux peuvent signaler ce chargeur sous forme de logiciels malveillants.
Différences entre DSEFIX et TDL
Alors que DSEFIX et TDL utilisent l'avantage de l'exploit de pilote, ils sont complètement différents à l'utilisation de l'informatique.
- DSEFIX manipule la variable du noyau appelé g_ciéNable (Vista / 7, ntoskrnl.exe) et / ou g_cioptions (8+. Ci.dll). L'avantage principal de DSEFIX est sa simplicité - vous éteignez DSE - Chargez votre pilote (ou corrigé) et rien d'autre ne requis. L'inconvénient principal de DSEFIX est que sur la version moderne de la variable Windows (8+) G_CIOPTIONS est l'objet de la protection PatchGuard (KPP), qui signifie que DSEFIX est un Generator BSOD potentiel.
- TDL ne corrige aucune variable du noyau, ce qui le rend amical pour PatchGuard. Il utilise un petit shellcode qui mappe votre pilote en mode noyau sans impliquer le chargeur Windows (et en résultat sans déclencher aucune partie de DSE) et l'exécute. C'est le principal avantage de TDL - contournement non invasif de DSE. Il existe cependant de nombreux inconvénients - le premier et le principal -> Votre pilote doit être spécialement créé pour s'exécuter en tant que "sans conducteur", ce qui signifie que vous ne pourrez charger aucun pilote mais uniquement conçu. Votre pilote existera en mode noyau en tant que tampon de code exécutable, il ne sera pas lié à PsloadELDMODULELIST, il y aura d'autres limitations. Cependant, ce code fonctionnera en mode noyau et en mode utilisateur l'application pourra communiquer avec elle. Vous pouvez charger plusieurs pilotes, bien sûr s'ils ne sont pas en conflit les uns avec les autres.
Comment ça marche
Il utilise la technique d'exploitation du mode du noyau Winnt / Turla VirtualBox pour écrire du code dans la mémoire du noyau et après avoir exécuté ce code. TDL utilise Shellcode Bootstrap personnalisé pour cartographier votre pilote spécialement conçu et l'appeler Point d'entrée (DriverEntry), notez que les paramètres de conduite ne seront pas valides et ne doivent pas être utilisés. Exemples de pilotes spécialement conçus disponibles sous forme de mannequin et mandemdrv2. Votre chauffeur fonctionnera sur irql passive_level jusqu'à Windows 10 RS1. À partir de Windows 10 RS2, votre code de pilote s'exécute sur IRQL Dispatch_Level.
Construire
TDL est livré avec du code source complet. Afin de construire à partir de Source, vous avez besoin de versions Microsoft Visual Studio 2015 et ultérieures. Pour les versions de pilote, vous avez besoin de Microsoft Windows Driver Kit 8.1 et / ou supérieur.
Instructions
- Sélectionnez First Toolst First pour le projet en solution que vous souhaitez créer (Project-> Propriétés-> Général):
- V120 pour Visual Studio 2013;
- V140 pour Visual Studio 2015;
- V141 pour Visual Studio 2017.
- Pour V140 et au-dessus, définissez la version de la plate-forme cible (Project-> Propriétés-> Général):
- Si v140, sélectionnez 8.1 (notez que le SDK Windows 8.1 doit être installé);
- Si V141, sélectionnez 10.0.17763.0 (Notez que Windows 10.0.17763 SDK doit être installé).
Supprimez l'option de liaison / NOCOFFGRPINFO où il n'est pas pris en charge / indisponible.
Désapprobation
TDL basé sur l'ancien pilote Oracle VirtualBox qui a été créé en 2008. Ce pilote n'a pas été conçu pour être compatible avec les dernières versions du système de fonctionnement Windows et peut fonctionner de manière incorrecte. Parce que TDL entièrement basé sur cette version exacte du pilote VirtualBox LPE, il n'est pas sage de l'utiliser sur la dernière version de Windows. Considérez ce référentiel comme dépouratif / abandon. Les seules mises à jour possibles ne peuvent être liées qu'au chargeur TDL lui-même.
Auteurs
(c) 2016 - 2019 Projet TDL
Crédits