Abus de SUID et sudo
Mauvaises configurations
Abus de SUID et sudo est une leçon Ethical Hacking Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ethical Hacking Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ethical Hacking Academy comprend 4 leçons au total.
Le bit SUID
Le bit de permission SUID fait s’exécuter un fichier avec les privilèges de son propriétaire, plutôt qu’avec ceux de l’utilisateur qui l’a lancé. Lorsque le propriétaire est le superutilisateur, un binaire SUID s’exécute avec ses privilèges : c’est utile pour des outils comme passwd, mais dangereux en cas d’abus.
-rwsr-xr-x 1 root root /usr/bin/passwd
# the s in rws = SUID bitTrouver les binaires SUID
Énumérez tous les fichiers SUID et comparez-les à une référence connue comme sûre. Tout élément inhabituel, comme un éditeur de texte, un interpréteur ou un binaire personnalisé, est un candidat.
find / -perm -4000 -type f 2>/dev/nullGTFOBins
GTFOBins est un catalogue organisé expliquant comment détourner des binaires Unix standards pour s’échapper d’un environnement restreint, élever ses privilèges ou lire et écrire des fichiers lorsqu’ils disposent de droits SUID ou sudo. Vérifiez toujours un binaire découvert dans GTFOBins.
# gtfobins.github.io -> search the binary nameAbuser de find avec SUID
Si find possède le bit SUID, son option -exec exécute les commandes avec les privilèges du superutilisateur et accorde immédiatement un interpréteur de commandes avec ces privilèges.
find . -exec /bin/sh -p \; -quit
# -p preserves the elevated privilegesÉchappements vers l’interpréteur avec SUID
De nombreux interpréteurs et afficheurs de texte lancent des interpréteurs de commandes. Un vim, less, awk ou python doté de SUID peut vous donner accès à un interpréteur de commandes avec les privilèges du superutilisateur.
awk "BEGIN {system(\"/bin/sh -p\")}"
# or in less: !/bin/shErreurs de configuration de sudo
Exécutez sudo -l pour répertorier les commandes autorisées. Les entrées qui permettent d’exécuter en tant que superutilisateur un binaire exploitable ou d’utiliser NOPASSWD offrent des possibilités immédiates. La commande n’a pas besoin d’être un interpréteur de commandes : GTFOBins présente des échappements pour de nombreux programmes.
sudo -l
# (ALL) NOPASSWD: /usr/bin/vimSudo avec un éditeur ou un afficheur
Si vous pouvez exécuter sudo vim (ou des variantes avec less, more, man ou nano), vous pouvez lancer un interpréteur de commandes avec les privilèges du superutilisateur depuis le programme.
sudo vim -c ":!/bin/sh"
# inside less: sudo less file -> !/bin/shL’astuce LD_PRELOAD
Si sudo conserve LD_PRELOAD (via env_keep), vous pouvez charger une bibliothèque partagée malveillante qui s’exécute avec les privilèges du superutilisateur au démarrage de la commande sudo.
sudo -l # look for env_keep+=LD_PRELOAD
sudo LD_PRELOAD=/tmp/evil.so programVulnérabilités des versions de sudo
Certaines versions de sudo présentent des failles, par exemple le dépassement de tas Baron Samedit (CVE-2021-3156) et le contournement -u#-1 (CVE-2019-14287). Comparez sudo --version aux CVE connues.
sudo --version
# vulnerable < 1.9.5p2 -> Baron SameditBinaires SUID personnalisés
Les développeurs fournissent parfois des assistants SUID personnalisés qui appellent d’autres programmes par leur nom, sans chemin absolu. Si vous contrôlez PATH, vous pouvez détourner cet appel : cela mène aux techniques d’abus de PATH présentées ensuite.
Renforcement de la sécurité et éthique
Les défenseurs doivent réduire le nombre de binaires SUID, utiliser des chemins absolus, abandonner rapidement les privilèges et maintenir sudo à jour avec des règles strictes. En tant que testeur, n’exploitez ces éléments que dans le cadre autorisé.
Vérification rapide
Testez vos connaissances sur SUID et sudo.
Récapitulatif
Vous avez appris à exploiter SUID et sudo :
- SUID exécute un binaire avec les privilèges de son propriétaire, souvent le superutilisateur
- Vérifier les binaires découverts dans GTFOBins
- Échappements vers l’interpréteur via SUID/sudo avec
find,vim,awketless - LD_PRELOAD et les CVE de sudo (Baron Samedit) permettent également une élévation
Ensuite : tâches cron et abus de PATH.
Apprends Ethical Hacking Academy avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 31
- Leçons
- 111
Questions Fréquemment Posées
La leçon « Abus de SUID et sudo » est-elle gratuite ?
Oui — le texte complet de « Abus de SUID et sudo » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ethical Hacking Academy, passe à CoddyKit PRO. Le cours Ethical Hacking Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Abus de SUID et sudo » ?
Mauvaises configurations Tu pratiques Ethical Hacking Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ethical Hacking Academy ?
Aucune expérience préalable n'est requise. Ethical Hacking Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Abus de SUID et sudo » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ethical Hacking Academy ?
Oui. Chaque leçon Ethical Hacking Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Énumération
- Abus de SUID et sudo
- Tâches Cron et PATH
- Exploits du noyau