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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-51585 — rt26cx21x64.sys эксплойт (семейство Realtek PCIe GbE/2.5GbE/5GbE) | Kitploit
Инструменты/GitHubGitHub/catforgor/cve-2026-51585
Анализ уязвимостейЭксплуатацияОбратная инженерияБезопасность оборудования и IoTЭксплуатация Бинарных Файлов
GitHubcatforgor/cve-2026-51585

CVE-2026-51585

rt26cx21x64.sys эксплойт (семейство Realtek PCIe GbE/2.5GbE/5GbE)

Репозиторий
3105 месяцев назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

realtek poc

rt26cx21x64.sys эксплойт (семейство Realtek PCIe GbE/2.5GbE/5GbE)

Обзор

OID 0xFF816871 отображает mmio bar сетевого адаптера в адресное пространство вызывающего процесса, (MmLockedPagesSpecifyCache), доступный из um через \.\RealTekCard{GUID}

Этот IOCTL (0x0012C818) ограничен значением реестра (DrvMode=4)

Как только у нас есть доступ к регистрам mmio, мы программируем кольца tx/rx дескрипторов сетевого адаптера в режиме loopback для чтения/записи произвольных физических адресов (AllocateUserPhysicalPages даёт нам PFN).

Обратная разработка

Диспетчеризация IOCTL

IOCTL 0x12C008 (1230872) — первая уязвимая ветка диспетчеризации. 0x12C00C и 0x12C010 ведут к другим путям, a5 переносит код IOCTL через switch

Диспетчеризация IOCTL

Шлюз режима

Прежде чем попасть на путь DMA, драйвер проверяет глобальный флаг DrvMode, бит 2 должен быть установлен, иначе мы никогда не достигнем уязвимого пути отображения MMIO.

Проверка шлюза режима

dword_1400D0208 и 4 — это проверка

Обход защит

Два защитника стоят перед уязвимым путём, оба должны вернуть false, чтобы попасть на путь DMA: это байтовый флаг в расширении устройства и проверка режима на предыдущем изображении

Обход защиты

!_(_BYTE _)(a1 + 12465) легко обойти — нам просто нужно убедиться, что устройство не инициализировано.

sub_14001B67C также тривиально проста.

Выделение MDL

Драйвер выделяет MDL поверх предоставленного вызывающим физического адреса без какой-либо проверки, нет ни проверки границ, ни диапазона — вообще ничего.

Выделение MDL

Физическое отображение

MDL отображается в ядро VA, и базовый адрес передаётся вызывающему, 0x40000010 — это MAP_NO_EXECUTE и MmNonCached.

MmMapLockedPages

MmMapLockedPagesSpecifyCache создаёт отображённый VA, который записывается в *a2 и возвращается в um, что даёт нам примитив произвольного чтения/записи физической памяти.

Требования

  • Совместимый адаптер Realtek, соответствующий nic.h.

Использование

Запускать от имени администратора.

После первого запуска значения реестра будут установлены, и потребуется перезагрузка ПК.

Для работы ваш сетевой адаптер должен находиться в состоянии link UP (чтобы мы могли обрабатывать дескрипторы).

Либо:

  • Подключите ethernet-кабель к другому ПК, роутеру или чему-либо ещё, что даст link UP

ИЛИ

  • Замкните контакты 1-2 и 3-6 на порту RJ45, чтобы поднять link UP

Сборка

root@kitploit:~
$ cmake -B build
$ cmake --build build --config Release

Примечания

  • Я вырезал большую часть интересного (cr3, stomping и т.д., и т.п.), но это базовый POC
Скачать инструмент