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

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

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

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

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

Категории

Все категории
Loading categories
copy-fail-zig — Реализация Zig для Linux LPE Copy Fail (CVE-2026-31431), предоставляющая автономный бинарный файл для эксплуатации уязвимости в целях исследования безопасности и защитного обнаружения, включая внедрение шеллкода и проверки уязвимости системы. | Kitploit
Инструменты/GitHubGitHub/emmmmllll/copy-fail-zig
Повышение привилегийФреймворки для эксплойтовАнализ уязвимостейЭксплуатацияЭксплуатация Бинарных Файлов
GitHubemmmmllll/copy-fail-zig

copy-fail-zig

Реализация Zig для Linux LPE Copy Fail (CVE-2026-31431), предоставляющая автономный бинарный файл для эксплуатации уязвимости в целях исследования безопасности и защитного обнаружения, включая внедрение шеллкода и проверки уязвимости системы.

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

Популярное

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

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

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

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

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

Реализация Copy Fail (CVE-2026-31431) на Zig

Реализация на Zig 732-байтового proof of concept для Linux LPE Copy Fail (CVE-2026-31431), раскрытого Theori / Xint 29 апреля 2026 года. Описание можно найти на copy.fail.

Эта реализация не имеет зависимостей времени выполнения и может запускаться как автономный бинарный файл.

Сборка

Для сборки эксплойта требуется версия zig 0.16.0 или выше, которую можно установить с ziglang.org. Чтобы собрать эксплойт, выполните следующую команду в терминале:

root@kitploit:~
zig build

При желании его можно кросс-скомпилировать для другой целевой платформы например

root@kitploit:~
zig build -Dcpu=baseline -Dtarget=aarch64-linux-musl -Doptimize=ReleaseSmall

или с несжатыми полезными нагрузками

root@kitploit:~
zig build -Dcompress=false

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

либо запустите скомпилированный бинарный файл, либо используйте zig для его запуска

root@kitploit:~
zig-out/bin/copyfail
ИЛИ
zig build run
root@kitploit:~
$ zig-out/bin/copyfail
Использование:
  run     <путь> <данные> [смещение] [-- аргументы...] - Записать данные в исполняемый файл по указанному смещению (по умолчанию 0) и запустить его
  sudo    <путь_suid>   [команда...]          - Выполняет команду от имени root, записывая шеллкод в suid-бинарный файл.
                                                (первый аргумент команды должен быть полным путём к запускаемой программе)
  modify  <путь> <данные> [смещение]              - Записать данные в файл по указанному смещению (по умолчанию 0)
  reset   <путь>                              - Сбросить файл в исходное состояние
  help                                        - Показать это сообщение

Исполняемый файл можно запускать с разными командами:

run сначала записывает предоставленные данные по указанному смещению (по умолчанию 0) в исполняемый файл по указанному пути, затем запускает его. После завершения выполнения файл сбрасывается в исходное состояние с помощью posix_fadvise.

Пример:

root@kitploit:~
copyfail run /путь/к/exe $(cat shellcode_bin) -- /bin/sh

sudo записывает встроенный шеллкод в suid-бинарный файл и выполняет его для запуска команды от имени root. Исходный код шеллкода можно найти в payloads/sudo.zig. Первый аргумент команды должен быть полным путём к программе, так как шеллкод не ищет программу для запуска. После завершения выполнения файл сбрасывается, как в команде run.

Пример:

root@kitploit:~
$ copyfail sudo /usr/bin/su /usr/bin/whoami
root

modify записывает предоставленные данные по указанному смещению (по умолчанию 0) в файл по указанному пути, без его выполнения. После изменения файл НЕ сбрасывается. Используйте команду reset для его сброса.

Пример:

root@kitploit:~
copyfail modify /путь/к/файлу "Моё новое содержимое" 1337

reset сбрасывает файл по указанному пути в исходное состояние с помощью posix_fadvise. Это отбрасывает кэшированную страницу и при следующем обращении содержимое будет прочитано с диска.

Пример:

root@kitploit:~
copyfail reset /путь/к/файлу

is_vulnerable проверяет, уязвима ли система, создавая временный файл, записывая в него тестовые данные и считывая их обратно, чтобы увидеть, не были ли данные повреждены.

Пример:

root@kitploit:~
$ copyfail is_vulnerable
warning: Система уязвима
ИЛИ
info: Система не уязвима

help выводит сообщение об использовании.

Затронутые ядра (из copy-fail-c)

root@kitploit:~
нижняя граница:    torvalds/linux 72548b093ee3   август 2017, v4.14
                                        (переработка iov_iter в AF_ALG,
                                         которая ввела примитив записи
                                         в файловую страницу через splice
                                         в scatterlist AEAD)

верхняя граница:  torvalds/linux a664bf3d603d   апрель 2026, mainline
                                        (отменяет оптимизацию algif_aead
                                         на месте от 2017 года; разделяет
                                         исходный и целевой scatterlist,
                                         так что страницы page-cache больше
                                         не могут быть доступным для записи
                                         криптографическим целевым объектом)

Между ними: все ядра основных дистрибутивов, которые не перенесли исправление. Ubuntu, RHEL, SUSE, Amazon Linux и Debian были подтверждены как уязвимые в своих стандартных ядрах для облачных образов на момент раскрытия. Бэкпорты на уровне дистрибутивов начали выходить примерно 2026-04-29 вместе с публичным раскрытием. Чтобы проверить, попадает ли целевое ядро в окно уязвимости, проверьте, присутствует ли a664bf3d603d (или его бэкпорт для конкретного дистрибутива) в git-логе ядра или в журнале изменений дистрибутива.

Лицензия и благодарности

Обнаружение и первоначальное раскрытие CVE-2026-31431: Theori / Xint. Публичное описание на copy.fail.

Эта реализация на Zig: Emmmmllll [email protected]

Компилятор Zig и стандартная библиотека: Zig Software Foundation на условиях MIT https://codeberg.org/ziglang/zig.

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

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