Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DIBF — Windows NT ioctl-Bruteforcer und modularer Fuzzer | Kitploit
Tools/GitHubGitHub/nccgroup/dibf
SchwachstellenanalyseDynamische Code-Analyse (DAST)Reverse EngineeringFuzzingPenetrationstestsBinary-Exploitation
GitHubnccgroup/dibf

DIBF

Windows NT ioctl-Bruteforcer und modularer Fuzzer

Repository anzeigen
12728vor 7 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

DIBF

Werkzeugsammlung für Windows-Treiber-IOCTLs.

DIBF

Dynamischer IOCTL-Brute-Forcer (und Fuzzer)

Dieses Werkzeug bietet zwei unterschiedliche Funktionen. Es errät die IOCTL-Werte, die der Treiber akzeptiert, sowie deren gültigen Größenbeschränkungen und speichert die Ergebnisse zur späteren Wiederverwendung in einer Datei. Die zweite Funktion besteht aus 3 einfachen Fuzzern: einem reinen Zufallsfuzzer, einem gleitenden DWORD-Fuzzer und einem asynchronen Fuzzer. Sie können jede beliebige Kombination der 3 nacheinander ausführen und für jeden Fuzzerlauf Zeitlimits festlegen. Die synchronen Fuzzer warnen Sie außerdem, wenn zu viele Anfragen in Folge fehlschlagen (was darauf hindeutet, dass weiteres Fuzzing etwa mangels Berechtigungen sinnlos sein könnte), und der asynchrone Fuzzer ermöglicht es Ihnen, den Prozentsatz der Anfragen, bei denen ein Abbruch versucht werden soll, sowie den Nebenläufigkeitsgrad festzulegen (wie viele Anfragen gleichzeitig ausstehen). Weitere Funktionen umfassen die Kontrolle über die Ausführlichkeitsstufe und die Möglichkeit, einen Fuzzerlauf sauber mit Strg-C zu beenden. Nach Abschluss zeigt jeder Fuzzer kumulierte Statistiken an.

Verwendung

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.

Verwendung des Named-Pipe-Fuzzing-Anbieters

Um gefuzze Pakete an den Named-Pipe-Fuzzer zu übergeben, verbinden Sie sich mit \\.\pipe\dibf_pipe im Modus PIPE_TYPE_MESSAGE und senden Sie die gefuzzten Daten. Die letzten 4 Bytes des Pakets werden als IOCTL-Code interpretiert. Zusätzlich kann der Named-Pipe-Peach-Publisher verwendet werden, um Named-Pipe-Endpunkte außerhalb des DIBF-Anwendungsbereichs zu fuzzen.

Verbinden mit Peach

Der mitgelieferte Peach-Publisher kann verwendet werden, um Peach mit dem Named-Pipe-Fuzzing-Anbieter von DIBF zu verbinden. Eine Beispiel-Peach-XML-Datei peach_np.xml, die diesen Anbieter nutzt, finden Sie im Ordner 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 -->

DIBF-Beispielausgabe

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

Einfaches Kodierungs-/Dekodierungswerkzeug für IO-Codes

Dieses sehr einfache Werkzeug kodiert und dekodiert Windows-IOCTL-Steuercodes. Es bietet eine benutzerfreundliche Möglichkeit, mit der IO-Kodierung von Gerätetypen, Funktionsnummer, Übertragungsmethode und Zugriffstyp umzugehen.

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

IOSEND

Senden eines einzelnen IOCTL an einen Treiber

Dieses Werkzeug dient zum Nachweis von Schwachstellen und ist für die Verwendung zusammen mit einem Hex-Editor gedacht. Sobald die gewünschte Anfrage darin erstellt wurde, sendet dieses Dienstprogramm sie über Befehlszeilenparameter an den Treiber. Die Antwort wird an stdout gesendet. Beliebige Adressen können auch als Eingabe- und Ausgabepufferadressen verwendet werden.

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

Lizenz

GPLv2

Tool herunterladen