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

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

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

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

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

Категории

Все категории
Loading categories
GhostShell — CVE-2026-31431 — Повышение локальных привилегий через повреждение страничного кэша ядра Linux | Kitploit
Инструменты/GitHubGitHub/razvanduda/ghostshell
Повышение привилегийФреймворки для эксплойтовАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеRed TeamingЭксплуатация Бинарных Файлов
GitHubrazvanduda/ghostshell

GhostShell

CVE-2026-31431 — Повышение локальных привилегий через повреждение страничного кэша ядра Linux

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

Популярное

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

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

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

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

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

GhostShell

CVE-2026-31431 — Локальное повышение привилегий через повреждение page cache ядра Linux

GhostShell — это инструмент локального повышения привилегий, который эксплуатирует уязвимость в реализации AEAD-криптографии authencesn ядра Linux, чтобы получить root-оболочку из непривилегированной учётной записи пользователя. Он повреждает page cache в памяти setuid-root-бинарника (например, /usr/bin/su), внедряя шеллкод в его точку входа, а затем выполняет его — получая setuid(0) + setgid(0) и запуская привилегированный /bin/sh. Никакой файл на диске не изменяется; затрагивается только page cache в памяти.

Короче говоря: вы запускаете его как обычный пользователь, и он помещает вас в root-оболочку.

Обнаружено и раскрыто Theori / Xint. Полное описание: copy.fail


Пример вывода

root@kitploit:~
$ ./ghostshell

  CVE-2026-31431 'Copy Fail'

  Target:       /usr/bin/su
  Size:         63576 bytes
  Entry offset: 0x1a50
  Shellcode:    94 bytes (24 iterations)

  [*] Checking if kernel is vulnerable...
  [+] Kernel IS vulnerable.

  [*] Corrupting page cache of /usr/bin/su with shellcode...
  [*] Patching offset 0x01a50 (24/24) ...

  [*] Verifying page cache corruption...
  [+] Shellcode verified in page cache!

  [*] Executing corrupted setuid binary...
  [*] If successful, you should now have a root shell.
  [*] No trace on disk. Only ghosts in the cache.

# id
uid=0(root) gid=0(root) groups=0(root)
# whoami
root
#

Затронутые ядра

Linux 4.14 (август 2017) до ядер, пропатченных в апреле 2026.

Исправление — патч kmod

Рекомендуемое исправление для CVE-2026-31431 — пропатчить пакет kmod (утилиты модулей ядра), который поставляет уязвимый модуль AEAD-шифра authencesn. Обновлённые пакеты, отключающие или исправляющие путь расшифровки на месте через splice(), выпущены крупными дистрибьюторами.

Быстрый патч (Debian / Ubuntu)

root@kitploit:~
# Check current kmod version
modprobe --version

# Update to the patched version
sudo apt-get update
sudo apt-get install --only-upgrade kmod

# Verify the update
modprobe --version

Быстрый патч (RHEL / Fedora / Rocky / Alma)

root@kitploit:~
# Update kmod to the patched release
sudo dnf update kmod

# Verify
rpm -q kmod

Быстрый патч (Arch Linux)

root@kitploit:~
sudo pacman -Syu kmod

Проверка исправления ядра

После патча kmod убедитесь, что уязвимый модуль authencesn больше не загружается или был обновлён:

root@kitploit:~
# Attempt to load the module — on patched systems this should fail or report fixed version
modinfo authencesn

# Alternatively, check that the running kernel includes the April 2026 patch
uname -r   # should be >= the patched kernel version for your distro

Обходной путь (если патч невозможен немедленно)

Если вы не можете обновить kmod прямо сейчас, вы можете заблокировать загрузку уязвимого модуля шифрования:

root@kitploit:~
# Blacklist the authencesn module
echo "install authencesn /bin/true" | sudo tee /etc/modprobe.d/disable-authencesn.conf

# Also blacklist the generic authenc module for good measure
echo "install authenc /bin/true" | sudo tee -a /etc/modprobe.d/disable-authencesn.conf

# Unload it if currently loaded (may fail if in use)
sudo modprobe -r authencesn 2>/dev/null

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


Протестировано на

ОСЯдро
Ubuntu 24.04 LTS6.17.0-22-generic

⚠️ Этот эксплойт был протестирован только на указанной выше системе. Ваши результаты могут отличаться на других дистрибутивах или версиях ядра.


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

  • Уязвимое ядро Linux (см. выше)
  • GCC (или любой C-компилятор)
  • Заголовки UAPI ядра Linux (<linux/if_alg.h>) — обычно включены в linux-libc-dev
  • Непривилегированная учётная запись пользователя (root не нужен для запуска эксплойта)

Установка зависимостей сборки на Ubuntu/Debian:

root@kitploit:~
sudo apt-get update
sudo apt-get install gcc linux-libc-dev

Сборка

root@kitploit:~
gcc -Wall -Wextra -o ghostshell ghostshell.c

Внешние библиотеки не требуются.


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

Автоопределение цели (проверяет распространённые setuid-бинарники, такие как su, sudo, passwd):

root@kitploit:~
./ghostshell

Указание цели вручную:

root@kitploit:~
./ghostshell /usr/bin/sudo

Если ядро уязвимо, вы попадёте в root-оболочку (#).


Как это работает (кратко)

  1. Проверка уязвимости — Создаёт временный файл, изменяет его первые 4 байта через AEAD-примитив, считывает его обратно, чтобы подтвердить модификацию page cache.
  2. Выбор цели — Автоматически обнаруживает setuid-root-бинарник и анализирует заголовок ELF64, чтобы найти смещение точки входа _start.
  3. Повреждение page cache — Записывает 94 байта x86-64 шеллкода в точку входа, по 4 байта за вызов patch_chunk() (24 итерации), используя уязвимость расшифровки на месте через AF_ALG splice().
  4. Выполнение — Вызывает execl() на повреждённом бинарнике. Ядро загружает его из page cache, и шеллкод выполняется с привилегиями setuid-root, запуская root-оболочку.

Очистка

Эксплойт только повреждает page cache в памяти. Простая перезагрузка полностью его очищает.

Чтобы сбросить кэши без перезагрузки:

root@kitploit:~
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'

Если грязные страницы были записаны обратно на диск (маловероятно, но возможно), переустановите затронутый пакет:

root@kitploit:~
sudo apt-get install --reinstall util-linux   # for /usr/bin/su

Отказ от ответственности

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


Лицензия

Этот проект лицензирован под лицензией MIT.

Настоящим предоставляется бесплатное разрешение любому лицу, получающему копию этого программного обеспечения и связанных файлов документации («Программное обеспечение»), на использование Программного обеспечения без ограничений, включая, без ограничений, права использовать, копировать, изменять, объединять, публиковать, распространять, сублицензировать и/или продавать копии Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это, при соблюдении следующих условий:

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

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ОПРЕДЕЛЁННОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ЛЮБЫМ ИСКАМ, ЗА УЩЕРБ ИЛИ ИНУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ ТО В ДЕЙСТВИЯХ ПО КОНТРАКТУ, ДЕЛИКТЕ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКШИМ ИЗ, ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

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