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
DIRT — Herramienta de Reconocimiento Inicial de Controladores | Kitploit
Herramientas/GitHubGitHub/jthuraisamy/dirt
ReconocimientoAnálisis de VulnerabilidadesAnálisis de Binarios
GitHubjthuraisamy/dirt

DIRT

Herramienta de Reconocimiento Inicial de Controladores

Ver Repositorio
127302hace 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

DIRT: Herramienta de Reconocimiento Inicial de Controladores

Estoy escribiendo esta herramienta para aprender C++ y obtener una evaluación inicial de los controladores instalados en un sistema Windows (por ejemplo, imágenes maestras desarrolladas por OEMs o empresas). Se supone que ayuda con la selección de objetivos, encontrar frutos bajos, y algo de asistencia con el análisis binario en profundidad. Actualmente inestable, en desarrollo activo.

Características Principales

  • Listado de controladores en modo kernel con los que los usuarios no administradores pueden interactuar a través de DeviceIoControl.
    • Esto puede ser útil para reducir los controladores que potencialmente podrían usarse para LPE.
  • Recuperación de nombres de empresas asociados con los controladores para determinar la propiedad.
    • Esto puede ser útil en la selección de objetivos para separar controladores de terceros de los controladores de Microsoft.
  • Resolución de la rutina DispatchDeviceControl utilizada para manejar solicitudes de DeviceIoControl.
    • Esto facilita encontrar la función en IDA (en lugar de depender de heurísticas en el análisis estático).
    • La función se puede analizar para enumerar códigos IOCTL y realizar análisis de superficie de ataque.
  • Enumeración de los códigos IOCTL soportados por DispatchDeviceControl.
    • Podría haber una oportunidad para ejecución simbólica como esta, pero no estoy seguro de lo robusta que pueda ser.
  • Enumeración de controladores en modo usuario que llaman a un controlador en modo kernel específico.

Características Secundarias

  • Modos CLI y GUI.
  • Formatos de salida: JSON, CSV y texto legible para humanos.

Herramientas Alternativas

He usado una combinación de DeviceTree, WinObjEx64 y WinDbg para estos casos de uso. Es más un proceso manual tedioso que no escala fácilmente, por lo que DIRT solo intenta hacerlo más conveniente.

Compilación

Esto debería compilarse con Visual Studio 2015 o superior.

Uso

  1. Habilite el modo de depuración con bcdedit -debug on en un Símbolo del sistema administrativo.
  2. Coloque kldbgdrv.sys (encontrado con WinDbg) en el mismo directorio que DIRT.exe.
  3. Ejecute DIRT.exe > output.txt con privilegios administrativos.

Los modificadores --lp-only y --no-msft se pueden usar para filtrar resultados.

A continuación se muestra un ejemplo de salida para saber qué esperar:

root@kitploit:~
DIRT v0.1.0: Driver Initial Reconnaisance Tool (@Jackson_T)
Repository:  https://github.com/jthuraisamy/DIRT
Compiled on: Aug 22 2018 00:01:04

INFO: Hiding Microsoft drivers (--no-msft).
INFO: Only showing drivers that low-privileged users can interface with (--lp-only).

Capcom: Capcom
Path: C:\Windows\System32\Capcom.sys
DispatchDeviceControl: 0xFFFFF8024C9A0590
Devices: 1
└── \Device\Htsysm72FB (open DACL, 1 symlinks)
    └── \\.\Global\Htsysm72FB

SmbDrvI: SmbDrvI (Synaptics Incorporated)
Path: C:\WINDOWS\System32\drivers\Smb_driver_Intel.sys - Hooked by Wdf01000 (Microsoft Corporation)
DispatchDeviceControl: 0xFFFFF808212C72B0
Devices: 1
└── \Device\SmbDriver (open DACL, 1 symlinks)
    └── \\.\Global\SmbDriver

nvlddmkm: nvlddmkm
Path: C:\Windows\System32\DriverStore\FileRepository\nvlt.inf_amd64_ed3ba3fb30d4dd86\nvlddmkm.sys
DispatchDeviceControl: 0xFFFFF80822D074D0
Devices: 2
├── \Device\NvAdminDevice (open DACL, 1 symlinks)
│   └── \\.\Global\NvAdminDevice
└── \Device\UVMLiteController0x1 (open DACL, 1 symlinks)
    └── \\.\Global\UVMLiteController

También hay una salida CSV disponible usando DIRT::Main::ExportCSV():

CSV

Autores

Jackson Thuraisamy (2018). El código se deriva en gran medida del proyecto WinObjEx64 de @hFireF0X.

Licencia

MIT

Descargar herramienta