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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-6769 — Технический разбор и PoC для CVE-2024-6769, объединяющие перехват DLL с отравлением кэша активации для повышения привилегий со среднего до высокого уровня целостности в системах Windows. | Kitploit
Инструменты/GitHubGitHub/fortra/cve-2024-6769
Повышение привилегийАнализ уязвимостейЭксплуатацияСтатьи и ИсследованияОбучение и ОбразованиеЭксплуатация Бинарных Файлов
GitHubfortra/cve-2024-6769

CVE-2024-6769

Технический разбор и PoC для CVE-2024-6769, объединяющие перехват DLL с отравлением кэша активации для повышения привилегий со среднего до высокого уровня целостности в системах Windows.

Репозиторий
781182 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Blogpost: CVE-2024-6769 Отравление кэша активации для повышения с medium до high integrity

В этом блоге рассказывается о двух связанных ошибках: первая стадия — это DLL-хайекинг, вызванный переопределением ROOT-диска, а вторая стадия — это отравление кэша активации (Activation Cache Poisoning), управляемое сервером CSRSS.

Первая стадия была подробно представлена на Ekoparty 2023 в докладе под названием "I'm High" Николаса Экономо из BlueFrost Security. Он объяснил, как эксплуатировать уязвимость, которая на тот момент ещё не была исправлена Microsoft. Это позволяло пользователю с MEDIUM INTEGRITY повысить свои привилегии до ограниченных HIGH PRIVILEGES, но без полного доступа к функциям администратора.

Вторая стадия не была представлена на этой конференции, хотя были предложены некоторые шаги для начала её исследования.

Для начала мы рассмотрим первую стадию, чтобы дать вводный контекст. Затем мы углубимся в моё исследование второй стадии, детально разберём полное повышение с ограниченного HIGH INTEGRITY до полного администратора. Это включает полностью рабочее PoC для обеих стадий для всех версий Windows, успешно протестированное на Windows 10, Windows 11, Windows Server 2022 и Windows Server 2019 со всеми установленными обновлениями.

Содержание:

  • Обзор первой стадии
  • Шаги для эксплуатации второй стадии
  • Что такое Activation Cache?
  • Использование ALPC-вектора атаки для отравления Activation Cache
  • Как система примет наш Activation Context?
  • Как отравить Activation Cache?
  • Как читается мой встроенный XML-манифест?
  • Как разбирается встроенный XML-манифест?
  • Как в итоге загружается моя фальшивая imm32.dll?
  • Видеодемонстрация.
  • Функциональное Proof of Concept
  • TL;DR Краткое описание шагов эксплуатации

Обзор первой стадии

Красный квадрат с белым текстом и цифрой на нём. Описание создано автоматически

Единственное требование для этой стадии — чтобы начальный процесс имел MEDIUM INTEGRITY LEVEL, а пользователь принадлежал к группе Администраторов.

Первую стадию эксплуатации можно обобщить следующими шагами:

  1. Переопределение ROOT-диска с помощью функции NtCreateSymbolicLinkObject.

Например: переопределение диска с

"C:" на "C:\users\public"

Это также переопределит папку "system32" с

"C:\windows\system32" на "C:\users\public\windows\system32"

  1. После переопределения некоторые службы затрагиваются и пытаются загрузить библиотеки из новой фальшивой папки system32, контролируемой пользователем.

Одной из таких затронутых программ является CTFMON, которая работает на HIGH INTEGRITY LEVEL, но без прав Администратора.

Обычно она пытается загрузить модуль MsCtfMonitor.dll из реальной папки system32, но, так как ROOT-диск переопределён, она ищет MsCtfMonitor.dll в нашей фальшивой папке system32, где мы можем создать и разместить поддельную DLL с тем же именем.

  1. Создаём MsCtfMonitor.dll

На этом этапе, поместив нашу версию MsCtfMonitor.dll в фальшивую папку system32, будет вызвана её функция DoMsCtfMonitor, которая выполнит наш код с HIGH INTEGRITY LEVEL.

  1. Размещаем MessageBoxA в функции DoMsCtfMonitor. Когда MsCtfMonitor.dll загрузится, появится MessageBoxA "TRIGGER".

  1. Проверяем, что DLL загружена в процесс CTFMON, работающий с HIGH INTEGRITY LEVEL:

В то же время мы можем подтвердить, что процесс, несмотря на HIGH INTEGRITY LEVEL, не имеет прав Администратора:

Шаги для эксплуатации второй стадии Красный квадрат с белым текстом и цифрой на нём. Описание создано автоматически

В своём докладе на Ekoparty Николас предложил следующие шаги для завершения эксплуатации:

Хотя это выглядит просто, требуется много времени на реверс-инжиниринг и отладку.

При более глубоком изучении этой истории векторов атак стало ясно, что отравление кэша контекста активации (Activation Context Cache) использовалось в некоторых эксплойтах. Следовательно, стоит изучить, как ранее проводилась эксплуатация, чтобы получить дополнительный контекст и понимание. Подробности об этой эксплуатации доступны в отчёте Zero Day Initiative Activation Context Cache Poisoning: Exploiting CSRSS for Privilege Escalation.

Что такое Activation Cache?

Использование кэша активации происходит, когда программа собирается загрузить библиотеку, требующую определённой версии.

Например, если приложение собирается загрузить C:\Windows\System32\comctl32.dll, нет гарантии, что comctl32.dll в этом расположении — это та версия, которая нужна приложению. Это базовый пример использования кэша контекстов активации. Программа может отправить запрос серверу CSRSS для обработки новой записи контекста активации для внесения в кэш, чтобы программа могла загрузить нужную версию библиотеки.

Для этого используется так называемый манифест в формате XML. Обычно он встроен как ресурс в EXE или DLL-файл. Альтернативно, Windows ищет файл манифеста в той же папке, где находится исполняемый файл программы.

В упомянутом выше URL есть несколько примеров файлов манифеста, использовавшихся в старых эксплойтах, например, обман системы с целью загрузки библиотеки advapi32.dll из папки, контролируемой атакующим, с помощью техники PATH TRAVERSAL.

Конечно, некоторые использованные векторы атак были исправлены, а также обнаружены новые техники. Кроме того, в октябрьском обновлении 2022 года для Windows 11 22H2 была добавлена новая проверка.

После внедрения этого исправления проверка при регистрации Activation Context (ACTX) может быть обойдена только в том случае, если процесс, добавляющий новую запись в кэш, имеет тот же или более высокий RID, чем процесс, который будет её использовать.

В winnt.h можно увидеть значения RID:

Предложение для обхода этой проверки — создать запрос с Activation Context из процесса CTFMON, где выполняется поддельная DLL. Эта поддельная DLL имеет RID=0x3000, и после добавления записи в кэш процесс TCMSETUP с RID=0x3000 загрузит tapi32.dll.

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