Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2021-38304-PoC — CVE-2021-38304 Proof of Concept | Kitploit
Tools/GitHubGitHub/philsajdak/cve-2021-38304-poc
SpeicherforensikSchwachstellenanalyseExploitationLernen & BildungBinary-Exploitation
GitHubphilsajdak/cve-2021-38304-poc

CVE-2021-38304-PoC

CVE-2021-38304 Proof of Concept

Repository anzeigen
vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2021-38304 Proof of Concept

Übersicht

Dieses Repository enthält einen Proof of Concept für eine kritische Sicherheitslücke in älteren Versionen des National Instruments nipalk.sys-Treibers. Die Schwachstelle ermöglicht beliebige Codeausführung und Speicherauslesen im Kernel-Modus. Sie ist ausschließlich für private Forschungszwecke gedacht.

Beschreibung

Der nipalk.sys-Treiber verarbeitet benutzerbereitgestellte Zeiger während der Verarbeitung einer bestimmten IOCTL-Anforderung nicht ordnungsgemäß. Dieser Fehler ermöglicht es einem Angreifer, einen Funktionszeiger bereitzustellen, den der Treiber im Kernel-Kontext mit kontrollierten Parametern aufruft.

Kernpunkte

  • Funktionszeiger-Kontrolle: Der Treiber ruft einen benutzerbereitgestellten Funktionszeiger ohne ordnungsgemäße Validierung auf.
  • Parameterkontrolle: Der Angreifer kann die Register RCX und RDX während des Funktionsaufrufs kontrollieren.
  • Speicherauslesen: Durch Aufrufen von Funktionen wie RtlCopyMemory kann ein Angreifer beliebigen Kernel-Speicher lesen.
  • Denial of Service (DoS): Das Übergeben eines ungültigen Funktionszeigers führt aufgrund fehlender Eingabevalidierung des Treibers zu einem Systemabsturz.

Grundursache

Die Schwachstelle entsteht dadurch, dass der Treiber es versäumt, von Benutzermodus-Anwendungen bereitgestellte Zeiger zu validieren. Während der Verarbeitung von IOCTL 0xABCD03C4 holt der Treiber einen Funktionszeiger aus einer benutzergesteuerten Struktur und ruft ihn ohne ordnungsgemäße Überprüfungen auf:

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]
  • Der Funktionszeiger an [RAX + 8] wird im Kernel-Kontext ausgeführt.
  • Die Parameter RCX und RDX werden vom Benutzer kontrolliert.

Beispielausgabe

  • Erfolgreiches Speicherauslesen:
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

Haftungsausschluss

Dieser PoC dient ausschließlich zu Bildungszwecken.

Tool herunterladen