
Un outil conçu pour exploiter une vulnérabilité d'élévation de privilèges dans le programme sudo sur les systèmes de type Unix. Il tire parti d'une mauvaise configuration ou d'une faille spécifique dans sudo pour obtenir des privilèges élevés sur le système, permettant essentiellement à un utilisateur normal d'exécuter des commandes en tant qu'utilisateur root.
⭐ Mettez-nous une étoile sur GitHub — pour montrer votre soutien !
💡 Mieux vu en mode sombre :)
Le projet SUDO_KILLER a atteint la finale pour le SANS Difference Award 2023 dans la catégorie outil open-source.
SUDO_KILLER est un outil conçu pour les praticiens de la cybersécurité (pentesteurs, auditeurs de sécurité, administrateurs système, joueurs de CTF et étudiants en sécurité de l'information), facilitant l'élévation de privilèges dans les environnements Linux. Il se concentre sur les vulnérabilités liées à l'utilisation de SUDO, y compris les mauvaises configurations dans les règles sudo, les faiblesses basées sur les versions (CVE et autres vulnérabilités), et les déploiements de binaires risqués (GTFOBINS). Ces points faibles peuvent être exploités pour obtenir des privilèges ROOT ou usurper l'identité d'autres utilisateurs.
SUDO_KILLER fournit un catalogue de commandes potentielles et d'exploits locaux pour une élévation de privilèges manuelle. Important, il s'abstient d'exploitation automatisée, exigeant que les utilisateurs effectuent eux-mêmes le processus d'exploitation conformément à son usage prévu.
Voici une liste des vérifications effectuées par SUDO_KILLER
[!WARNING] La liste de vérifications ci-dessus n'est PAS exhaustive.
Pour commencer avec SUDO_KILLER, vous pouvez soit cloner le dépôt git, soit télécharger le zip. Si vous souhaitez vous entraîner et/ou le tester, il existe un environnement de test vulnérable (utilisant Docker). Consultez la vidéo associée qui donne un aperçu de la configuration de Docker et de l'exécution de SUDO_KILLER. Plusieurs scénarios peuvent être mis en place dans l'environnement Docker et peuvent être utilisés pour tester différentes mauvaises configurations ou failles. Vous pouvez également l'exécuter sur le système à auditer pour vérifier les mauvaises configurations et/ou failles liées à sudo.```shell ./SUDO_KILLERv.sh -c -a -e -r report.txt -p /tmp
Arguments optionnels :
</br>-c : inclut les vérifications CVE
</br>-a : inclut les CVE liées aux applications/périphériques tiers
</br>-i : import (mode hors ligne) depuis extract.sh
</br>-e : inclut l'export des règles sudo / fichier sudoers
</br>-r : nom du rapport (sauvegarder la sortie)
</br>-p : chemin où sauvegarder l'export et le rapport
</br>-s : fournir le mot de passe utilisateur pour les vérifications sudo (si les règles sudo ne sont pas accessibles sans le mot de passe de l'utilisateur actuel)
</br>-h : aide
> [!NOTE]
> Il est à noter que lors de l'utilisation de l'argument -c, deux types de vérification sont fournis : l'un où la CVE identifiée est uniquement basée sur la version actuelle de sudo utilisée, et un autre où les prérequis sont également vérifiés.
> Très souvent, une version de sudo peut être vulnérable mais certains prérequis peuvent être nécessaires pour une exploitation réussie.
> [!NOTE]
> Fournir le mot de passe : si un mot de passe est nécessaire pour exécuter sudo -l, alors le script ne fonctionnera pas si vous ne fournissez pas un mot de passe avec l'argument -s.
<a name="docker"></a>
### Docker (Environnement de test vulnérable)
<p align="left">
<img width="25%" src="https://raw.githubusercontent.com/TH3xACE/res/main/SK/docker.gif" alt="-dockerlogo"/>
</p>
Une gamme de conteneurs Docker est mise à disposition pour offrir un environnement délibérément vulnérable pour tester et expérimenter concrètement `SUDO_KILLER` ainsi que les vulnérabilités.```shell
service docker start
docker pull th3xace/sudo_killer_demo3
docker run --rm -it th3xace/sudo_killer_demo3
(This docker is only to test the CVE-2019-18634 (pwfeedback))
service docker start
docker pull th3xace/sudo_killer_demo2
docker run --user 1000 --rm -it th3xace/sudo_killer_demo2
Utilisez le mot de passe
changemeou créez le vôtre en utilisant l'option--pass.```shell (This docker is only to test the CVE-2025-32463 (chwoot)) -> Credits to author $ git clone https://github.com/pr0v3rbs/CVE-2025-32463_chwoot.git $ cd CVE-2025-32463_chwoot
$ service docker start $ ./run.sh
pwn@f722d9182d1f:~$ ./sudo-chwoot.sh id woot! uid=0(root) gid=0(root) groups=0(root),1001(pwn)
pwn@f722d9182d1f:~$ ./sudo-chwoot.sh woot!
root@f722d9182d1f:/# id uid=0(root) gid=0(root) groups=0(root),1001(pwn)
## Pourquoi est-il possible d'exécuter "sudo -l" sans mot de passe ?
Par défaut, si le tag NOPASSWD est appliqué à l'une des entrées d'un utilisateur sur une machine, vous pourrez exécuter "sudo -l" sans mot de passe. Ce comportement peut être modifié via les options verifypw et listpw.
Cependant, ces règles n'affectent que l'utilisateur courant, donc si l'usurpation d'utilisateur est possible (en utilisant su), sudo -l doit également être lancé depuis cet utilisateur.
Parfois, le fichier /etc/sudoers peut être lu même si sudo -l n'est pas accessible sans mot de passe.
<a name="scenarios"></a>
## Scénarios
Pour changer de scénario (Pour éviter les conflits entre les différents scénarios) sur le docker (demo3) :```shell
switchScenario <scenario_number>
Available scenarios: 0 to 10
All Scenarios 0 : Conflict might occur!
Scenario 1: [2,3] CVE - Rules
Scenario 2: [4] Excessive permissions
Scenario 2: [5] Excessive permissions (Authentication required)
Scenario 3: [6] User Impersonation
Scenario 4: [7] Common Misconfiguration (Change owner)
Scenario 4: [8,11] Common Misconfiguration (Wildcard)
Scenario 5: [13] Missing scripts from sudo rules
Scenario 6: [17] Dangerous Environment Variables
Scenario 7: [18] Dangerous binaries (gtfobins)
Scenario 8: [19] Recursive Impersonation test
Scenario 9: [20] Environment Path Hijacking
Scenario 10: [21] App Specific sudo vuln/misconfig
Scenario 11: [5] Excessive permissions (Authentication required)
Scenario 12: [16] Backdooring sudo (Credentials Capture)
La playlist peut être trouvée ici : https://www.youtube.com/watch?v=Q8iO9mYrfv8&list=PLQPKPAuCA40FMpMKWZLxQydLe7rPL5bml