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
Outils/GitHubGitHub/lleon1435/kernel_vadinjector
Évasion IDS/IPSShellcodePost-ExploitationRed TeamingDéveloppement de Charges UtilesAttaque Adversariale
GitHublleon1435/kernel_vadinjector

Kernel_VADInjector

Injecteur de DLL pour Windows 10 via un pilote utilisant VAD et dissimulant le pilote chargé

Voir le dépôt
54124il y a 2 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

Driver DLL Injector

Driver DLL Injector Description

Le Driver DLL Injector est un outil puissant qui permet aux utilisateurs de charger les pilotes de leur choix à l'aide de leur mapper préféré. En exploitant les capacités d'un chargeur de pilotes non signés, tel que KDmapper, cet injecteur a été développé et testé sur des processus Windows 10 2004 x64

Partie pilote :

Le pilote hooke une fonction sûre protégée par Patch Guard, connue sous le nom de xKdEnumerateDebuggingDevices, pour communiquer avec notre processus en mode utilisateur. Cette méthode est fortement détectée par les anti-cheats populaires, alors nous allons plus loin et piégeons un thread en mode utilisateur dans le noyau pour communiquer, en restaurant l'adresse de la fonction d'origine afin de contourner les contrôles d'intégrité des fonctions.

Le pilote effectue ce qui suit pour masquer les traces laissées derrière lui :

  • Manipulation de la VAD : Le pilote alloue stratégiquement de la mémoire derrière la "pile de threads" en exploitant des fonctions non documentées de descripteur d'adresse virtuelle (VAD) comme MiInsertChange et MiAllocVad, qui sont peu connues. Une fois la VAD allouée et la DLL chargée avec succès, le pilote supprime la VAD de l'arborescence VAD.

  • Manipulation des PTE : Pour contourner les contrôles de NtQueryVirtualMemory, le pilote manipule les entrées de table de pages (PTE) afin de rendre exécutables les pages allouées par la VAD. En modifiant les PTE, le pilote s'assure que la VAD ne se met pas à jour avec le bit exécutable (X) activé, contournant ainsi les restrictions potentielles.

  • Nettoyage de PiDDBCacheTable, MmUnloadedDrivers (liste de compartiments de hachage).

  • Selon le mapper manuel que vous utilisez pour le pilote, vous devez également prendre en compte les gros pools.

Partie mode utilisateur :

Le processus en mode utilisateur utilise l'overlay de Discord pour appeler la fonction main de notre DLL.

Le processus en mode utilisateur effectue les opérations suivantes :

  • « Se lie » à la fonction kernel hookée, en fournissant toutes nos adresses et codes de message.
  • Scanne le processus pour détecter l'overlay Discord ; s'il est trouvé, configure le shellcode et alloue la VAD.
  • Configure le shellcode pour appeler le main de la DLL, puis
  • Une fois la DLL injectée, le processus en mode utilisateur envoie un message au pilote disant « Nous avons terminé ! » et le pilote nettoie toutes les traces laissées derrière lui.

Pour utiliser le Driver DLL Injector, suivez ces étapes :

root@kitploit:~
1. Choisissez et installez un mapper compatible, tel que KDmapper.
2. Compilez ou construisez le projet Driver DLL Injector.
3. Chargez le pilote à l'aide du mapper sélectionné
4. Lancez l'application de test (avec l'overlay Discord activé)
5. Lancez l'application en mode utilisateur et attendez la boîte de message Hello World.

Vecteurs de détection

  • Parcours de tables de pages, parcours de piles, etc.
  • WDF listera le pilote chargé car il n'est pas nettoyé comme MmUnLoadedDrivers
  • Le thread en mode utilisateur passera une quantité insensée de cycles CPU en mode noyau ; vérifiez le « Temps noyau » dans le gestionnaire des tâches.

Problèmes rencontrés

Lors de la création de ce projet, plusieurs obstacles se sont présentés en cours de route. Parmi ceux-ci :

  • Crash de la DLL parce que les propriétés de la DLL étaient mal configurées. Définir /sdl-, /GS- et la bibliothèque d'exécution sur /MT a résolu mes problèmes de crash.
  • Le mapping du pilote à l'aide d'un mapper provoquait un BSOD KMODE_EXCEPTION ; corrigé en définissant la propriété du pilote /GS-.
  • L'overlay de Discord prend du temps à s'initialiser ; si vous essayez d'injecter avant que l'overlay ne soit initialisé, vous planterez à cause de pointeurs NULL.

Crédits

ModMap - pour avoir montré la manipulation de la VAD

SkCrypt - pour le chiffrement

Stealthy Kernel Mode Injector - pour la base du pilote

Poseidon - pour avoir piégé le thread UM dans le monde du noyau

FACE INJECTOR - pour le shellcode

Télécharger l’outil