Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
DIBF — Брутфорсер ioctl для Windows NT и модульный фаззер | Kitploit
Инструменты/GitHubGitHub/nccgroup/dibf
Анализ уязвимостейДинамический анализ кода (DAST)Обратная инженерияФаззингТестирование на ПроникновениеЭксплуатация Бинарных Файлов
GitHubnccgroup/dibf

DIBF

Брутфорсер ioctl для Windows NT и модульный фаззер

Репозиторий
127287 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

DIBF

Набор инструментов для работы с IOCTL драйверов Windows.

DIBF

Динамический брутфорсер IOCTL (и фаззеры)

Этот инструмент включает две различные функции. Он подбирает значения IOCTL, которые принимает драйвер, а также их допустимые ограничения по размеру, и сохраняет результаты в файл для дальнейшего использования. Вторая функция состоит из 3 простых фаззеров: чисто случайного фаззера, скользящего DWORD-фаззера и асинхронного фаззера. Вы можете последовательно запускать любую комбинацию из этих 3 фаззеров и устанавливать временные ограничения для каждого запуска. Синхронные фаззеры также предупредят вас, если слишком много запросов подряд завершатся ошибкой (что указывает на то, что дальнейший фаззинг может быть бессмысленным, например, из-за отсутствия прав), а асинхронный фаззер позволяет задать процент запросов, для которых следует пытаться выполнить отмену, и уровень параллелизма (сколько одновременно ожидающих запросов). Другие функции включают управление уровнем детализации вывода и возможность аккуратно остановить любой запуск фаззера с помощью ctrl-c. По завершении каждый фаззер отображает совокупную статистику.

Использование

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.

Использование провайдера фаззинга Named Pipe

Чтобы передавать фаззинг-пакеты фаззеру именованных каналов, подключитесь к \\.\pipe\dibf_pipe в режиме PIPE_TYPE_MESSAGE и отправляйте фаззированные данные. Последние 4 байта пакета будут интерпретироваться как код IOCTL. Кроме того, publisher Peach для именованных каналов можно использовать для фаззинга конечных точек именованных каналов за пределами области применения DIBF.

Подключение к Peach

Предоставленный publisher Peach можно использовать для подключения Peach к провайдеру фаззинга именованных каналов DIBF. Пример XML-файла Peach peach_np.xml, использующего этот провайдер, можно найти в папке 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

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

Простая утилита кодирования/декодирования IO-кодов

Этот очень простой инструмент кодирует и декодирует управляющие коды IOCTL Windows. Он предоставляет удобный способ работы с IO-кодированием типов устройств, номера функции, метода передачи и типа доступа.

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

IOSEND

Отправка одиночного IOCTL драйверу

Это инструмент, предназначенный для проверки уязвимостей, и его следует использовать вместе с hex-редактором. После того как в нём будет подготовлен интересующий запрос, эта утилита отправит его драйверу, используя параметры командной строки. Ответ отправляется в stdout. Произвольные адреса также можно использовать в качестве адресов входного и выходного буферов.

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

Лицензия

GPLv2

Скачать инструмент