
Exploit d'escalade de privilèges local pour needrestart (CVE-2024-48990)
Ce dépôt contient un exploit minimal d'élévation de privilèges locaux ciblant une vulnérabilité dans needrestart (CVE-2024-48990).
La vulnérabilité permet l'exécution arbitraire de code Perl en tant que root en abusant de l'option de configuration -c, qui est analysée et exécutée dans un contexte privilégié.
De nombreux exploits d'élévation de privilèges existants nécessitent la compilation de binaires personnalisés, le lancement de shells supplémentaires, ou reposent sur des chaînes de commandes interactives.
Cet exploit a été développé pour éviter ces exigences en fournissant une technique simple d'élévation de privilèges locaux qui ne nécessite ni compilation, ni outillage supplémentaire, ni abus d'éditeur ou de paginateur interactif. L'élévation de privilèges est réalisée en créant un shell SUID-root via l'exécution de configuration privilégiée de needrestart.
needrestart est implémenté en Perl et exécute les fichiers de configuration passés via l'option -c comme du code Perl avec des privilèges root.
En fournissant un fichier de configuration conçu contenant un appel system(), des commandes arbitraires peuvent être exécutées en tant que root, menant à une élévation de privilèges locale.
Exécutez l'exploit :
python3 needrestart_privesc.py
Si l'utilisateur est autorisé à exécuter needrestart via sudo, le script l'invoquera et créera un shell SUID-root dans /tmp/bash. Si sudo nécessite un mot de passe, il sera demandé normalement.
En cas d'exécution réussie, un shell root est lancé automatiquement.
Désactiver le lancement automatique du shell :
python3 needrestart_privesc.py --no-shell
Nettoyer les artefacts créés :
python3 needrestart_privesc.py --cleanup
needrestart via sudo.Ce code est fourni à des fins éducatives et de recherche uniquement.