Фреймворк эксплуатации для CVE-2018-19323 - уязвимость повышения привилегий GIGABYTE GDrv с поддержкой нескольких архитектур и интеграцией в фреймворк
Этот репозиторий содержит полный и продвинутый фреймворк эксплуатации для CVE-2018-19323, критической уязвимости в драйвере GIGABYTE gdrv.sys. Эта уязвимость позволяет непривилегированным пользователям читать и записывать произвольные модельно-специфические регистры (MSR), что приводит к полной компрометации Ring-0 (ядра) и повышению привилегий до NT AUTHORITY\SYSTEM.
Фреймворк спроектирован как модульный, надежный и многофункциональный, предоставляя комплексный инструмент для исследований безопасности, red teaming и анализа уязвимостей.
IA32_LSTAR и выполнения шеллкода, крадущего токен.core, payloads, evasion, monitor, multiarch, framework) для легкого расширения и сопровождения..
├── 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 должен присутствовать на целевой системе.psutil, cryptography, requests# Install required Python packages
pip install psutil cryptography requests
Основной фреймворк эксплойта запускается через exploit.py. Он предоставляет несколько опций командной строки для различных режимов работы.
# 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] Это программное обеспечение предназначено только для образовательных и авторизованных целей исследования безопасности. Несанкционированное использование на любой системе незаконно и строго запрещено. Автор, kali, не несет ответственности за любой ущерб или неправильное использование этого фреймворка.
Драйвер gdrv.sys предоставляет IOCTL 0xC3502580, который может быть вызван любым приложением пользовательского режима. Этот IOCTL принимает структуру, содержащую тип операции (чтение/запись), индекс регистра MSR и значение. Драйвер не выполняет никаких проверок контроля доступа, позволяя любому процессу читать или записывать любой MSR.
Это критическая ошибка, поскольку MSR управляют фундаментальными операциями ЦП. В частности, MSR IA32_LSTAR (по адресу 0xC0000082) хранит адрес обработчика системных вызовов в ядре. Читая этот MSR, мы можем обойти рандомизацию адресного пространства ядра (KASLR) и вычислить базовый адрес ядра. Записывая в него, мы можем перенаправить системные вызовы на наш собственный шеллкод, добившись произвольного выполнения кода в Ring-0.
\\.\GIO.IA32_LSTAR, чтобы получить указатель внутри ядра, обходя KASLR.EPROCESS текущего процесса, нахождения EPROCESS процесса SYSTEM (PID 4) и копирования его токена безопасности в наш процесс.IA32_LSTAR перезаписывается адресом нашего шеллкода.NT AUTHORITY\SYSTEM.IA32_LSTAR восстанавливается для предотвращения нестабильности системы.evasion.py включает проверки количества ядер ЦП, размера диска, недавней активности файлов, установленных программ и расширенное обнаружение таймингов/хуков для создания более надежного отпечатка окружения.payloads.py позволяет динамически генерировать различные пейлоады (reverse shells, Meterpreter, Cobalt Strike beacons) для разных архитектур с несколькими уровнями кодирования.multiarch.py предоставляет комплексный уровень абстракции для обработки различий между x86, x64 и ARM64, включая размеры указателей, соглашения о вызовах, структуры ядра и наборы инструкций.framework.py может генерировать готовые к использованию модули для Metasploit (.rb), Cobalt Strike (.cna), Empire (.py) и Sliver (.go), автоматизируя процесс интеграции для операций red team.Фреймворк включает полный набор тестов в tests.py. Вы можете запустить все тесты, чтобы убедиться в целостности и функциональности всех компонентов.
# Run all unit, integration, and performance tests
python tests.py --all
# Run only unit tests
python tests.py --unit
Этот проект является демонстрацией продвинутых техник эксплуатации и должен использоваться ответственно.