TDL (cargador de controladores de Turla)
Cargador de controladores para evitar la aplicación de firma de controlador Windows X64
Para más información ver
- Derrotar la aplicación de la firma del conductor X64 http://www.kernelmode.info/forum/viewtopic.php?f=11&t=3322
- Winnt/Turla http://www.kernelmode.info/forum/viewtopic.php?f=16&t=3193
Requisitos y limitaciones del sistema
- X64 Windows 7/8/8.1/10.
- TDL diseñado solo para Windows X64, Vista no listada como compatible porque es obsoleto.
- Se requiere privilegio administrativo.
- Los controladores cargados deben estar especialmente diseñados para ejecutar como "sin conductor".
- No hay soporte SEH para los controladores objetivo.
- Sin descarga del controlador.
- Solo la importación de Ntoskrnl resuelta, todo lo demás depende de usted.
- Ejemplos de conductor ficticio proporcionados.
Lo usas bajo tu propio riesgo. Algunos perrosas pueden marcar este cargador como malware.
Diferencias entre dsefix y tdl
Mientras que tanto DSEFIX como TDL usan la ventaja de la explotación del controlador, son completamente diferentes en la forma en que se usa.
- DSEFIX Manipule la variable del kernel llamada g_cienable (Vista/7, ntoskrnl.exe) y/o g_cioptions (8+. Ci.dll). La principal ventaja de dsefix es la simplicidad: apague DSE, cargue su controlador (o parcheado) y no se requiere nada más. La principal desventaja de DSEFIX es que en la versión moderna de Windows (8+) G_cioptions Variable está sujeto a la protección de PatchGuard (KPP), lo que significa que DSEFIX es un potencial generador BSOD.
- TDL no parche las variables del núcleo, lo que lo hace amigable con PatchGuard. Utiliza un pequeño código de shell que mapea a su controlador al modo del núcleo sin involucrar al cargador de Windows (y como resultado sin activar ninguna parte de DSE) y lo ejecuta. Esta es la principal ventaja de TDL - bypass no invasivo de DSE. Sin embargo, hay muchas desventajas: la primera y principal,> su controlador debe crearse especialmente para ejecutarse como "sin conductor", lo que significa que no podrá cargar ningún controlador, sino solo especialmente diseñado. Su controlador existirá en modo kernel como búfer de código ejecutable, no se vinculará a PSLOADEDMODULELELISTE, habrá otras limitaciones. Sin embargo, este código funcionará en modo kernel y la aplicación en modo de usuario podrá comunicarse con él. Puede cargar múltiples controladores, por supuesto, si no están en conflicto entre sí.
Cómo funciona
Utiliza la técnica de explotación del modo de kernel de kernel Winnt/Turla Virtualbox para escribir código en la memoria del núcleo y después de ejecutar este código. TDL utiliza el codo de bootstrap personalizado para asignar su controlador especialmente diseñado y llamarlo Punto de entrada (DriverEntry), tenga en cuenta que los parámetros de DriverEntry no serán válidos y no deben usarse. Ejemplos de controladores especialmente diseñados disponibles como DummyDRV y DummyDRV2. Su DriverEntry se ejecutará en IRQL PASSIVE_LEVEL hasta Windows 10 RS1. A partir de Windows 10 RS2, su código DriverEntry se ejecuta en IRQL Dispatch_level.
Construir
TDL viene con el código fuente completo. Para construir desde la fuente, necesita Microsoft Visual Studio 2015 U1 y versiones posteriores. Para las compilaciones de controladores, necesita Microsoft Windows Driver Kit 8.1 y/o arriba.
Instrucciones
- Seleccione el conjunto de herramientas de la plataforma primero para el proyecto en la solución que desea construir (Proyecto-> Propiedades-> General):
- V120 para Visual Studio 2013;
- V140 para Visual Studio 2015;
- V141 para Visual Studio 2017.
- Para V140 y arriba Establecer la versión de plataforma de destino (Proyecto-> Propiedades-> General):
- Si V140, seleccione 8.1 (tenga en cuenta que se debe instalar Windows 8.1 SDK);
- Si V141, seleccione 10.0.17763.0 (tenga en cuenta que se debe instalar Windows 10.0.17763 SDK).
Eliminar la opción de enlace /nocoffgrpinfo donde no es compatible /no disponible.
Deprecación
TDL basado en el antiguo controlador de Oracle Virtualbox que se creó en 2008. Este controlador no fue diseñado para ser compatible con las nuevas versiones del sistema de operaciones de Windows y puede funcionar incorrectamente. Debido a que TDL se basa completamente en esta versión de controlador Virtualbox exacta LPE, no es aconsejable usarlo en la versión más reciente de Windows. Considere este repositorio como deprimido/abandonado. Las únicas actualizaciones posibles solo pueden estar relacionadas con el cargador TDL en sí.
Autores
(c) Proyecto TDL 2016 - 2019
Créditos