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

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

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

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

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

Категории

Все категории
Loading categories
DirtyClone — Концепт-доказательство инструмента локального повышения привилегий, эксплуатирующего уязвимость ядра XFRM/ESP (CVE-2026-43503) через специально созданные полезные нагрузки AES-CBC, доставляемые через сетевой стек для изменения страничного кэша SUID-бинарных файлов. | Kitploit
Инструменты/GitHubGitHub/gl1tch0x1/dirtyclone
Повышение привилегийЭксплуатацияШелл-кодКриптографияРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubgl1tch0x1/dirtyclone

DirtyClone

Концепт-доказательство инструмента локального повышения привилегий, эксплуатирующего уязвимость ядра XFRM/ESP (CVE-2026-43503) через специально созданные полезные нагрузки AES-CBC, доставляемые через сетевой стек для изменения страничного кэша SUID-бинарных файлов.

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

Популярное

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

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

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

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

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

DirtyClone

DirtyClone — это диагностический proof-of-concept инструмент для локального повышения привилегий, написанный на C. Он нацелен на путь эксплуатации, связанный с ядром/XFRM, описанный в исходном коде как CVE-2026-43503, и предназначен исключительно для авторизованных исследований безопасности в контролируемых средах.

Обзор

Этот репозиторий содержит:

  • dirtyclone.c — полная реализация эксплойта
  • README.md — руководство по использованию и среде

Текущая реализация выполняет следующие шаги высокого уровня:

  • создаёт изолированные пространства имён пользователя и сети,
  • настраивает loopback-сеть и состояния/политики XFRM/IPsec,
  • формирует ESP-полезную нагрузку с использованием AES-CBC шифрования,
  • пытается доставить её через TEE-основанный UDP-путь и резервный raw IP,
  • ожидает, пока кэш страниц целевого SUID-бинарного файла будет изменён,
  • запускает целевой бинарный файл, если кэш страниц модифицирован.

Важное уведомление

Этот инструмент предназначен только для авторизованного тестирования безопасности. Запуск на системах без явного разрешения может быть незаконным и может повлиять на целостность системы.

Сборка

Сначала установите необходимый пакет разработки OpenSSL:

root@kitploit:~
# Debian/Ubuntu
sudo apt-get install libssl-dev

# Fedora
sudo dnf install openssl-devel

# Arch Linux
sudo pacman -S openssl

Затем скомпилируйте бинарный файл:

root@kitploit:~
gcc -o dirtyclone dirtyclone.c -lcrypto -Wall -O2

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

Запустите программу с помощью:

root@kitploit:~
./dirtyclone

Необязательные аргументы:

root@kitploit:~
./dirtyclone -q    # тихий режим
./dirtyclone -v    # подробный режим (по умолчанию)
./dirtyclone -h    # показать справку

Что делает программа

Во время выполнения программа:

  1. печатает баннер и проверяет, запущена ли она уже от root;
  2. проверяет детали ядра и архитектуры и сообщает, соответствует ли система уязвимому диапазону;
  3. настраивает пространства имён и loopback-сеть;
  4. настраивает состояния/политики XFRM и пытается добавить правило TEE netfilter;
  5. отображает целевой SUID-бинарный файл в память и выводит сводку PoC оригинальных и ожидаемых байтов;
  6. отправляет ESP-пакет, используя либо UDP+TEE, либо резервный raw IP;
  7. ожидает, пока кэш страниц отразит внедрённые байты, а затем пытается выполнить целевой бинарный файл.

Как работает DirtyClone

Эксплойт построен на простой идее: программа подготавливает специально сформированную полезную нагрузку ESP/XFRM, которая заставляет ядро расшифровывать данные в область памяти, поддерживаемую кэшем страниц, а затем проверяет, изменились ли байты в целевом SUID-бинарном файле.

На практике программа выполняет следующие действия:

  • идентифицирует целевой файл /usr/bin/su и отображает его в память;
  • подготавливает небольшую полезную нагрузку, содержащую байты шелл-кода и необходимые метаданные ESP;
  • шифрует полезную нагрузку с помощью AES-CBC, чтобы её можно было передать через путь XFRM/ESP;
  • отправляет пакет через локальный сетевой стек, используя либо TEE-ассистированный UDP, либо резервный raw IP;
  • отслеживает отображённую область на предмет появления ожидаемых байтов;
  • если байты появляются, предполагается, что путь эксплуатации изменил кэш страниц, и выполняется изменённый целевой путь.

