
Эксплойт локального повышения привилегий для needrestart (CVE-2024-48990)
Этот репозиторий содержит минимальный эксплойт для локального повышения привилегий, нацеленный на уязвимость в needrestart (CVE-2024-48990).
Уязвимость позволяет выполнение произвольного кода на Perl с правами root путем злоупотребления опцией конфигурации -c, которая разбирается и выполняется в привилегированном контексте.
Многие существующие эксплойты для повышения привилегий требуют компиляции пользовательских бинарных файлов, запуска дополнительных оболочек или использования интерактивных цепочек команд.
Этот эксплойт был разработан, чтобы избежать этих требований, предоставляя простую технику локального повышения привилегий, которая не требует компиляции, дополнительных инструментов или злоупотребления интерактивным редактором или постраничным просмотрщиком. Повышение привилегий достигается созданием оболочки с SUID-root через привилегированное выполнение конфигурации needrestart.
needrestart реализован на Perl и выполняет файлы конфигурации, переданные через опцию -c, как код Perl с привилегиями root.
Путем предоставления специально созданного файла конфигурации, содержащего вызов system(), могут быть выполнены произвольные команды с правами root, что приводит к локальному повышению привилегий.
Запустите эксплойт:
python3 needrestart_privesc.py
Если пользователю разрешено выполнять needrestart через sudo, скрипт вызовет его и создаст оболочку с SUID-root в /tmp/bash. Если sudo требует пароль, он будет запрошен обычным образом.
После успешного выполнения автоматически запускается оболочка root.
Отключить автоматический запуск оболочки:
python3 needrestart_privesc.py --no-shell
Очистить созданные артефакты:
python3 needrestart_privesc.py --cleanup
needrestart через sudo.Этот код предоставляется только в образовательных и исследовательских целях.