Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DIBF — Windows NT ioctl 브루트포서 및 모듈형 퍼저 | Kitploit
도구/GitHubGitHub/nccgroup/dibf
Vulnerability AnalysisDynamic Code Analysis (DAST)Reverse EngineeringFuzzingPenetration TestingBinary Exploitation
GitHubnccgroup/dibf

DIBF

Windows NT ioctl 브루트포서 및 모듈형 퍼저

저장소 보기
127287년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

DIBF

Windows 드라이버 IOCTL 도구 모음.

DIBF

동적 IOCTL 무차별 대입 도구 (및 퍼저)

이 도구는 두 가지 별개의 기능을 제공합니다. 드라이버가 수락하는 IOCTL 값과 유효한 크기 제한을 추측하고, 결과를 파일에 저장하여 나중에 재사용합니다. 두 번째 기능은 3개의 단순 퍼저로 구성됩니다: 순수 무작위 퍼저, 슬라이딩 DWORD 퍼저, 비동기 퍼저입니다. 세 퍼저 중 어떤 조합이든 순차적으로 실행할 수 있으며, 각 퍼저 실행 시간 제한을 설정할 수 있습니다. 동기 퍼저는 요청이 연속으로 너무 많이 실패할 경우 경고도 표시합니다 (예: 권한 부족으로 추가 퍼징이 무의미할 수 있음을 나타냄). 비동기 퍼저는 취소를 시도할 요청 비율과 동시성 수준(한 번에 보류할 요청 수)을 설정할 수 있게 해줍니다. 다른 기능으로는 출력 상세 수준 제어와 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 퍼징 공급자 사용

Named Pipe 퍼저에 퍼징된 패킷을 제공하려면 PIPE_TYPE_MESSAGE 모드로 \\.\pipe\dibf_pipe에 연결하고 퍼징된 데이터를 보내십시오. 패킷의 마지막 4바이트는 IOCTL 코드로 해석됩니다. 또한 DIBF 범위 밖의 named pipe 엔드포인트를 퍼징하기 위해 named pipe Peach 퍼블리셔를 사용할 수 있습니다.

Peach에 연결

제공된 Peach 퍼블리셔를 사용하여 Peach를 DIBF의 Named Pipe 퍼징 공급자에 연결할 수 있습니다. 이 공급자를 활용하는 샘플 Peach XML 파일 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 코드용 간단한 인코딩/디코딩 유틸리티

이 매우 간단한 도구는 Windows IOCTL 제어 코드를 인코딩하고 디코딩합니다. 장치 유형, 기능 번호, 전송 방법 및 액세스 유형의 IO 인코딩을 처리하는 사용자 친화적인 방법을 제공합니다.

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

IOSEND

드라이버로 단일 IOCTL 보내기

이 도구는 취약점 검증을 위해 만들어졌으며 헥스 에디터와 함께 사용하도록 고안되었습니다. 관심 있는 요청을 헥스 에디터에서 만든 후, 이 유틸리티는 명령줄 매개변수를 사용하여 해당 요청을 드라이버로 보냅니다. 응답은 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

도구 다운로드