GTFOBins (478 exécutables) au commit acd5246, publié le 27 mai 2026. LOLBAS (245 binaires, 485 commandes) au commit 2056cb7, publié le 26 septembre 2026. Les deux jeux sont sous licence GPL-3.0 et figés dans le site, chargés par votre navigateur.
01Analyser une sortie
Le contexte se déduit de chaque ligne : règle sudo, chemin SUID, capabilities, ou simple nom (sans privilège). Les formats peuvent se mélanger.
sudo -lfind / -perm -4000 -type f 2>/dev/nullgetcap -r / 2>/dev/null
Résultats
Chargement du jeu de données…
02Rechercher un binaire
Toutes ses fonctions GTFOBins, dans tous les contextes.
01Rechercher dans LOLBAS
Sortie de dir, de dir /b, de Get-ChildItem ou une liste de chemins : seuls les binaires connus de LOLBAS sont gardés.
Chargement du jeu de données…
Qu’est-ce qu’une élévation de privilèges ?
L’élévation de privilèges consiste à obtenir des droits supérieurs à ceux de l’accès initial, par exemple passer d’un compte limité à root ou administrateur. Elle peut exploiter une vulnérabilité ou une mauvaise configuration de sudo, de permissions SUID, de capabilities ou de services.
Sudo, SUID et capabilities : trois façons de prêter des privilèges
Sous Linux, un programme hérite normalement des droits de l’utilisateur qui le lance. Trois mécanismes lui en donnent davantage, et chacun transforme un programme ordinaire en porte d’entrée dès qu’il sait lancer une commande, lire ou écrire un fichier.
sudo exécute la commande autorisée par /etc/sudoers sous l’identité du runas (root par défaut) : un pager, un éditeur ou un interpréteur autorisé ouvre alors un shell root. Les tags de la règle comptent : NOPASSWD dispense du mot de passe, SETENV laisse passer des variables d’environnement, NOEXEC empêche le programme d’en lancer d’autres.
Le bit SUID fixe l’UID effectif au propriétaire du fichier (root le plus souvent) pendant l’exécution, alors que l’UID réel reste le vôtre. bash, et dash depuis la version 0.5.11, détectent cet écart au démarrage et ramènent l’UID effectif à l’UID réel, sauf avec l’option -p. C’est pourquoi les variantes SUID de GTFOBins lancent /bin/sh -p, et pourquoi un programme qui passe par system() ne donne rien sur une distribution dont le shell abandonne les privilèges. Un binaire SUID s’appelle aussi par son chemin complet : la copie trouvée dans le PATH peut être une autre, sans le bit.
Les capabilities (capabilities(7)) découpent les pouvoirs de root en une quarantaine d’unités posées sur un fichier avec setcap. cap_setuid=ep sur un interpréteur suffit : os.setuid(0) puis un shell. cap_dac_read_search permet de lire n’importe quel fichier, cap_dac_override d’y écrire. Les lettres indiquent les ensembles concernés : e (effectif), p (permis), i (héritable).
Énumérer en mission
sudo -l liste les règles de l’utilisateur courant, avec les Defaults qui s’appliquent ; sudo -ll donne le même contenu en format long, que l’outil lit aussi. Les binaires SUID se trouvent avec find / -perm -4000 -type f 2>/dev/null (et -perm -2000 pour SGID), les capabilities avec getcap -r / 2>/dev/null.
Collez les trois sorties à la suite : l’outil sépare les contextes ligne par ligne, met de côté les SUID livrés par la distribution et signale les binaires locaux, souvent plus intéressants que les binaires connus.
linPEAS (projet PEASS-ng) automatise cette énumération et bien davantage : tâches cron, fichiers modifiables, services, versions vulnérables. Il est utile en complément, au prix d’une exécution bruyante sur la cible. Vérifiez aussi la version de sudo (sudo -V) : CVE-2021-3156 (Baron Samedit) touche les versions 1.8.2 à 1.8.31p2 et 1.9.0 à 1.9.5p1, CVE-2019-14287 les versions antérieures à 1.8.28 avec un runas (ALL, !root), CVE-2023-22809 sudoedit de 1.8.0 à 1.9.12p1. Ces tests ne valent que dans le périmètre d’un test autorisé.
LD_PRELOAD, env_keep et SETENV
Par défaut, sudo vide l’environnement (env_reset) et retire les variables dangereuses. Quand les Defaults contiennent env_keep+=LD_PRELOAD, ou quand une règle porte le tag SETENV, l’utilisateur choisit une bibliothèque que l’éditeur de liens charge avant la commande autorisée, avec les droits de root.
Peu importe alors la commande : son constructeur s’exécute avant elle. L’outil affiche la bibliothèque minimale correspondante quand il repère l’un de ces deux cas. LD_LIBRARY_PATH conservé permet une variante : remplacer une bibliothèque que la commande charge (ldd la liste) par une version compilée pour l’occasion.
LOLBAS et l’application allowlisting
Sous Windows, le projet LOLBAS recense les binaires, bibliothèques et scripts signés par Microsoft qui rendent service à un attaquant : télécharger (certutil, bitsadmin), exécuter du code par procuration (rundll32, regsvr32, mshta, technique ATT&CK T1218), compiler, encoder, extraire des identifiants. Leur intérêt tient à leur signature : une politique AppLocker ou WDAC qui autorise les binaires Microsoft les laisse passer, et l’EDR les voit tous les jours.
Les catégories AWL Bypass et Execute couvrent ce contournement ; UAC Bypass, Dump et Credentials supposent déjà des droits élevés, que la colonne Privilèges précise. Collez la sortie de dir C:\Windows\System32 pour ne garder que ceux présents sur la machine.
Se défendre
- Écrivez des règles sudo minimales, avec des chemins complets, sans éditeur, pager, interpréteur ni joker dans les arguments. Préférez
sudoeditpour modifier un fichier, ajoutezNOEXECquand le programme n’a pas à en lancer d’autres, et ne conservez jamaisLD_*dansenv_keep. - Montez
/home,/tmp,/var/tmpet/dev/shmavecnosuid, et comparez régulièrement l’inventaire SUID à une référence : tout écart est à expliquer. - Auditez les capabilities avec
getcap -r /et retirez-les des interpréteurs (setcap -r). GTFOBins sert aussi de liste de détection : l’exécution d’un shell parfind,lessouvimlancés par sudo se repère dans les journaux (log_output, auditd). - Sous Windows, les fiches LOLBAS renvoient vers des règles Sigma, Elastic et Splunk, et vers les règles de blocage recommandées par Microsoft pour WDAC. Bloquez ce qui n’a pas d’usage légitime chez vous (
mshta,cmstp,regsvr32vers une URL) et surveillez le reste.
?Questions fréquentes
Ma sortie sudo -l ou ma liste SUID est-elle envoyée quelque part ?
L’analyse s’exécute dans votre navigateur. Les jeux de données GTFOBins et LOLBAS sont livrés avec la page, figés sur un commit précis, et aucune requête ne part avec ce que vous collez. Vous pouvez y coller la sortie d’une machine cliente sans qu’elle quitte votre poste.
Pourquoi un binaire connu de GTFOBins n’apparaît pas comme exploitable ?
GTFOBins décrit chaque technique pour des contextes précis : sans privilège, sudo, SUID ou capabilities. mount ou passwd n’ont des techniques que via sudo, et perl n’a pas de shell SUID dans le jeu. L’outil ne montre que ce qui s’applique au contexte détecté ; la recherche directe affiche tout le reste.
Que faire quand la règle sudo impose des arguments ?
sudo refuse alors toute autre ligne de commande, et la plupart des techniques ne passent pas telles quelles. Cherchez une évasion depuis le programme lancé (un pager ou un éditeur ouvre souvent un shell), vérifiez si le script ou le fichier passé en argument est modifiable, et regardez les jokers : dans sudoers, * accepte aussi les espaces et ../.
Pourquoi python3.8 devient-il python ?
Les distributions installent des noms versionnés (python3.8, perl5.30, php8.1) ou des variantes (vim.basic, nc.openbsd). L’outil essaie le nom exact, puis retire le suffixe et les numéros de version, et ne retient que les noms présents dans la liste réelle de GTFOBins. Les commandes affichées reprennent votre chemin, /usr/bin/python3.8 par exemple.
LOLBAS sert-il à élever ses privilèges sous Windows ?
Assez peu. LOLBAS recense surtout des binaires signés par Microsoft qui exécutent, téléchargent ou encodent pour le compte d’un attaquant, et contournent ainsi une application allowlisting comme AppLocker ou WDAC. Les catégories UAC Bypass, Dump et Credentials touchent aux privilèges, et la colonne Privilèges indique le niveau requis.
+Autres outils
- >_Reverse Shell Generator
Payloads de reverse shell, listeners et upgrade TTY.
- u:pDefault Credentials
Identifiants par défaut de milliers d’équipements et logiciels.
- ⟲Forge
Recettes d’encodage et de décodage, exportables vers CyberChef.
Audit technique
Faire vérifier une application ou une infrastructure
Pour une analyse par notre équipe, indiquez les systèmes concernés, les accès disponibles et les tests souhaités dans votre demande.