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

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

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

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

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

Категории

Все категории
Loading categories
copyfail-rs — CopyFail (CVE-2026-31431): PoC-эксплойт для повышения привилегий через page-cache в ядре Linux + единственный публичный инструмент обнаружения. Новый вектор обхода аутентификации PAM + правила Sigma/auditd/eBPF. | Kitploit
Инструменты/GitHubGitHub/diemoeve/copyfail-rs
Повышение привилегийАнализ уязвимостейЭксплуатация
GitHubdiemoeve/copyfail-rs

copyfail-rs

CopyFail (CVE-2026-31431): PoC-эксплойт для повышения привилегий через page-cache в ядре Linux + единственный публичный инструмент обнаружения. Новый вектор обхода аутентификации PAM + правила Sigma/auditd/eBPF.

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

Популярное

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

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

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

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

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

copyfail-rs

Мультивекторный PoC + парное обнаружение для CVE-2026-31431 (CopyFail). Включает новый вектор обхода аутентификации PAM, которого нет ни в одном другом публичном PoC. Режим обнаружения ловит то, что AIDE / Wazuh / OSSEC / Tripwire структурно не могут.

Один статический бинарник. ~108 КБ. no_std musl.

Демо

root@kitploit:~
noot@host:~$ ./copyfail-rs --mode exploit
[sudo] password for noot:
root@host:~# id
uid=0(root) gid=0(root) groups=0(root)
root@host:~#

Одна команда. Root-шелл. PAM-киллшот под капотом (одиночная запись 4 байт в /etc/pam.d/common-auth), PTY-сброс в root через sudo с отброшенным паролем. Строка [sudo] password for noot: мелькает на мгновение — sudo всегда выводит это приглашение; бинарник подаёт ему любую строку, и сбой pam_unix каскадно проходит через закомментированный pam_deny.so к pam_permit.so → root.

root@kitploit:~
$ ./copyfail-rs --mode detect --scan
=== copyfail-rs detection: --scan ===

TAMPERED (1):
  /etc/pam.d/common-auth [ext4]
    cache:  23c4f1ee...  ← что реально загружено (мутировано)
    disk:   117dab1c...  ← что видят AIDE / Wazuh / Tripwire (чисто)

Вот и весь проект. Диск чист, кэш мутирован. Каждый публичный FIM слеп. Этот инструмент — нет.

Быстрый старт (без сборки)

Готовые статические бинарники на релизе v0.1.0. Выберите свою архитектуру, скачайте, запустите.

root@kitploit:~
# x86_64 (большинство ноутбуков + облачные серверы)
curl -LO https://github.com/diemoeve/copyfail-rs/releases/download/v0.1.0/copyfail-x86_64-musl
chmod +x copyfail-x86_64-musl
./copyfail-x86_64-musl --mode exploit

Другие архитектуры:

АрхитектураФайл
ARM64 (aarch64)copyfail-aarch64-musl
ARMv7 (Raspberry Pi 3+)copyfail-armv7-musleabihf

Проверка целостности:

root@kitploit:~
curl -LO https://github.com/diemoeve/copyfail-rs/releases/download/v0.1.0/checksums.txt
sha256sum -c checksums.txt

Статические musl-бинарники, без зависимостей времени выполнения, работают на любом Linux.

Почему FIM слеп

Мутация page cache. Нет записи через VFS. Нет грязной страницы. Нет события inotify. Периодическое повторное сканирование соревнуется с вытеснением.

AIDE/Wazuh/OSSEC/Tripwire/Samhain читают через буферизованный ввод-вывод → page cache → хешируют мутированные байты как истину. Или после вытеснения хешируют чистый диск → «никаких изменений никогда не было».

Для обнаружения нужен O_DIRECT (пропуск кэша) + буферизованное чтение (попадание в кэш) + разница хешей. Несовпадение = сигнатура CopyFail. Это и есть --scan.

Векторы

Автовыбор: --vector auto (по умолчанию). Ранжирует pam > su > passwd по скрытности. Откатывается при сбое.

Обнаружение

--json везде для приёма в SIEM.

Артефакты обнаружения

