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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DriverBuddy — DriverBuddy is an IDA Python script to assist with the reverse engineering of Windows kernel drivers. | Kitploit
도구/GitHubGitHub/nccgroup/driverbuddy
Vulnerability AnalysisReverse EngineeringBinary Analysis
GitHubnccgroup/driverbuddy

DriverBuddy

DriverBuddy is an IDA Python script to assist with the reverse engineering of Windows kernel drivers.

저장소 보기웹사이트
383776년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

빠른 시작

DriverBuddy 설치 지침

  1. DriverBuddy 폴더와 DriverBuddy.py 파일을 IDA 플러그인 폴더 C:\Program Files (x86)\IDA 6.8\plugins 또는 IDA를 설치한 위치에 복사하십시오.

DriverBuddy 사용 지침

  1. IDA를 시작하고 Windows 커널 드라이버를 엽니다.
  2. Edit->Plugins로 이동하여 Driver Buddy를 선택하거나 ctrl-alt-d를 누릅니다.
  3. DriverBuddy 분석 결과를 위해 Output 창을 확인합니다.
  4. IOCTL을 디코딩하려면 의심되는 IOCTL을 강조 표시하고 ctrl-alt-i를 누릅니다.

DriverBuddy

DriverBuddy는 Windows 커널 드라이버의 리버스 엔지니어링과 관련된 일부 지루한 작업을 자동화하는 데 도움이 되는 IDAPython 플러그인입니다. 다음과 같은 여러 유용한 기능이 있습니다:

  • 드라이버 유형 식별
  • DispatchDeviceControl 및 DispatchInternalDeviceControl 함수 찾기
  • WDF 및 WDM 드라이버용 공통 구조체 채우기
    • IRP 및 IO_STACK_LOCATION과 같은 구조체 식별 및 레이블 지정 시도
    • 일반적으로 레이블이 지정되지 않는 WDF 함수 호출에 레이블 지정
  • 알려진 IOCTL 코드 찾기 및 디코딩
  • 오용되기 쉬운 함수 플래그 지정

DispatchDeviceControl 찾기

DispatchDeviceControl 함수를 자동으로 찾아 식별하는 것은 드라이버 리버스 엔지니어링 중 시간을 절약해 주는 작업입니다. 이 함수는 들어오는 모든 DeviceIoControl 코드를 해당 코드와 연결된 특정 드라이버 함수로 라우팅하는 데 사용됩니다. 이 함수를 자동으로 식별하면 각 드라이버에 대한 유효한 DeviceIoControl 코드를 훨씬 더 빨리 찾을 수 있습니다. 또한 충돌로 인해 드라이버의 잠재적 취약점을 조사할 때 이 함수의 위치를 알면 충돌을 일으키는 DeviceIoControl 코드와 연결된 특정 함수 호출로 초점을 좁히는 데 도움이 됩니다.

WDM 구조체 레이블 지정

여러 드라이버 구조체가 모든 WDM 드라이버 간에 공유됩니다. IO_STACK_LOCATION, IRP 및 DeviceObject 구조체와 같은 이러한 구조체를 자동으로 식별할 수 있으면 리버스 엔지니어링 프로세스 중 시간을 절약하는 데 도움이 됩니다. DriverBuddy는 이러한 구조체 중 다수를 찾아 식별하려고 시도합니다.

WDF 함수 레이블 지정

WDM 드라이버와 마찬가지로 모든 WDF 드라이버 간에 공유되는 여러 함수와 구조체가 있습니다. 이러한 함수와 구조체를 자동으로 식별하면 리버스 엔지니어링 프로세스 중 시간을 절약하고 이러한 함수가 사용되는 드라이버의 식별되지 않은 영역에 컨텍스트를 제공합니다.

DeviceIoControl 코드 디코딩

드라이버를 리버스 엔지니어링하는 동안 분석의 일부로 IOCTL 코드를 접하는 것은 흔한 일입니다. 이러한 코드는 디코딩되면 리버스 엔지니어에게 유용한 정보를 제공하며 취약점이 존재할 가능성이 더 높은 드라이버의 특정 부분에 주의를 끌 수 있습니다.

향후 계획:

  1. 참조 카운트 문제를 찾는 데 도움이 되는 일종의 obref 및 deref 검사 추가
  2. 출력 다듬기, GUI?
  3. 현재 기능 강화/다듬기
    • DispatchDeviceControl 찾기의 신뢰성 향상
    • 항목이 플래그되는 이유에 대한 간단한 설명 작성
    • MSDN 문서 가져오기

확장 목표:

  1. IOCTL 자동 찾기
  2. IRP 오염 분석(일명 sysbuf/inbuf, 크기의 앨리어싱 추적)
  3. 기타 공통 구조체 식별
  4. 초기화되지 않은 변수 등

크레딧

  • 우리는 Satoshi Tanda의 IOCTL 디코더를 사용하고 있으며, 원본은 여기 https://github.com/tandasat/WinIoCtlDecoder 에서 찾을 수 있습니다.
  • WDF 함수 구조체는 Red Plait의 작업(http://redplait.blogspot.ru/2012/12/wdffunctionsidc.html)을 기반으로 하며, Nicolas Guigo가 IDA Python으로 포팅했고 이후 우리가 업데이트했습니다.

라이선스

이 소프트웨어는 MIT 라이선스 하에 배포됩니다. LICENSE를 참조하십시오.

도구 다운로드