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
DIBF — Bruteforcer de ioctl de Windows NT y fuzzer modular | Kitploit
Herramientas/GitHubGitHub/nccgroup/dibf
Análisis de VulnerabilidadesAnálisis Dinámico de Código (DAST)Ingeniería InversaFuzzingPruebas de PenetraciónExplotación de Binarios
GitHubnccgroup/dibf

DIBF

Bruteforcer de ioctl de Windows NT y fuzzer modular

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

DIBF

Suite de herramientas IOCTL para controladores de Windows.

DIBF

Brute-Forcer dinámico de IOCTL (y fuzzers)

Esta herramienta abarca dos funcionalidades distintas. Adivina los valores IOCTL que acepta el controlador y también sus limitaciones de tamaño válidas, y guarda los resultados en un archivo para su reutilización futura. La segunda funcionalidad se compone de 3 fuzzers ciegos: un fuzzer puramente aleatorio, un fuzzer deslizante de DWORD y un fuzzer asíncrono. Puede ejecutar cualquier combinación de los 3 secuencialmente y establecer límites de tiempo para cada ejecución del fuzzer. Los fuzzers síncronos también le advertirán si demasiadas solicitudes fallan en fila (lo que indica que seguir fuzzeando podría no tener sentido debido a la falta de permisos, por ejemplo), y el fuzzer asíncrono le permite establecer el porcentaje de solicitudes en las que intentar la cancelación y el nivel de concurrencia (cuántas solicitudes pendientes a la vez). Otras características incluyen el control del nivel de verbosidad y la capacidad de detener limpiamente cualquier ejecución del fuzzer con ctrl-c. Al finalizar, cada fuzzer mostrará estadísticas acumulativas.

Uso

root@kitploit:~
dibf.exe <options> <device name>
Options:
	-h You're looking at it
	-i Ignore previous logfile - THIS WILL OVERWRITE IT
	-l Specify custom logfile name to read from/write to (default dibf-bf-results.txt)
	-d Deep IOCTL bruteforce (8-9 times slower)
	-v [0-3] Verbosity level
	-s [ioctl] Start IOCTL value
	-e [ioctl] End IOCTL value
	-t [d1,d2,d4] Timeout for each fuzzer in seconds -- no spaces and decimal input ONLY
	-p [max requests] Max number of async pending requests (loosely enforced, default 64)
	-a [max threads] Max number of threads, default is 2xNbOfProcessors, max is 128
	-c [% cancelation] Async cancelation attempt percent rate (default 15)
	-f [0-7] Fuzz flag. OR values together to run multiple
			 fuzzer stages. If left out, it defaults to all
      		 stages.
      0 = Brute-force IOCTLs only
      1 = Sliding DWORD (sync)
      2 = Random (async)
      4 = Named Pipe (async)
Examples:
	dibf \\.\MyDevice
	dibf -v -d -s 0x10000000 \\.\MyDevice
	dibf -f 0x3 \\.\MyDevice
Notes:
	- The bruteforce stage will generate a file named "dibf-bf-results.txt"
	  in the same directory as the executable. If dibf is started with no
	  arguments, it will look for this file and start the fuzzer with the values
	  from it The -l flag can be used to specify a custom results file name.
	- If not specified otherwise, command line arguments can be passed as decimal or hex (prefix with "0x")
	- CTRL-C interrupts the current stage and moves to the next if any. Current statistics will be displayed.
	- The statistics are cumulative.
	- The command-line flags are case-insensitive.

Uso del proveedor de fuzzing de Named Pipe

Para proporcionar paquetes fuzzeados al fuzzer de Named Pipe, conéctese a \\.\pipe\dibf_pipe en modo PIPE_TYPE_MESSAGE y envíe los datos fuzzeados. Los últimos 4 bytes del paquete se interpretarán como el código IOCTL. Además, el publicador de Peach de named pipe se puede utilizar para fuzzear endpoints de named pipe fuera del ámbito de DIBF.

