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. Проверьте окно Output на наличие результатов анализа DriverBuddy
  4. Чтобы декодировать IOCTL, выделите предполагаемый IOCTL и нажмите ctrl-alt-i

DriverBuddy

DriverBuddy — это плагин IDAPython, который помогает автоматизировать часть рутинной работы, связанной с реверс-инжинирингом драйверов ядра Windows. Он имеет ряд полезных функций, таких как:

  • Определение типа драйвера
  • Поиск функций 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 (taint analysis), т.е. отслеживание алиасинга sysbuf/inbuf и размера
  3. Идентифицировать другие общие структуры
  4. Неинициализированные переменные и т.д.

Благодарности

  • Мы используем декодер IOCTL Сатоши Танды, оригинал находится здесь https://github.com/tandasat/WinIoCtlDecoder.
  • Структура функций WDF основана на работе Red Plait (http://redplait.blogspot.ru/2012/12/wdffunctionsidc.html) и была портирована в IDA Python Николя Гиго, позднее обновлена нами.

Лицензия

Это программное обеспечение выпущено под лицензией MIT, см. LICENSE.

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