Académique Documents
Professionnel Documents
Culture Documents
Le 15-12-2023 Shr3dr
1
Tableau de contenu
2
I L’escalade des privilèges
L'escalade de privilèges est une tactique utilisée par les adversaires pour obtenir
des permissions de plus haut niveau sur un système ou un réseau. Cela se fait
souvent après qu'un adversaire a obtenu un accès initial à un système avec des
privilèges de niveau inférieur, Les permissions élevées peuvent être nécessaires aux
adversaires pour atteindre des objectifs tels que voler des données, installer des
logiciels malveillants ou perturber les opérations.
Utilisation de comptes par défaut : L'adversaire peut utiliser des comptes par
défaut qui n'ont pas été correctement sécurisés pour obtenir des permissions
de plus haut niveau.
Ingénierie sociale : L'adversaire peut tromper les utilisateurs pour qu'ils leur
accordent des permissions de plus haut niveau.
3
Dans la section pratique de cette présentation, nous allons faire un ZOOM IN sur que
lques méthodes qu'un advairsaire peut utiliser pour augmenter ses privilèges
dans un système, qu'il s'agisse de linux ou de Windows.
Un fichier avec SUID s’exécute toujours avec les permissions de l'utilisateur qui
possède le fichier, indépendamment de celui qui passe la commande
Dans cet exemple on a utilisé la commande <stat> sur l’exécutable sudo qui se
trouve dans le chemin /usr/bin/sudo
Pour trouver ce genre des fichiers dans notre system on peut exécuter la commande
suivante :
4
Ou bien :
Notre résultat peut contenir plusieurs fichiers, mais ce qui nous intéresse pour
l’instant est l’exécutable nmap
La manière d’exploitation de chaque exécutable se varie entre un et l’autre pour cela on peut
consulter ce site web https://gtfobins.github.io pour un guide détaillé.
GTFOBins est une liste légitime de binaires Unix qui peuvent être utilisés pour contourner
les restrictions de sécurité locales, évoluer ou maintenir des privilèges élevés, transférer des
fichiers, obtenir un Shell inversé, et faciliter les autres tâches post-exploitation
5
GTFOBins offre un large manuel d’exploitation de chaque exécutable sous linux,
envirent 383 binaire et fonction il suffit de chercher par le nom
Maintenant vous allez voir comment on peut avoir un Shell avec les permissions d’un
utilisateur root avec deux simples commandes et sans savoir le mot de passe de ce
dernier tout en exploitant un exécutable qui est totalement légitime
6
Apres avoir un accès initial à un système, l’attaquant commence à énumérer le
system cherchant des vulnérabilités à exploiter ou des configurations non sécurisées,
même ce processus est besoin des privilèges élevées pour mettre la main sur des
informations ou données critiques.
Prenant dans cette deuxième exemple ce fichier que seulement l’utilisateur root peut
lire ou écrire.
Ainsi que python a le bit S qui permet de l’exécuter avec des permissions de
l’utilisateur qui le possède (root)
Avec le même principe on peut utiliser l’exécutable python pour exécuter des
commandes qui va nous permet de lire le contenu de ce fichier.
7
On peut même modifier le contenu.
b- Cronjobs abusing
Cron utilise un fichier spécial nommé Crontab pour stocker les configurations des
Cronjobs
Ce fichier doit être accessible est modifié seulement par l’administrateur de system,
car avoir l’Access a ce type des fichiers peut conduire à l’exécution des codes
malveillantes avec des privilèges élevées.
La plupart des serveurs peuvent contenir un script qui prend charge du backup des
fichiers, et fréquemment automatisé avec les Cronjobs.
Si les permissions son mal configurées que quelqu’un peut lire ou modifier le
contenu de ce script, un attaquant peut l’utiliser pour augmenter ses privilèges.
8
Supposant que ce script s’exécute chaque jour à 12 :00
Dans cet exemple on va insérer cette ligne de commande afin qu’elle s’exécute au
moment de l’exécution du script.
9
II Outils automatisé
Le processus d’élévation des privilèges dépend sur plusieurs facteurs et
caractéristiques, certaine mise à jour de sécurité, la version du kernel, les pilots
installe ou des applications vulnérables dans le system, la phase de découverte vise a
collecter tous ces informations et plus pour réussir l’attaque et avoir le control total
sur le system, Ce qui rend ce processus très long et consomme plus de temps.
Pour cela un auditeur ou un attaquant peut utiliser des outils qui automatise la
collecte des informations sur le system et extraire certain vecteur qui peut conduire a
une escalade des privilèges.
a- PrivescCheck
Source : https://github.com/itm4n/PrivescCheck
Sous Windows il’ y a PrivescCheck, un script PowerShell qui collecte des
informations system et vérifie s’il y a des vecteurs d’escalade de privilèges.
A la fin d’exécution le script nous offre plusieurs informations avec un résumé simplifié
10
b- LinPeas
Sous Linux On peut utiliser l’outil LinPeas qui peut scanner le system en cherchant des
vecteurs d’escalade des privilèges dans les fichiers, les permissions, la version de kernel, les
processus, les packages installe, etc. ...
Source : https://github.com/carlospolop/PEASS-ng/releases
11