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

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

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

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

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

Категории

Все категории
Loading categories
COPY-FAIL — Copy Fail - CVE-2026-31431 - Реализация на C для Red Team и авторизованных тестов на проникновение, с усиленной защитой. ⚠️ Правовое уведомление: Этот инструмент предназначен исключительно для авторизованных исследований безопасности, авторизованного тестирования на проникновение и защитного анализа. Используйте только на системах, которыми вы владеете или на которые имеете явное письменное разрешение на тестирование. Несанкционированный доступ к компьютерным системам является незаконным. | Kitploit
Инструменты/GitLabGitLab/toxy4ny/copy-fail
Повышение привилегийЭксплуатацияПост-эксплуатацияКомандование и УправлениеRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitLabtoxy4ny/copy-fail

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

Copy Fail - CVE-2026-31431 - Реализация на C для Red Team и авторизованных тестов на проникновение, с усиленной защитой. ⚠️ Правовое уведомление: Этот инструмент предназначен исключительно для авторизованных исследований безопасности, авторизованного тестирования на проникновение и защитного анализа. Используйте только на системах, которыми вы владеете или на которые имеете явное письменное разрешение на тестирование. Несанкционированный доступ к компьютерным системам является незаконным.

COPY-FAIL

РепозиторийСайт
1102 месяцев назадЕщё не проверено
Поделиться

Copy Fail -- CVE-2026-31431

Улучшенная реализация на C для операций redteam и авторизованного тестирования на проникновение.

⚠️ Юридическое уведомление: Этот инструмент предназначен исключительно для авторизованных исследований безопасности, авторизованного тестирования на проникновение и защитного анализа. Используйте только на системах, которые вам принадлежат или на тестирование которых вы имеете явное письменное разрешение. Несанкционированный доступ к компьютерным системам является незаконным.

🚀 Основная разработка перенесена на GitLab.
Этот репозиторий активно поддерживается здесь. Для сообщений об ошибках и внесения вклада, пожалуйста, используйте GitLab.


Содержание

  • Обзор
  • Оригинальное исследование
  • Наши улучшения
  • Архитектура
  • Сборка
  • Использование
  • Модули
  • Операционная безопасность
  • Обнаружение и смягчение
  • Благодарности
  • Лицензия

Обзор

Этот проект представляет собой улучшенный, готовый к эксплуатации порт на C эксплойта локального повышения привилегий CVE-2026-31431 («Copy Fail»), первоначально раскрытого компаниями Theori и Xint 29 апреля 2026 года.

Исходное доказательство концепции было написано на Python и предназначено для демонстрации исследования. Наша реализация превращает его в инструментарий уровня redteam, обладающий:

  • Нулевым количеством артефактов на диске (бесфайловое исполнение на основе memfd)
  • Автоматическим обнаружением целей (перечисление setuid-бинарников с учётом MAC)
  • Анти-криминалистикой (сброс кэша, восстановление временных меток, самоуничтожение)
  • Управлением оператором (запуск по сигналу с настраиваемыми таймаутами)
  • Кросс-платформенной статической сборкой (x86_64, ARM64, RISC-V через musl/zig)

Оригинальное исследование

CVE-2026-31431: Copy Fail

АтрибутЗначение
Дата раскрытия29 апреля 2026 г.
ИсследователиTheori (Jinoh Kang, Yonghwi Jin, Seunghyun Lee), Xint
Описаниеhttps://copy.fail/
Исходный PoCtheori-io/copy-fail-CVE-2026-31431 (Python)
Порт на C (базовый)tgies/copy-fail-c от Tony Gies
Затронутые ядраLinux 4.14 -- 6.14 (до патча с коммитом a664bf3d603d)
СерьёзностьCVSS 7.8 (Высокая) -- локальное повышение привилегий

Механизм уязвимости

Уязвимость находится в подсистеме криптографии AF_ALG ядра Linux. Шаблон AEAD authencesn реализует оптимизацию на месте для расшифровки: когда зашифрованный текст поступает через splice() из кэша страниц файла, ядро повторно использует ту же страницу как для источника, так и для приёмника.

Последовательность атаки:

  1. Откройте setuid-бинарник (например, /usr/bin/su) только для чтения
  2. Настройте операцию AEAD с authencesn(hmac(sha256),cbc(aes)) через AF_ALG
  3. Подайте зашифрованный текст через splice() из кэша страниц целевого файла
  4. (Неудачная) операция расшифровки перезаписывает 4 байта в кэшированной странице до того, как аутентификация её отвергнет
  5. Повторите для каждого 4-байтового окна полезной нагрузки
  6. execve() целевого файла -- ядро загружает мутировавшие страницы из кэша, предоставляя полномочия setuid-root
  7. Полезная нагрузка переходит к полной root-оболочке

