
🔄 Escalation dei privilegi Linux tramite need-restart (CVE-2024-48990). Automatizzazione dell'acquisizione di root. 💀
Questo script sfrutta la vulnerabilità CVE-2024-48990 nell'utilità needrestart di Linux tramite il dirottamento del percorso delle librerie (PYTHONPATH hijacking). A differenza del vettore originale, questo metodo utilizza esclusivamente Python, consentendo di bypassare il requisito di avere compilatori come gcc installati sulla macchina vittima.
/tmp/malicious/importlib. Questo imita la struttura della libreria standard di Python.importlib/__init__.py):
Contiene il codice che verrà eseguito con privilegi elevati. Quando viene caricato, controlla se l'utente corrente è root (UID 0). Se lo è, copia il binario /bin/bash in /tmp/poc e gli assegna il bit SUID (chmod 4755). Questo crea una backdoor che consente a qualsiasi utente di escalare i privilegi.e.py):
È uno script innocuo che rimane in esecuzione in un ciclo infinito. Svolge due funzioni:needrestart possa intercettarlo./tmp. Nel momento in cui rileva che è stato creato il file /tmp/poc, lo esegue automaticamente con la flag -p (per non perdere i privilegi di root) fornendo la shell interattiva.PYTHONPATH="$PWD" python3 e.py, alteriamo il comportamento di Python. Costringiamo qualsiasi importazione a cercare prima in /tmp/malicious anziché nei percorsi legittimi del sistema.needrestart):
Quando needrestart viene eseguito con privilegi di amministratore (manualmente o tramite un'attività programmata del sistema), scansiona i processi attivi. Quando raggiunge il nostro e.py, estrae le sue variabili d'ambiente e avvia il proprio processo Python per analizzarlo. Ereditando il PYTHONPATH maligno, il processo root di needrestart importa la nostra falsa libreria importlib ed esegue il payload, garantendo il controllo totale sulla macchina.