martes, 17 de diciembre de 2013

WinDbg e IDT

Hoy seguimos peleándonos contra RootKits y buceando un poco mas en WinDbg que, como ya dije,  es una de las tantas áreas que no había tocado y tenia ganas de aprender muchísimo mas. 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Peleándonos con los RootKits
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Las aplicaciones en modo de usuario que solicita la ejecución de una función a nivel del sistema tendrán que elevar su nivel de privilegios.Esto se implementa a través de las interrupciones del programa.

En Windows NT, una petición del sistema se inicializa ejecutando el comando "int 2e". El comando "int" hace que la CPU genere una interrupción del programa, en referencia al índice de IDT "2e" y la lectura de los datos de esa dirección. El procesador establece valor del puntero a la desviación de la rutina de servicio de interrupción almacenada en la tabla. (uffff eh xDD ya os dije que las entradas que venían eran duras) Las llamadas al sistema estarán utilizando KiSystemService.

En WinDbg, el "idt! 2e" es el comando muestra el valor del puntero de rutina. Normalmente, el puntero de rutina se establece en la dirección de KiSystemService. Si este no es el caso, la rutina ha sido interceptada.

No hay comentarios:

Publicar un comentario