Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
DriverBuddy — DriverBuddy is an IDA Python script to assist with the reverse engineering of Windows kernel drivers. | Kitploit
Outils/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.

Voir le dépôtSite web
38377il y a 6 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Démarrage rapide

Instructions d'installation de DriverBuddy

  1. Copiez le dossier DriverBuddy et le fichier DriverBuddy.py dans le dossier des plugins d'IDA C:\Program Files (x86)\IDA 6.8\plugins ou partout où vous avez installé IDA

Instructions d'utilisation de DriverBuddy

  1. Démarrez IDA et ouvrez un pilote noyau Windows
  2. Allez dans Edit->Plugins et sélectionnez Driver Buddy ou appuyez sur ctrl-alt-d
  3. Consultez la fenêtre Output pour les résultats d'analyse de DriverBuddy
  4. Pour décoder les IOCTL, surlignez l'IOCTL suspecté et appuyez sur ctrl-alt-i

DriverBuddy

DriverBuddy est un plugin IDAPython qui aide à automatiser une partie de la pénibilité liée à la rétro-ingénierie des pilotes du noyau Windows. Il possède un certain nombre de fonctions pratiques, telles que :

  • Identifier le type de pilote
  • Localiser les fonctions DispatchDeviceControl et DispatchInternalDeviceControl
  • Renseigner les structures courantes pour les pilotes WDF et WDM
    • Tente d'identifier et de nommer des structures comme IRP et IO_STACK_LOCATION
    • Étiquette les appels aux fonctions WDF qui ne seraient normalement pas étiquetés
  • Trouver les codes IOCTL connus et les décoder
  • Signaler les fonctions sujettes à une mauvaise utilisation

Trouver DispatchDeviceControl

Pouvoir localiser et identifier automatiquement la fonction DispatchDeviceControl est une tâche qui fait gagner du temps lors de la rétro-ingénierie de pilotes. Cette fonction est utilisée pour acheminer tous les codes DeviceIoControl entrants vers la fonction pilote spécifique associée à ce code. Identifier automatiquement cette fonction rend la recherche des codes DeviceIoControl valides pour chaque pilote beaucoup plus rapide. De plus, lors de l'étude de vulnérabilités potentielles dans un pilote à la suite d'un crash, connaître l'emplacement de cette fonction aide à réduire le champ d'investigation à l'appel de fonction spécifique associé au code DeviceIoControl à l'origine du crash.

Étiquetage des structures WDM

Plusieurs structures de pilotes sont partagées par tous les pilotes WDM. Pouvoir identifier automatiquement ces structures, comme IO_STACK_LOCATION, IRP et DeviceObject, peut faire gagner du temps lors du processus de rétro-ingénierie. DriverBuddy tente de localiser et d'identifier un grand nombre de ces structures.

Étiquetage des fonctions WDF

Comme pour les pilotes WDM, il existe plusieurs fonctions et structures partagées par tous les pilotes WDF. Identifier automatiquement ces fonctions et structures fera gagner du temps lors du processus de rétro-ingénierie et apportera du contexte aux zones non identifiées du pilote où ces fonctions sont utilisées.

Décodage des codes DeviceIoControl

Lors de la rétro-ingénierie de pilotes, il est courant de rencontrer des codes IOCTL au cours de l'analyse. Une fois décodés, ces codes révèlent des informations utiles aux rétro-ingénieurs et peuvent attirer l'attention sur des parties spécifiques du pilote où des vulnérabilités sont plus susceptibles d'exister.

Améliorations futures :

  1. Ajouter des vérifications d'obref et de deref d'une certaine sorte pour aider à trouver les problèmes de comptage de références
  2. Peaufiner la sortie, une interface graphique ?
  3. Renforcer/peaufiner les fonctionnalités actuelles
    • Améliorer la fiabilité du détecteur de DispatchDeviceControl
    • Écrire de courtes descriptions expliquant pourquoi des éléments sont signalés
    • Importateur de documentation MSDN

Objectifs secondaires :

  1. Trouver automatiquement les IOCTL
  2. Analyse de taint IRP, c'est-à-dire suivre l'aliasing de sysbuf/inbuf, taille
  3. Identifier d'autres structures courantes
  4. Variables non initialisées, etc.

Crédits

  • Nous utilisons le décodeur d'IOCTL de Satoshi Tanda, trouvé à l'origine ici https://github.com/tandasat/WinIoCtlDecoder.
  • La structure des fonctions WDF est basée sur les travaux de Red Plait (http://redplait.blogspot.ru/2012/12/wdffunctionsidc.html) et a été portée en IDA Python par Nicolas Guigo, puis mise à jour par nous.

Licence

Ce logiciel est publié sous licence MIT, voir LICENSE.

Télécharger l’outil