Это proof-of-concept поток, а не универсальный фреймворк для повышения привилегий. Он предназначен для демонстрации механизма эксплуатации и помощи в проверке, сохранилось ли уязвимое поведение в целевом ядре.

Пример упрощённой реализации

Следующий упрощённый пример показывает ту же концепцию на высоком уровне:

root@kitploit:~
#include <stdio.h>
#include <string.h>

static int dummy_exploit(unsigned char *target_bytes) {
    unsigned char expected[] = {0x31, 0x0f, 0x05};
    memcpy(target_bytes, expected, sizeof(expected));
    return 0;
}

int main(void) {
    unsigned char target[16] = {0};
    dummy_exploit(target);
    printf("Patched bytes: %02x %02x %02x\n", target[0], target[1], target[2]);
    return 0;
}

Реальный проект использует тот же принцип, но упаковывает полезную нагрузку в виде пакета ESP/XFRM и задействует путь ядра через сетевой стек вместо простого копирования в память.

Пошаговое описание эксплуатации

  1. Фаза настройки

    • программа создаёт пространства имён для изоляции среды процесса;
    • настраивает loopback-сеть, чтобы пакеты оставались локальными.
  2. Подготовка XFRM

    • эксплойт добавляет состояния и политики XFRM, которые сообщают ядру, как обрабатывать ESP-трафик;
    • также пытается установить правило TEE, чтобы трафик можно было перенаправить через запланированный путь.
  3. Конструирование полезной нагрузки

    • код формирует небольшой открытый текст, содержащий байты шелл-кода;
    • полезная нагрузка шифруется с помощью AES-CBC с использованием статического тестового ключа.
  4. Фаза доставки

    • программа отправляет специально сформированный ESP-пакет через UDP или raw IP;
    • ядро обрабатывает пакет, и на уязвимой системе записывает расшифрованные данные обратно в область кэша страниц целевого бинарного файла.
  5. Проверка и выполнение

    • код отслеживает байты целевого файла и проверяет, совпадают ли они с ожидаемыми байтами шелл-кода;
    • если совпадают, он пытается выполнить целевой бинарный файл и передать управление пути внедрённой полезной нагрузки.

Технические детали

Реализация включает:

  • адаптивную логику повторных попыток при ожидании изменений кэша страниц,
  • процедуры очистки, зарегистрированные через atexit и обработчики сигналов,
  • безопасное выполнение команд на основе fork/execvp,
  • AES-CBC шифрование с использованием EVP API OpenSSL,
  • шелл-код для архитектур x86_64 и AArch64,
  • двойную логику доставки как для TEE-ассистированного UDP, так и для raw IP транспорта.

Предварительные требования

Исходный код ожидает окружение Linux с:

  • GCC или Clang,
  • заголовочными файлами и библиотеками разработки OpenSSL,
  • доступными командами ip, iptables и modprobe,
  • целевым бинарным файлом /usr/bin/su,
  • ядром, которое может быть уязвимо к описанному пути эксплуатации.

Ожидаемое поведение

Программа предназначена для отображения диагностической сводки PoC и затем либо:

  • успешно изменяет кэш страниц и выполняет целевой бинарный файл, либо
  • корректно завершается с сообщением, если ядро исправлено или путь эксплуатации недоступен.

Если эксплойт не срабатывает, программа печатает чёткое сообщение, предполагающее, что ядро, скорее всего, исправлено.

Безопасность и этика

Используйте этот проект только когда:

  • вы владеете целевой системой,
  • у вас есть явное разрешение на её тестирование,
  • вы работаете в лабораторной или изолированной среде.

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

Лицензия и авторство

Заголовок исходного кода указывает автора как MrAashish0x1 (gl1tch0x1). Репозиторий не содержит отдельного файла лицензии, поэтому код следует рассматривать как исследовательский материал, а не как производственное программное обеспечение.

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