
An exploitation framework for CVE-2018-19323 - GIGABYTE GDrv privilege escalation vulnerability with multi-architecture support and framework integration
Dieses Repository enthält ein vollständiges und fortschrittliches Exploitation Framework für CVE-2018-19323, eine kritische Sicherheitslücke im GIGABYTE gdrv.sys Treiber. Diese Schwachstelle ermöglicht es unprivilegierten Benutzern, beliebige modellspezifische Register (MSRs) zu lesen und zu schreiben, was zu einer vollständigen Ring-0 (Kernel)-Kompromittierung und Privilegieneskalation zu NT AUTHORITY\SYSTEM führt.
Das Framework ist modular, robust und funktionsreich konzipiert und bietet ein umfassendes Werkzeug für Sicherheitsforschung, Red Teaming und Schwachstellenanalyse.
IA32_LSTAR MSR und Ausführung eines Token-Stealing-Shellcodes.core, payloads, evasion, monitor, multiarch, framework) organisiert für einfache Erweiterung und Wartung..
├── exploit.py # Main exploitation framework and CLI
├── core.py # Core driver interaction and exploit primitives
├── payloads.py # Shellcode generation, custom payloads, and encoding
├── evasion.py # Anti-VM, anti-debugging, and persistence techniques
├── monitor.py # Logging, performance monitoring, and reporting
├── multiarch.py # Multi-architecture support (x86/x64/ARM64)
├── framework.py # Integration with Metasploit, Cobalt Strike, etc.
├── tests.py # Comprehensive unit, integration, and performance tests
└── README.md # This documentation file
gdrv.sys Treiber muss auf dem Zielsystem vorhanden sein.psutil, cryptography, requests# Install required Python packages
pip install psutil cryptography requests
Das Haupt-Exploit-Framework wird über exploit.py ausgeführt. Es bietet mehrere Befehlszeilenoptionen für verschiedene Betriebsmodi.
# Display help and all available options
python exploit.py --help
# Default stealth mode (recommended)
# Runs all pre-flight evasion checks before exploitation.
python exploit.py
# Aggressive mode
# Skips evasion checks for faster execution in controlled environments.
python exploit.py --aggressive
# Debug mode
# Provides verbose logging for development and analysis.
python exploit.py --debug
# Run the full test suite
# Validates all framework components without executing the exploit.
python exploit.py --test-only
[!WARNING] Diese Software ist ausschließlich für Bildungszwecke und autorisierte Sicherheitsforschung bestimmt. Die unbefugte Nutzung auf einem System ist illegal und strengstens untersagt. Der Autor, kali, übernimmt keine Haftung für Schäden oder Missbrauch dieses Frameworks.
Der gdrv.sys Treiber stellt einen IOCTL 0xC3502580 bereit, der von jeder Benutzermodusanwendung aufgerufen werden kann. Dieser IOCTL nimmt eine Struktur entgegen, die einen Operationstyp (Lesen/Schreiben), einen MSR-Registerindex und einen Wert enthält. Der Treiber führt keine Zugriffskontrollprüfungen durch, sodass jeder Prozess jedes MSR lesen oder schreiben kann.
Dies ist ein kritischer Fehler, da MSRs grundlegende CPU-Operationen steuern. Insbesondere das IA32_LSTAR MSR (an Adresse 0xC0000082) speichert die Adresse des Systemaufruf-Handlers im Kernel. Durch das Lesen dieses MSRs können wir die Kernel-Adressraum-Layout-Randomisierung (KASLR) umgehen und die Basisadresse des Kernels berechnen. Durch das Schreiben darauf können wir Systemaufrufe zu unserem eigenen Shellcode umleiten und eine beliebige Codeausführung in Ring-0 erreichen.
\\.\GIO Gerät.IA32_LSTAR MSR, um einen Zeiger innerhalb des Kernels zu erhalten und KASLR zu umgehen.EPROCESS-Struktur des aktuellen Prozesses finden, die EPROCESS des SYSTEM-Prozesses (PID 4) lokalisieren und dessen Sicherheitstoken in unseren Prozess kopieren.IA32_LSTAR MSR wird mit der Adresse unseres Shellcodes überschrieben.NT AUTHORITY\SYSTEM-Berechtigungen.IA32_LSTAR-Wert wird wiederhergestellt, um Systeminstabilität zu vermeiden.evasion.py-Modul enthält Prüfungen auf CPU-Kernanzahl, Festplattengröße, kürzliche Dateiaktivität, installierte Programme und erweiterte Timing-/Hooking-Erkennung, um einen robusteren Umgebungs-Fingerabdruck zu erstellen.payloads.py-Modul ermöglicht die dynamische Generierung verschiedener Payloads (Reverse Shells, Meterpreter, Cobalt Strike Beacons) für verschiedene Architekturen mit mehreren Kodierungsschichten.multiarch.py-Modul bietet eine umfassende Abstraktionsebene für die Handhabung von Unterschieden zwischen x86, x64 und ARM64, einschließlich Zeigergrößen, Aufrufkonventionen, Kernelstrukturen und Befehlssätzen.framework.py-Modul kann gebrauchsfertige Module für Metasploit (.rb), Cobalt Strike (.cna), Empire (.py) und Sliver (.go) generieren und den Integrationsprozess für Red-Team-Operationen automatisieren.Das Framework enthält eine umfassende Testsammlung in tests.py. Sie können alle Tests ausführen, um die Integrität und Funktionalität aller Komponenten zu überprüfen.
# Run all unit, integration, and performance tests
python tests.py --all
# Run only unit tests
python tests.py --unit
Dieses Projekt demonstriert fortgeschrittene Exploitation-Techniken und sollte verantwortungsvoll genutzt werden.