DIFERENCIA EN LOS DEBUGGER´S USADOS EN LA INGENIERÍA REVERSA
----------------------
Hay dos tipos de debuggers:
1.- A nivel de usuario (como OllyDbg, Immunity Debugger e IDA Pro)
2.- Debuggers de kernel (como WinDbg, SoftIce y Syser).
****************************
Estos dos tipos tienen una gran y sutil diferencia y que es la de que los debuggers de kernel se ejecutan con mayor privilegio y, por lo tanto, pueden depurar controladores y dispositivos de dispositivo de kernel y los de nivel de usuario no pueden.
El Sistema Operativo Windows depende del procesador para dar seguridad en diferentes capas como ejemplo pondré el CPU INTEL común y corriente que todos tenemos en casa donde los programas se pueden ejecutar en cuatro modos distintos que son:
-- RING 0
-- RING 1
-- RING 2
-- RING 3
Donde los que nos interesan son el RING 0 (KERNEL) y RING 3 (usuario)
Basados en esto al querer seleccionar un DEBUGGER lo mas obvio seria seleccionar uno que controlara RING 0 y no uno RING 3.
PERO BUENO NO TODO ES PELADITO Y EN LA BOCA YA QUE .....
El ÉXITO DE LOS DEBUGGER'S ring 3 es que normalmente traen una muy buena, bonita y fácil de usar interfaz gráfica o no? como lo es OLLYDBG que es el de mayor uso por los ingenieros reversos hoy en día:
Ya solo cuando sea necesario, usaremos los DEBUGGER'S ring0 de la línea de comando (como WinDbg):
Sin embargo, hay una excepción: hace poco, IDA Pro introdujo un módulo GUI que puede ejecutar WinDbg para la depuración del kernel. pero lamentablemente es de pago.
Como les dije no todo es peladito y en la boca.
Pero les dejo un link donde podrán encontrar varios debugger´s en RING 0 y ya ustedes seleccionaran el que gusten usar.
http://www.woodmann.com/collaborative/tools/index.php/Category:Ring_0_Debuggers
Bueno esto es todo por el momento en próximos artículos empezaremos a ver todo lo referente a traceo en RING 0 que normalmente se usa para análisis de malware.
ProFeSor X
www.rodolfohbaz.net