19.7.05

Múltiples vulnerabilidades en el núcleo de Windows XP (II)

*Error #2*, Entrar ring 0 Método 2 - I/0 R/W nucleo sub-funciones

Este método escribe la memoria del nucleo. Modifica una (preferiblemente inusitada) entrada IDT con un indicador a su código y ejecuta una instrucción INT de n. Method1_WriteMemByte() utiliza un error en la lectura I/O de la sub-funcion NtSystemDebugControl(). Los indicadores en el IO_STRUCT no se chequean y se puede explotar este error para sobreescribir la memoria del nucleo. Puesto que el nucleo lee desde un puerto I/O, debemos controlar primero el valor del puerto I/O. Esto es facil, puesto que cada Pc tiene un puerto 80h del BIOS POST. Este es un puerto de Lectura/Ecritura de 8-bit usado por el BIOS durante el POST. Si primero lo escribimos, y luego lo leemos, podemos hacer que el núcleo escriba cualquier byte en cualquier dirección.

No hay comentarios: