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
CVE-2021-38304-PoC — CVE-2021-38304 Preuve de concept | Kitploit
Outils/GitHubGitHub/philsajdak/cve-2021-38304-poc
Criminalistique MémoireAnalyse des VulnérabilitésExploitationApprentissage et ÉducationExploitation de Binaires
GitHubphilsajdak/cve-2021-38304-poc

CVE-2021-38304-PoC

CVE-2021-38304 Preuve de concept

Voir le dépôt
4il y a 1 anPas encore vérifié

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

CVE-2021-38304 Preuve de concept

Aperçu

Ce dépôt contient une preuve de concept pour une vulnérabilité de sécurité critique dans les anciennes versions du pilote National Instruments nipalk.sys. La vulnérabilité permet l'exécution de code arbitraire et la divulgation de mémoire en mode noyau. Elle est destinée uniquement à la recherche personnelle.

Description

Le pilote nipalk.sys gère incorrectement les pointeurs fournis par l'utilisateur lors du traitement d'une requête IOCTL spécifique. Cette faille permet à un attaquant de fournir un pointeur de fonction que le pilote appellera en contexte noyau avec des paramètres contrôlés.

Points clés

  • Contrôle du pointeur de fonction: Le pilote appelle un pointeur de fonction fourni par l'utilisateur sans validation appropriée.
  • Contrôle des paramètres: L'attaquant peut contrôler les registres RCX et RDX pendant l'appel de fonction.
  • Divulgation de mémoire: En appelant des fonctions comme RtlCopyMemory, un attaquant peut lire de la mémoire noyau arbitraire.
  • Déni de service (DoS): Passer un pointeur de fonction invalide provoque un crash système en raison de l'absence de validation d'entrée du pilote.

Cause racine

La vulnérabilité provient du fait que le pilote ne valide pas les pointeurs fournis par les applications en mode utilisateur. Lors du traitement de l'IOCTL 0xABCD03C4, le pilote récupère un pointeur de fonction à partir d'une structure contrôlée par l'utilisateur et l'invoque sans vérifications appropriées:

root@kitploit:~
0045561e 48 8b 01        MOV        RAX,qword ptr [param_1]
00455621 49 8b 52 18     MOV        irp,qword ptr [R10 + 0x18]
00455625 ff 50 08        CALL       qword ptr [RAX + 0x8]
  • Le pointeur de fonction à [RAX + 8] est exécuté en contexte noyau.
  • Les paramètres RCX et RDX sont contrôlés par l'utilisateur.

Exemple de sortie

  • Fuite de mémoire réussie:
root@kitploit:~
[+] Starting exploit
[+] Memory allocated
[+] Values before IOCTL:
   exploit->dummy: 00000000001b0000
   exploit->function_pointer: fffff8017ea21300
[+] Device opened successfully
[+] Sending IOCTL
[+] Values after IOCTL:
   exploit->dummy: 7208f88349c18b48
   exploit->function_pointer: ffff7710f8834937
[+] DeviceIoControl succeeded. Bytes returned: 8
[+] Buffer Output: 1769472
[!] WARNING: exploit->dummy has changed!
[!] WARNING: exploit->function_pointer has changed!
[+] Exploit finished

Avertissement

Cette preuve de concept est destinée uniquement à des fins éducatives.

Télécharger l’outil