Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DriverBuddy — DriverBuddy es un script de IDA Python diseñado para asistir en la ingeniería inversa de controladores de kernel de Windows. | Kitploit
Herramientas/GitHubGitHub/nccgroup/driverbuddy
Análisis de VulnerabilidadesIngeniería InversaAnálisis de Binarios
GitHubnccgroup/driverbuddy

DriverBuddy

DriverBuddy es un script de IDA Python diseñado para asistir en la ingeniería inversa de controladores de kernel de Windows.

Ver RepositorioSitio web
3837744hace 6 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Inicio rápido

Instrucciones de instalación de DriverBuddy

  1. Copia la carpeta DriverBuddy y el archivo DriverBuddy.py en la carpeta de plugins de IDA C:\Program Files (x86)\IDA 6.8\plugins o donde hayas instalado IDA

Instrucciones de uso de DriverBuddy

  1. Inicia IDA y abre un controlador de kernel de Windows
  2. Ve a Edición->Plugins y selecciona Driver Buddy o pulsa ctrl-alt-d
  3. Revisa la ventana de salida para ver los resultados del análisis de DriverBuddy
  4. Para decodificar IOCTLs, resalta el IOCTL sospechoso y pulsa ctrl-alt-i

DriverBuddy

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:

  • Identificar el tipo de controlador
  • Localizar las funciones DispatchDeviceControl y DispatchInternalDeviceControl
  • Poblar estructuras comunes para controladores WDF y WDM
    • Intentar identificar y etiquetar estructuras como IRP e IO_STACK_LOCATION
    • Etiquetar llamadas a funciones WDF que normalmente no estarían etiquetadas
  • Encontrar códigos IOCTL conocidos y decodificarlos
  • Marcar funciones propensas a un mal uso

Encontrar DispatchDeviceControl

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.

Etiquetado de estructuras WDM

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.

Etiquetado de funciones WDF

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.

Decodificación de códigos DeviceIoControl

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.

Trabajo futuro:

  1. Añadir comprobaciones de obref y deref de algún tipo para ayudar a encontrar problemas de recuento de referencias
  2. Pulir la salida, ¿GUI?
  3. Reforzar/pulir las funcionalidades actuales
    • Mejorar la fiabilidad del localizador de DispatchDeviceControl
    • Escribir breves descripciones sobre por qué se marcan las cosas
    • Importador de documentación de MSDN

Metas ambiciosas:

  1. Encontrar IOCTLs automáticamente
  2. Análisis de contaminación de IRP, es decir, seguir el alias de sysbuf/inbuf, tamaño
  3. Identificar otras estructuras comunes
  4. Variables no inicializadas, etc.

Créditos

  • Estamos utilizando el decodificador de IOCTL de Satoshi Tanda, originalmente encontrado aquí https://github.com/tandasat/WinIoCtlDecoder.
  • La estructura de funciones WDF se basa en el trabajo de Red Plait (http://redplait.blogspot.ru/2012/12/wdffunctionsidc.html) y fue portada a IDA Python por Nicolas Guigo, y actualizada posteriormente por nosotros.

Licencia

Este software se publica bajo la Licencia MIT; consulte LICENSE.

Descargar herramienta