elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Patchear arranque kernel-mode driver
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Patchear arranque kernel-mode driver  (Leído 1,139 veces)
kub0x
Enlightenment Seeker
Colaborador
***
Desconectado Desconectado

Mensajes: 1.442


S3C M4NI4C


Ver Perfil
Patchear arranque kernel-mode driver
« en: 28 Junio 2015, 15:53 pm »

Buenas tardes señores,

Desde Windows Vista y posteriores un kernel-mode driver no booteable (non-boot) es instalado validando el certificado emitido para firmar el archivo del catálogo (.cat) y cada uno de los archivos asociados al catálogo.

El procedimiento se realiza comprobando si la cadena de certificado es válida, esto significa que la Root CA que firmó nuestro certificado debe de estar en la local Trusted Root CA (Entidades de raíz de confianza) y además nuestro certificado (no el Root CA) debe de estar en la local Trusted Publisher (Editores de Confianza).
De esta forma al usuario no se le pregunta si confía en el sujeto que firmó el driver.

Vale nos hemos quitado un peso de encima, pero queda la cuestión más importante y es subir al kernel.

Al finalizar la instalación, el driver supongo que es cargado por winload, y el problema es que falla al verificar la firma digital.
Esto es debido a que el certificado no ha sido firmado por una CA de confianza dado que winload tendrá su propia lista de Root CAs, así que la única manera LEGAL de pasar el checkeo es comprar un certificado emitido por una CA de confianza, las cuáles están en esta lista -> https://msdn.microsoft.com/en-us/library/windows/hardware/dn170454%28v=vs.85%29.aspx

Ahora mi pregunta,

existe alguna manera de patchear windload para insertar una nueva Root CA para que cuando se cargue nuestro driver valide el certificado correctamente? Sé que al modificar winload su firma digital se romperá, pero podríamos refirmarlo con la clave privada asociada a nuestra nueva Root CA, que ahora reside en winload, por lo que la verificación sería satisfactoria.

Espero que alguien de aquí haya pensado en esto alguna vez, sino es un tema muy extenso :/ Aun así gracias por vuestra atención.

Este post lo he escrito también en la comunidad Stackexchange de Ingeniería Inversa, por si os interesa el tema -> http://reverseengineering.stackexchange.com/questions/9243/patch-driver-loading-process

Saludos!
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Patchear region DVD?
Multimedia
ferlucas 8 1,516 Último mensaje 4 Septiembre 2004, 04:47 am
por Songoku
[KERNEL MODE][?] No puedo incluir ntddk
Programación C/C++
Horricreu 9 3,440 Último mensaje 18 Julio 2010, 14:31 pm
por Eternal Idol
[Ayuda] Hooking kernel Mode « 1 2 »
Programación Visual Basic
Miseryk 11 2,524 Último mensaje 17 Septiembre 2010, 05:15 am
por bizco
Driver kernel x64
Programación C/C++
lweb20 1 893 Último mensaje 24 Noviembre 2012, 19:40 pm
por x64core
kernel detective:cannot load the kernel driver; tuluca: se ha bloqueado driver
Software
Hason 0 152 Último mensaje 21 Octubre 2015, 18:30 pm
por Hason
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines