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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-31431-Copy-Fail — Исследовательские артефакты, PoC-скрипты и лабораторные ресурсы для статьи о локальном повышении привилегий Copy Fail Linux на https://4xura.com/binex/kernel/copy-fail | Kitploit
Инструменты/GitHubGitHub/4xura/cve-2026-31431-copy-fail
Повышение привилегийЭксплуатацияШелл-кодСтатьи и ИсследованияОбучение и ОбразованиеРазработка Полезной НагрузкиЭксплуатация Бинарных ФайловЛаборатории и Практика

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
4xura/cve-2026-31431-copy-fail

CVE-2026-31431-Copy-Fail

Исследовательские артефакты, PoC-скрипты и лабораторные ресурсы для статьи о локальном повышении привилегий Copy Fail Linux на https://4xura.com/binex/kernel/copy-fail

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

CVE-2026-31431: Когда копия — не копия, а отказ приходит слишком поздно

Артефакты и скрипты для статьи CopyFail.

Подробное описание:

  • https://4xura.com/binex/kernel/copy-fail/

Структура

  • proof-of-concept/ содержит демонстрации только с примитивами, использованные в статье.
  • exploit-scripts/ содержит полные реализации эксплойтов на Python, C, Perl и ассемблере x86_64.
  • bpftrace-scripts/ содержит небольшие вспомогательные скрипты для трассировки, использованные при анализе времени выполнения.

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

Только артефакты на Perl, ассемблере и BusyBox ожидают внешний замещающий ELF. В примерах ниже этот файл называется payload.pwnkit.elf, но подойдёт любое имя файла.

Этот исполняемый файл не создаётся внутри данного репозитория. Сначала соберите его, следуя инструкции по сборке из статьи, затем поместите полученный ELF в ту же рабочую директорию, где находится запускаемый артефакт.

Примитивные PoC и драйверы эксплойтов на Python и C готовы к запуску без дополнительных действий.

1. Примитивные PoC

Эти PoC в основном предназначены для демонстрации в статье. Они показывают примитив перезаписи изолированно, а не полный рабочий процесс замены исполняемого файла.

Чтобы запустить демонстрацию на Python, перейдите в директорию PoC и выполните скрипт:

root@kitploit:~
cd proof-of-concept
python3 copyfail_poc.py

Чтобы запустить демонстрацию на C, сначала соберите её, а затем выполните полученный бинарный файл:

root@kitploit:~
cd proof-of-concept
gcc -Wall -Wextra -O2 -o copyfail_poc copyfail_poc.c
./copyfail_poc

2. Эксплойт на Python

Эксплойт на Python является самодостаточным и хранит замещающие байты прямо в скрипте.

Перейдите в директорию эксплойта и запустите с путём к цели по умолчанию:

root@kitploit:~
cd exploit-scripts
python3 exploit.py

Если нужен другой базовый путь цели, передайте его первым аргументом. Чтобы включить логи перезаписи по частям, установите DEBUG=1:

root@kitploit:~
python3 exploit.py su
DEBUG=1 python3 exploit.py su

3. Эксплойт на C

Эксплойт на C также является самодостаточным. Если вы хотите использовать другую замену, сначала отредактируйте PAYLOAD_BYTES в exploit-scripts/exploit.c.

Соберите статический (опционально) бинарный файл следующим образом:

root@kitploit:~
cd exploit-scripts
gcc -static -Wall -Wextra -O2 -o exploit exploit.c -lz

Затем запустите с целью по умолчанию или передайте другой базовый путь. Отладка через DEBUG=1:

root@kitploit:~
./exploit
./exploit su
DEBUG=1 ./exploit su

4. Эксплойт на Perl

Эта версия читает внешний ELF-файл с полезной нагрузкой вместо встраивания замещающих байтов в скрипт.

Запускайте из директории эксплойтов. Если не указаны дополнительные аргументы, используются цель и путь к полезной нагрузке по умолчанию:

root@kitploit:~
cd exploit-scripts
perl exploit.pl

Если нужно явно указать и путь к цели, и путь к ELF-файлу, передайте их как аргументы. Отладка также управляется через DEBUG=1:

root@kitploit:~
perl exploit.pl /usr/bin/su ./payload.pwnkit.elf
DEBUG=1 perl exploit.pl /usr/bin/su ./payload.pwnkit.elf

5. Эксплойт на ассемблере

Эта версия также использует внешний ELF-файл с полезной нагрузкой. В примере ниже он называется payload.pwnkit.elf, но можно использовать любое имя. Если вы его переименовали, обновите строку incbin в exploit-scripts/exploit.asm соответствующим образом.

Соберите драйвер на ассемблере с помощью nasm и ld:

root@kitploit:~
cd exploit-scripts
nasm -f elf64 exploit.asm -o exploit.o
ld -o exploit_asm exploit.o

Затем запустите с целью по умолчанию или передайте полный путь к цели:

root@kitploit:~
./exploit_asm
./exploit_asm /usr/bin/su

6. Установщик BusyBox

Этот скрипт упаковывает драйвер на ассемблере и внешний ELF-файл полезной нагрузки в один совместимый с BusyBox раннер. В примере ниже используется payload.pwnkit.elf, но подойдёт любой файл, если вы передадите тот же путь упаковщику.

Сгенерируйте установщик из директории эксплойтов:

root@kitploit:~
cd exploit-scripts
sh mk_busybox_dropper.sh ./exploit_asm ./payload.pwnkit.elf > copyfail-busybox.sh
chmod +x copyfail-busybox.sh

На целевой системе запустите сгенерированный скрипт с помощью BusyBox sh:

root@kitploit:~
busybox sh ./copyfail-busybox.sh /usr/bin/su

7. Вспомогательные скрипты Bpftrace

Перед запуском вспомогательных скриптов трассировки проверьте наличие нужных символов:

root@kitploit:~
sudo cat /proc/kallsyms | grep -E 'filemap_splice_read|splice_folio_into_pipe|af_alg_sendmsg|extract_iter_to_sg|crypto_authenc_esn_decrypt|scatterwalk_map_and_copy'

Чтобы наблюдать за попаданием файловых страниц в путь splice, выполните:

root@kitploit:~
sudo bpftrace ./bpftrace-scripts/bpftrace-filemap-splice.bt

Чтобы наблюдать за данными, передаваемыми через канал в AF_ALG, выполните:

root@kitploit:~
sudo bpftrace ./bpftrace-scripts/bpftrace-af-alg-sendmsg.bt

Чтобы наблюдать за уязвимым обратным вызовом дешифрования authencesn, выполните:

root@kitploit:~
sudo bpftrace ./bpftrace-scripts/bpftrace-authencesn-decrypt.bt
Скачать инструмент