Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DriverBuddy — DriverBuddy is an IDA Python script to assist with the reverse engineering of Windows kernel drivers. | Kitploit
Strumenti/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.

Vedi RepositorySito web
383776 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Avvio rapido

Istruzioni di installazione di DriverBuddy

  1. Copiare la cartella DriverBuddy e il file DriverBuddy.py nella cartella dei plugin di IDA C:\Program Files (x86)\IDA 6.8\plugins o ovunque sia installato IDA

Istruzioni di utilizzo di DriverBuddy

  1. Avviare IDA e aprire un driver kernel Windows
  2. Andare su Edit->Plugins e selezionare Driver Buddy oppure premere ctrl-alt-d
  3. Controllare la finestra Output per i risultati dell'analisi di DriverBuddy
  4. Per decodificare gli IOCTL, evidenziare il presunto IOCTL e premere ctrl-alt-i

DriverBuddy

DriverBuddy è un plugin IDAPython che aiuta ad automatizzare parte della tediosità del reverse engineering dei driver kernel Windows. Ha una serie di funzionalità utili, come:

  • Identificazione del tipo di driver
  • Individuazione delle funzioni DispatchDeviceControl e DispatchInternalDeviceControl
  • Popolamento delle struct comuni per i driver WDF e WDM
    • Tentativo di identificare ed etichettare struct come IRP e IO_STACK_LOCATION
    • Etichettatura delle chiamate a funzioni WDF che normalmente non sarebbero etichettate
  • Riconoscimento dei codici IOCTL noti e loro decodifica
  • Segnalazione delle funzioni soggette a uso improprio

Individuazione di DispatchDeviceControl

Essere in grado di individuare e identificare automaticamente la funzione DispatchDeviceControl è un'attività che fa risparmiare tempo durante il reverse engineering dei driver. Questa funzione viene utilizzata per instradare tutti i codici DeviceIoControl in ingresso alla specifica funzione del driver associata a quel codice. Identificare automaticamente questa funzione rende molto più rapida l'individuazione dei codici DeviceIoControl validi per ciascun driver. Inoltre, quando si indagano possibili vulnerabilità in un driver a causa di un crash, conoscere la posizione di questa funzione aiuta a restringere il campo alla specifica chiamata di funzione associata al codice DeviceIoControl che ha causato il crash.

Etichettatura delle struct WDM

Diverse strutture dei driver sono condivise tra tutti i driver WDM. Essere in grado di identificare automaticamente queste strutture, come IO_STACK_LOCATION, IRP e DeviceObject, può aiutare a risparmiare tempo durante il processo di reverse engineering. DriverBuddy tenta di individuare e identificare molte di queste struct.

Etichettatura delle funzioni WDF

Come per i driver WDM, esistono diverse funzioni e strutture condivise tra tutti i driver WDF. Identificare automaticamente queste funzioni e strutture farà risparmiare tempo durante il processo di reverse engineering e fornirà contesto alle aree non identificate del driver in cui queste funzioni sono in uso.

Decodifica dei codici DeviceIoControl

Durante il reverse engineering dei driver, è comune imbattersi in codici IOCTL come parte dell'analisi. Questi codici, una volta decodificati, rivelano informazioni utili ai reverse engineer e possono attirare l'attenzione su specifiche parti del driver dove è più probabile che esistano vulnerabilità.

Sviluppi futuri:

  1. Aggiungere controlli obref e deref di qualche tipo per aiutare a trovare problemi di refcount
  2. Rifinire l'output, GUI?
  3. Rafforzare/rifinire le funzionalità attuali
    • Migliorare l'affidabilità del rilevatore di DispatchDeviceControl
    • Scrivere brevi descrizioni sul motivo per cui le cose vengono segnalate
    • Importatore di documentazione MSDN

Obiettivi ambiziosi:

  1. Trovare gli IOCTL automaticamente
  2. Analisi taint dell'IRP, ovvero seguire l'aliasing di sysbuf/inbuf, dimensione
  3. Identificare altre strutture comuni
  4. Variabili non inizializzate, ecc.

Crediti

  • Stiamo utilizzando il decodificatore IOCTL di Satoshi Tanda, originariamente disponibile qui https://github.com/tandasat/WinIoCtlDecoder.
  • La struct delle funzioni WDF si basa sul lavoro di Red Plait (http://redplait.blogspot.ru/2012/12/wdffunctionsidc.html) ed è stata portata in IDA Python da Nicolas Guigo, successivamente aggiornata da noi.

Licenza

Questo software è rilasciato sotto la licenza MIT, vedi LICENSE.

Scarica lo strumento