
Exploit per l'escalation locale dei privilegi su needrestart (CVE-2024-48990)
Questa repository contiene un exploit minimale di escalation locale dei privilegi che mira a una vulnerabilità in needrestart (CVE-2024-48990).
La vulnerabilità consente l'esecuzione arbitraria di codice Perl come root abusando dell'opzione di configurazione -c, che viene analizzata ed eseguita in un contesto privilegiato.
Molti exploit di escalation dei privilegi esistenti richiedono la compilazione di binari personalizzati, l'avvio di shell aggiuntive o l'utilizzo di catene di comandi interattive.
Questo exploit è stato sviluppato per evitare questi requisiti, fornendo una tecnica semplice di escalation locale dei privilegi che non richiede compilazione, strumenti aggiuntivi o abuso interattivo di editor o pager. L'escalation dei privilegi viene ottenuta creando una shell SUID-root tramite l'esecuzione privilegiata della configurazione di needrestart.
needrestart è implementato in Perl ed esegue i file di configurazione passati tramite l'opzione -c come codice Perl con privilegi di root.
Fornendo un file di configurazione appositamente predisposto contenente una chiamata system(), è possibile eseguire comandi arbitrari come root, portando all'escalation locale dei privilegi.
Esegui l'exploit:
python3 needrestart_privesc.py
Se all'utente è consentito eseguire needrestart tramite sudo, lo script lo invocherà e creerà una shell SUID-root in /tmp/bash. Se sudo richiede una password, verrà richiesta normalmente.
Dopo l'esecuzione riuscita, viene avviata automaticamente una shell root.
Disabilita l'avvio automatico della shell:
python3 needrestart_privesc.py --no-shell
Rimuovi gli artefatti creati:
python3 needrestart_privesc.py --cleanup
needrestart tramite sudo.Questo codice è fornito esclusivamente a scopo educativo e di ricerca.