Ключевой момент: индекс (inode) на диске никогда не изменяется. Изменяется только кэш страниц в памяти, что делает судебное обнаружение значительно более сложным по сравнению с традиционными эксплойтами перезаписи файлов.


Наши улучшения

Этот проект расширяет оригинальное исследование улучшениями, ориентированными на redteam, в девяти модулях.

1. Улучшенный примитив эксплойта (patch_chunk.c)

ОсобенностьОригиналНаша реализация
Управление сокетамиНовый сокет на каждый фрагментПовторное использование сокета (~60% меньше системных вызовов)
ВерификацияНетmmap + memcmp с автоматическим повтором (3 попытки)
Параллельная записьТолько последовательноПараллельная на основе fork (до 16 процессов)
Коды ошибокБинарный успех/неудачаГранулярные: 0=проверено, 1=пропатченное ядро, -1=фатальная
Выделение кучиmalloc в горячем путиТолько стек (нет джиттера выделения)

2. Автоматическое обнаружение целей (target_discovery.c)

  • Трёхфазное сканирование: приоритетные цели → стандартные каталоги → глубокое сканирование
  • Оценка с учётом MAC: штраф для бинарников с профилями AppArmor/SELinux
  • 18 приоритетных целей: su, sudo, passwd, pkexec, mount, ping и др.
  • Цепочка запасных вариантов: если основная цель не удалась, автоматически выбирается следующий лучший кандидат
  • Учёт Snap: пропускает /snap (нетрадиционные setuid)

3. Пакет анти-криминалистики (anti_forensics.c)

ТехникаНазначение
posix_fadvise(POSIX_FADV_DONTNEED)Пофайловое вытеснение кэша страниц
echo 3 > /proc/sys/vm/drop_cachesГлобальный сброс кэша (после получения root)
utimensat() timestompВосстановление исходных atime/mtime
СамоуничтожениеПерезапись бинарника дроппера нулями перед exec
Очистка памятиvolatile обнуление чувствительных буферов

4. Бесфайловое исполнение (memfd_exec.c)

  • memfd_create + fexecve: исполнение без пути в файловой системе
  • Маскировка: memfd с именами kworker, anon_inode, eventfd (сливается с /proc/$pid/fd/)
  • Fork-and-forget: двойной fork для создания процесса-сироты (PPID=1)
  • Расшифровка в памяти: XOR и RC4 расшифровка с последующим exec (полезная нагрузка никогда не находится в открытом виде на диске)

5. Доставка полезной нагрузки этапа 1 (stage1.c)

КаналСкрытностьСкоростьПриоритет запасного варианта
ВстроенныйМаксимальнаяМгновенноПоследний (воздушный зазор)
HTTP напрямуюСредняя<1сПервый
Системный curl/wgetНизкая1-3сВторой (поддержка HTTPS)
DNS TXTВысокаяМедленноТретий (обход брандмауэра)

6. C2-имплант этапа 2 (stage2_template.c)

  • Устойчивый цикл переподключения с экспоненциальной задержкой
  • Три распределения: равномерное, треугольное, экспоненциальный джиттер
  • Управление сигналами: SIGUSR1 (запуск), SIGUSR2 (статус), SIGTERM (завершение)
  • DNS-маячок: скрытая проверка работоспособности C2 перед TCP-подключением
  • Маскировка процесса: [kworker/N:0] в ps/top

7. Сокрытие процесса (proc_hide.c)

  • Перезапись argv[0]: замена на месте /proc/$pid/cmdline
  • prctl(PR_SET_NAME): имена в стиле ядерных потоков (ограничение 16 байт)
  • Санитизация окружения: выборочная очистка SSH_*, AWS_*, TOKEN* и т.д.
  • Открепление от родителя: setsid() + setpgid() для независимости от терминала

8. Управление по сигналу (signal_trigger.c)

РежимПоведениеСценарий использования
trigger_oneshot()Сон → запуск → исполнение → выход«Ударил и убежал»
trigger_daemon()Сон → запуск → исполнение → циклПостоянный имплант
trigger_auto()Сон с таймаутом как запасной вариантНеобслуживаемые операции

Ожидание с нулевой загрузкой CPU: sigsuspend() вместо циклов опроса.

9. Джиттер сна (sleep_jitter.c)

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