Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2023-20564 — Доказательство концепции эксплойта для CVE-2023-20564, демонстрирующее произвольное чтение/запись физической памяти через обработчики IOCTL драйвера AMD Ryzen Master, что позволяет повысить привилегии в Windows. | Kitploit
Инструменты/GitHubGitHub/ntgabrielgomes/cve-2023-20564
Повышение привилегийКриминалистика памятиАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеАппаратная БезопасностьЭксплуатация Бинарных Файлов
GitHub

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
ntgabrielgomes/cve-2023-20564

CVE-2023-20564

Доказательство концепции эксплойта для CVE-2023-20564, демонстрирующее произвольное чтение/запись физической памяти через обработчики IOCTL драйвера AMD Ryzen Master, что позволяет повысить привилегии в Windows.

Репозиторий
203289 месяцев назадПроверено Kitploit

CVE-2023-20564 - PoC доступа к физической памяти через драйвер AMD Ryzen Master

CVSS Platform

Обзор

Этот репозиторий содержит доказательство концепции (PoC), демонстрирующее уязвимость CVE-2023-20564 в драйвере AMD Ryzen Master. Уязвимость позволяет непривилегированным пользователям читать и записывать произвольную физическую память, что может привести к повышению привилегий и компрометации системы.

Детали уязвимости

  • CVE ID: CVE-2023-20564
  • CVSS Score: 8.8 (Высокий)
  • Vendor: AMD
  • Product: драйвер AMD Ryzen Master
  • Affected Versions: множество версий программного обеспечения AMD Ryzen Master
  • Impact: доступ на чтение/запись физической памяти, приводящий к повышению привилегий

Техническое описание

Драйвер AMD Ryzen Master (AMDRyzenMasterDriverV17.sys) содержит недостаточную проверку в своих обработчиках IOCTL, а именно:

  • Read IOCTL: 0x81112F08 - Позволяет читать произвольную физическую память
  • Write IOCTL: 0x81112F0C - Позволяет записывать произвольную физическую память

Драйвер не выполняет надлежащую проверку:

  1. Адресов физической памяти
  2. Границ размера
  3. Защищённых областей памяти

Это позволяет вредоносным приложениям:

  • Читать чувствительные структуры данных ядра
  • Изменять критические компоненты системы
  • Обходить защиту ядра Windows
  • Достигать выполнения произвольного кода в режиме ядра

Необходимые файлы

  • AMDRyzenMasterDriverV17.sys - файл уязвимого драйвера
  • Исходный код из этого репозитория

2. Компиляция PoC

# manually
g++ -std=c++17 poc_demo.cpp -o poc_demo.exe -ladvapi32

Ключевые компоненты

Структуры памяти

typedef struct _AMDReadStructure {
    LARGE_INTEGER PhysAddr;     // Physical address to read
    LARGE_INTEGER SizeAndData;  // Size and data buffer
    CHAR Buffer[1];             // Variable data buffer
} AMDReadStructure, *PAMDReadStructure;

Основные функции

  • ReadPhysicalMemory() - Чтение из физической памяти
  • WritePhysicalMemory() - Запись в физическую память
  • TestReadWriteVerify() - Полная последовательность тестирования
  • InstallDriverService() - Установка драйвера
  • StopAndRemoveDriverService() - Очистка драйвера

Пример вывода

===========================================
  AMD Ryzen Master Driver - Memory PoC    
===========================================

[*] Installing and starting driver service...
[+] Driver file found
[+] Service created successfully
[+] Service started successfully

[*] Initializing driver connection...
[+] Driver connection established successfully

[!] TESTING READ/WRITE/VERIFY SEQUENCE

[STEP 1] Reading original data...
[*] Reading 8 bytes from physical address 0x100000
[*] PHYSICAL MEMORY READ SUCCESS!
    Read 8 bytes from 0x100000
    Data: 4D 5A 90 00 03 00 00 00

[STEP 2] Writing test data...
[*] Writing 8 bytes to physical address 0x100000
    Data: DE AD BE EF CA FE BA BE
[*] PHYSICAL MEMORY WRITE SUCCESS!
    Wrote 8 bytes to 0x100000

[STEP 3] Verifying written data...
[*] Reading 8 bytes from physical address 0x100000
[*] PHYSICAL MEMORY READ SUCCESS!
    Data: DE AD BE EF CA FE BA BE

[*] DATA VERIFICATION SUCCESS! Write/Read works correctly!

Технический анализ

Анализ обработчика IOCTL

Уязвимый драйвер предоставляет два основных IOCTL:

  1. Physical Memory Read (0x81112F08)

    • Вход: физический адрес + размер
    • Выход: содержимое памяти по указанному адресу
    • Нет проверки диапазонов адресов
  2. Physical Memory Write (0x81112F0C)

    • Вход: физический адрес + размер + данные
    • Выход: отсутствует
    • Нет проверки защищённых областей памяти

Ссылки

  • CVE-2023-20564 - MITRE
  • NVD Entry
  • AMD Security Advisory
  • Windows Driver Security Best Practices

Помните: Этот инструмент предназначен только для авторизованного тестирования безопасности. Всегда получайте соответствующее разрешение перед тестированием на любой системе.

Скачать инструмент