detection/:

  • sigma/copyfail-af-alg.yml, Sigma-правило, закиньте в свой SIEM
  • auditd/copyfail.rules, augenrules --load
  • ebpf/copyfail-trace.bt, однострочник bpftrace
  • apparmor/copyfail-block.profile, правило запрета AppArmor 3.0+
  • mitigation/disable-algif.sh, чёрный список modprobe + предупреждение =y

Смягчение

root@kitploit:~
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
sudo rmmod algif_aead

Или основная ветка ядра a664bf3d603d (апрель 2026). На данный момент: только Debian Sid/Forky выпустили. Ubuntu LTS, RHEL, SUSE, Amazon Linux, Fedora, Arch, Oracle — все уязвимы.

Оговорка: CONFIG_CRYPTO_USER_API_AEAD=y (встроенный) молча обходит modprobe. --check предупреждает.

После эксплуатации + смягчения: мутированный кэш сохраняется до перезагрузки. Смягчение блокирует НОВЫЕ эксплойты, но не отменяет прошлые.

Сборка

root@kitploit:~
cargo build --release --target x86_64-unknown-linux-musl
ЦельРазмер
x86_64-musl108 КБ
aarch64-musl96 КБ
armv7-musleabihf86 КБ

no_std. Без аллокатора. Без зависимостей времени выполнения. Один статический бинарник.

Готовые артефакты и SHA256-суммы прикреплены к релизам GitHub.

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

См. docs/usage.md для конкретных примеров на один экран для каждого режима (exploit auto/list/all, detect check/scan/baseline/diff/watch/hunt).

Для более развёрнутой повествовательной версии этого README (больше контекста, глубже изложение) см. BLOG.md.

Модель угроз

См. docs/threat-model.md.

Сравнение

Авторизация и этика

Только собственное оборудование. Нет CLI-шлюза (театр безопасности). README + LICENSE = рамки.

Режим обнаружения — только чтение. Безопасен на проде.

Режим эксплуатации мутирует page cache ядра. Только в RAM, но относитесь как к разрушительному. Блокирует аутентификацию для любого последующего вызывающего.

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

CVE-2026-31431 раскрыта Theori / Xint 2026-04-29 (разбор, блог Xint). Предыдущие публичные PoC:

  • theori-io/copy-fail-CVE-2026-31431 (Python, 732 байта, вектор su)
  • tgies/copy-fail-c (C с nolibc, векторы su + passwd, переносимый)
  • badsectorlabs/copyfail-go (статический Go-бинарник, вектор su)

Этот проект (copyfail-rs): добавляет вектор обхода аутентификации PAM, двухрежимное обнаружение, артефакты IR.

Лицензия

MIT.

Ссылки

  • https://copy.fail/
  • Исправление Linux: a664bf3d603d
  • Нижняя граница: 72548b093ee3 (4.14, авг 2017)
  • Аналог: Dirty Pipe (CVE-2022-0847)
Скачать инструмент
ВекторЦельКуда попадает
pam (НОВЫЙ)/etc/pam.d/common-auth (Debian/Ubuntu) или system-auth (Fedora/RHEL/Arch)4 байта. auth requisite pam_deny.so → #aut requisite pam_deny.so. Sudo с любым паролем = root.
su/usr/bin/suМутация текста setuid-бинарника. execve → root.
passwd/etc/passwdПереворот UID → пользователь становится root при следующем входе. Ломает SSH для этого пользователя.
РежимЧто делает
--checkЯдро + модуль + CONFIG_CRYPTO_USER_API_AEAD + статус смягчения. Вердикт: уязвим / смягчено / безопасно.
--scanРазница O_DIRECT и буферизованного чтения критических файлов. Ветвление через statfs(): ext4/xfs/btrfs используют O_DIRECT, overlayfs откатывается, tmpfs пропускается.
--baseline / --diffСнимок заведомо чистого состояния. Сравнение позже. Дельта только в кэше = отпечаток CopyFail.
--watchДемон. Периодическое сканирование. SIGTERM — чистое завершение.
--huntОбход SSH-флота. JSON-агрегаты.
Theori Pythontgies Cbadsectorlabs Gocopyfail-rs
Векторыsusu + passwdsusu + passwd + PAM (новый)
Обнаружениенетнетнетполный --mode detect
Артефакты IRнетнетнетSigma + auditd + eBPF + AppArmor
UX оператора3 команды4 команды5 команд1 команда
Бинарникнужен Python~10 КБ~5 МБ~108 КБ статический