
DriverBuddy es un script de IDA Python diseñado para asistir en la ingeniería inversa de controladores de kernel de Windows.
DriverBuddy es un plugin de IDAPython que ayuda a automatizar parte del trabajo tedioso que conlleva la ingeniería inversa de controladores de kernel de Windows. Tiene varias funciones útiles, como:
Poder localizar e identificar automáticamente la función DispatchDeviceControl ahorra tiempo durante la ingeniería inversa de controladores. Esta función se utiliza para enrutar todos los códigos DeviceIoControl entrantes a la función específica del controlador asociada a dicho código. Identificar automáticamente esta función hace que encontrar los códigos DeviceIoControl válidos para cada controlador sea mucho más rápido. Además, al investigar posibles vulnerabilidades en un controlador debidas a un bloqueo, conocer la ubicación de esta función ayuda a reducir el enfoque a la llamada de función específica asociada con el código DeviceIoControl que provocó el bloqueo.
Varias estructuras de controlador son compartidas por todos los controladores WDM. Poder identificar automáticamente estas estructuras, como IO_STACK_LOCATION, IRP y las estructuras DeviceObject, puede ayudar a ahorrar tiempo durante el proceso de ingeniería inversa. DriverBuddy intenta localizar e identificar muchas de estas estructuras.
Al igual que con los controladores WDM, hay varias funciones y estructuras que son compartidas entre todos los controladores WDF. Identificar automáticamente estas funciones y estructuras ahorrará tiempo durante el proceso de ingeniería inversa y proporcionará contexto a áreas no identificadas del controlador donde se utilizan estas funciones.
Al realizar ingeniería inversa de controladores, es común encontrarse con códigos IOCTL como parte del análisis. Estos códigos, al ser decodificados, revelan información útil a los ingenieros de ingeniería inversa y pueden dirigir la atención a partes específicas del controlador donde es más probable que existan vulnerabilidades.
Metas ambiciosas:
Este software se publica bajo la Licencia MIT; consulte LICENSE.