Conexión con Peach

El publicador de Peach incluido se puede utilizar para conectar Peach con el Proveedor de Fuzzing de Named Pipe de DIBF. Un archivo Peach XML de ejemplo, peach_np.xml, que utiliza este proveedor se puede encontrar en la carpeta PeachNamedPipePublisher:

root@kitploit:~
<?xml version="1.0" encoding="utf-8"?>
<Peach xmlns="http://peachfuzzer.com/2012/Peach" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://peachfuzzer.com/2012/Peach ../peach.xsd">

    <!-- DataModel containing a single string -->
    <DataModel name="TheDataModel">
        <String value="Hello World!" />
        <Number name="IOCTL0" value="EFBEADDE" valueType="hex" size="32" mutable="false" />
    </DataModel>

    <!-- StateModel referencing data model above -->
    <StateModel name="DibfState" initialState="DibfState0">
        <State name="DibfState0">
            <Action type="output">
                <DataModel ref="TheDataModel"/>
            </Action>
        </State>
    </StateModel>

    <!-- The test with pipe publisher -->
    <Test name="Default">
        <StateModel ref="DibfState"/>
        <Publisher class="NamedPipe">
            <Param name="host" value="." />
            <Param name="pipeName" value="dibf_pipe" />
            <Param name="impersonationLevel" value="1" />
        </Publisher>
    </Test>
</Peach>
<!-- end -->

Salida de ejemplo de DIBF

root@kitploit:~
<<<< RUNNING RANDOM FUZZER >>>>
RUN STARTED: 3/17/2014 4:14 PM
---------------------------------------
Sent Requests : 4233
Completed Requests : 4233 (4233 sync, 0 async)
SuccessfulRequests : 1254
FailedRequests : 2979
CanceledRequests : 0
RUN ENDED: 3/17/2014 4:14 PM
---------------------------------------

<<<< RUNNING SLIDING DWORD FUZZER >>>>
RUN STARTED: 3/17/2014 4:14 PM
---------------------------------------
Sent Requests : 6339
Completed Requests : 6339 (6339 sync, 0 async)
SuccessfulRequests : 1254
FailedRequests : 5085
CanceledRequests : 0
RUN ENDED: 3/17/2014 4:14 PM
---------------------------------------

<<<< RUNNING ASYNC FUZZER >>>>
RUN STARTED: 3/17/2014 4:14 PM
---------------------------------------
Sent Requests : 8272
Completed Requests : 8272 (6339 sync, 1933 async)
SuccessfulRequests : 1738
FailedRequests : 6414
CanceledRequests : 120
RUN ENDED: 3/17/2014 4:14 PM
---------------------------------------

IOCODE

Utilidad simple de codificación/decodificación de códigos IO

Esta herramienta, muy simple, codifica y decodifica códigos de control IOCTL de Windows. Proporciona una forma amigable de manejar la codificación IO de tipos de dispositivo, número de función, método de transferencia y tipo de acceso.

root@kitploit:~
iocode.exe [IOCODE] or iocode.exe [DEVICE_TYPE] [FUNCTION] [METHOD] [ACCESS]

IOSEND

Envío de un solo IOCTL a un controlador

Esta es una herramienta destinada a probar vulnerabilidades y está pensada para usarse junto con un editor hexadecimal. Una vez que la solicitud de interés ha sido creada en él, esta utilidad la enviará al controlador usando parámetros de línea de comandos. La respuesta se envía a stdout. También se pueden usar direcciones arbitrarias como direcciones de búfer de entrada y salida.

root@kitploit:~
iosend [Device] [IOCODE] [InputBufFilePath|InputAdress] [InputLen] [[OutputAddress]] [OutputLen] > [Output file]
Notes:
 - This utility prints error/status messages to stderr
 - Input can be provided as an arbitrary address or a file name
 - An output buffer is allocated and its contents eventually written to stdout unless the optional OutputAddress parameter is provided

Licencia

GPLv2

Descargar herramienta