Comment Utiliser LinPEAS : Guide d'Élévation de Privilèges Linux

Tutorial
15 min de lecture

LinPEAS est le script d'énumération qui transforme les trente premières minutes après un shell Linux peu privilégié en dix minutes. Vous déposez le script sur la machine, vous le lancez, vous regardez la sortie peindre le terminal en rouge et jaune, et vous commencez à traiter les résultats les plus prioritaires avant même que le script ne se termine. Ce guide couvre comment utiliser LinPEAS de bout en bout : installation, les options qui comptent vraiment, lecture de la sortie en couleurs, vecteurs d'élévation de privilèges que LinPEAS révèle le mieux, et où il s'inscrit à côté de son frère WinPEAS. Pratiquez chaque technique en lab dans le cours d'élévation de privilèges Linux de HackerDNA, en commençant par le lab Cronpocalypse pendant que vous lisez.

Tous les exemples ci-dessous ciblent la version actuelle de LinPEAS dans le projet PEASS-ng, livrée comme un unique script Bash sans dépendances. Cette portabilité est tout l'intérêt : LinPEAS tourne sur n'importe quel système avec /bin/sh, y compris les conteneurs durcis, les shells BusyBox, et le genre de Linux embarqué dépouillé qui équipe les appliances internes. Si la machine cible a curl ou wget et un accès réseau sortant, vous pouvez avoir LinPEAS en cours d'exécution en moins de cinq secondes.

TL;DR : LinPEAS est un script Bash d'énumération qui scanne un hôte Linux à la recherche de chemins d'élévation de privilèges et classe les résultats par exploitabilité grâce à des codes couleur. Déposez-le sur une cible avec curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh, puis triez les lignes rouge sur jaune en premier : ce sont les gains à 95% de confiance (/etc/passwd modifiable, sudo NOPASSWD, binaires SUID exploitables, CVE noyau avec exploits publics). Couplez-le à WinPEAS côté Windows et vous avez le workflow PEASS standard que la plupart des pentesters et candidats OSCP exécutent sur chaque machine.

Qu'est-ce que LinPEAS ?

LinPEAS est un script « Linux Privilege Escalation Awesome Script » qui automatise l'énumération post-exploitation sur les hôtes Linux. Il enchaîne des centaines de vérifications système puis affiche les résultats codés par couleur selon la probabilité d'être exploitables, pour que l'opérateur puisse ignorer le bruit et se concentrer sur les gains.

Le script vit dans le projet plus large PEASS-ng, maintenu par Carlos Polop et une longue liste de contributeurs sur github.com/peass-ng/PEASS-ng. PEASS-ng (Privilege Escalation Awesome Scripts Suite, Next Generation) est le fork activement maintenu du projet PEASS d'origine, avec LinPEAS pour Linux, WinPEAS pour Windows et MacPEAS pour macOS. Le « ng » compte : l'ancien dépôt carlospolop/privilege-escalation-awesome-scripts-suite ressort encore en haut des recherches, mais le développement actif se trouve dans l'organisation PEASS-ng.

LinPEAS est le cousin post-exploitation de LinEnum, mais il fait plus, affiche plus et priorise plus agressivement. LinEnum est une première lecture utile ; LinPEAS est ce que vous lancez quand il vous faut une réponse classée d'un seul coup. Pour les candidats OSCP, la réalité pratique est que LinPEAS figure sur la liste des outils automatisés autorisés pendant l'examen, et presque tout le monde le lance comme première étape sur chaque machine Linux.

Une opinion tranchée avant d'aller plus loin : la critique la plus fréquente de LinPEAS est qu'il est « trop bruyant ». C'est vrai et hors sujet. Le script est conçu pour qu'on ignore le vert et le rose, qu'on défile jusqu'au rouge sur jaune, et qu'on exfiltre la sortie complète dans un fichier pour relecture plus tard. Traiter la sortie de LinPEAS comme un log de terminal classique, c'est ce qui la rend écrasante. Traitez-la comme une page de résultats où vous ne lisez que les cinq premiers, et le bruit cesse de compter.

Comment Fonctionne LinPEAS

LinPEAS est un unique script Bash. Quand vous le lancez, il exécute une longue série de commandes find, ls, cat, ps, ss et grep contre les surfaces d'élévation de privilèges connues : permissions du système de fichiers, binaires SUID et SGID, configuration sudo, tâches planifiées, capabilities, version du noyau, services exposant des ports locaux, fichiers récents, indicateurs de conteneur, points de métadonnées cloud, et plusieurs douzaines d'autres.

Deux choix de conception comptent. Premièrement, LinPEAS est en lecture seule. Il ne modifie pas de fichiers, n'installe pas de paquets, et n'ouvre pas de connexions sortantes hors de la détection (par exemple, il peut récupérer la base de linux-exploit-suggester, mais seulement avec -a et seulement vers un point d'entrée explicite). Deuxièmement, la sortie est en couches. Chaque résultat est tagué d'une couleur de sévérité, et tout en haut de la sortie LinPEAS imprime une liste des « principales vulnérabilités trouvées » : un tri synthétisé qui pointe les quelques éléments les plus susceptibles de prendre la machine.

Le script détecte aussi son propre contexte. Si vous lancez LinPEAS dans un conteneur Docker, il signale les chemins d'évasion (socket Docker monté, capabilities comme CAP_SYS_ADMIN, montages du système de fichiers hôte sous /host/). Dans une instance EC2, il interroge le service de métadonnées pour les credentials IAM. Dans un pod Kubernetes, il vérifie le token du service account. L'énumération sensible au contexte compte parce que la surface d'élévation est radicalement différente entre ces environnements.

💻
Pratiquez maintenant : Lab Cronpocalypse - lancez LinPEAS contre un véritable environnement cron mal configuré dans votre navigateur, sans installation.

Comment Installer LinPEAS

Il y a trois chemins d'installation et le bon dépend de la disponibilité du réseau sortant sur la cible, de l'accès en écriture sur le disque, et d'un curl ou wget fonctionnel. Les trois récupèrent la même release amont.

Méthode 1 : Téléchargement Direct (le Plus Courant)

Si la cible a un réseau sortant et un espace en écriture (/tmp fonctionne presque toujours), récupérez directement la dernière release :

curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh -o /tmp/linpeas.sh
chmod +x /tmp/linpeas.sh
/tmp/linpeas.sh

Utilisez wget si curl manque : wget -O /tmp/linpeas.sh https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh. Les deux sont fréquemment présents, mais les conteneurs allégés n'ont parfois ni l'un ni l'autre : dans ce cas, repliez-vous sur la méthode 3.

Méthode 2 : Pipe vers Shell (Sans Écriture Disque)

Quand vous ne pouvez pas ou ne voulez pas déposer un fichier sur le disque (surveillance d'intégrité, système de fichiers en lecture seule, EDR qui surveille /tmp), envoyez le téléchargement directement dans le shell :

curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh

Cela vous prive de la possibilité de passer des options directement, donc enveloppez-le : curl -L .../linpeas.sh | sh -s -- -a. Le -s -- indique à sh de lire depuis stdin et de passer le reste de la ligne comme arguments au script.

Méthode 3 : Paquet peass-ng de Kali

Sur Kali Linux 2024.1 et plus récent, la suite PEASS-ng est livrée comme paquet :

sudo apt install peass-ng
linpeas

Utile pour configurer votre propre machine d'attaque. Moins utile dans de vraies missions, puisque la cible a rarement le paquet installé.

Dans tous les cas, vérifiez le script avant de le lancer sur un système client. Lisez le script avec less /tmp/linpeas.sh et comparez le SHA avec la page de release GitHub. Les releases PEASS-ng publient les hashes SHA256 à côté des binaires ; comparer prend dix secondes et écarte une copie altérée.

Lancer LinPEAS : les Options Qui Comptent Vraiment

La sortie de -h liste environ vingt options. En pratique, quatre d'entre elles couvrent 95% de l'usage réel :

  • -a - toutes les vérifications. Inclut les contrôles lents (base linux-exploit-suggester, énumération brute des utilisateurs, recherches profondes). À utiliser pour la passe « je laisse tourner pendant que je bois un café » style OSCP.
  • -s - mode furtif et ultra-rapide. Saute les contrôles qui touchent les zones bruyantes (découverte de fichiers récents, gros parcours du système de fichiers). À utiliser quand l'EDR est dans le scope.
  • -q - silencieux. Supprime la bannière et la progression pour que la sortie soit plus propre quand on la pipe dans un fichier.
  • -o <sections> - ne lance que des catégories de vérifications spécifiques (par exemple SysI,Container,Net). Utile quand vous savez déjà ce que vous chassez.

Une note honnête et tranchée : sautez -a au premier lancement. L'invocation par défaut trouve 90% des gains plus vite, et vous pouvez toujours relancer avec -a si rien d'immédiat ne ressort. L'option -a ajoute environ deux minutes de travail pour des résultats qui sont d'habitude des doublons de ce que la passe par défaut a déjà fait remonter.

Sauvegardez la sortie dans un fichier pour relecture et reporting :

/tmp/linpeas.sh -q | tee /tmp/linpeas.out

L'approche tee permet de regarder la sortie en direct et de garder une copie propre. Pour conserver la couleur dans le fichier sauvegardé (utile quand vous lirez le rapport dans un visualiseur ANSI comme less -R), laissez la couleur activée par défaut, puis lisez avec less -R /tmp/linpeas.out.

Lire la Sortie LinPEAS : Codes Couleur et Priorité

La sortie LinPEAS ressemble à un mur de texte à la première lecture. Ce n'en est pas un. Les couleurs encodent un système de priorité, et une fois la légende assimilée, la sortie devient scannable.

  • Texte rouge sur fond jaune - élévation de privilèges à 95%+ de confiance. Lisez celles-ci en premier. À. Chaque. Fois.
  • Texte rouge sans fond - résultat à investiguer. Probablement un vecteur de privesc, mais il faut du contexte (un script modifiable que root n'exécute jamais n'est pas un gain).
  • Texte jaune - « tu devrais probablement savoir ça ». Souvent une configuration qui compte mais qui n'est pas directement exploitable.
  • Bleu clair / vert - informationnel. Choses que le système fait bien, ou valeurs rapportées pour le contexte. À sauter en première lecture.
  • Cyan clair / magenta - noms d'utilisateurs et utilisateurs actifs. Utile pour cibler le mouvement latéral, pas directement pour l'élévation de privilèges.

Les sections « Interesting Files » et « Software Information » sont d'habitude les plus longues et produisent le plus de bruit vert/cyan. Si vous lisez depuis un fichier sauvegardé, sautez directement à l'en-tête de section qui dit « Stored credentials? in fish-history files » ou « SUID - Check easy privesc, exploits and write perms » : c'est là que les lignes rouge sur jaune apparaissent. Dans une mission réelle, le geste qui fait gagner du temps est grep -E "$(printf '\\033')\\[1;31;103m" sur la sortie colorée pour extraire seulement les résultats de plus haute priorité :

grep -aE $'\033\\[1;31;103m' /tmp/linpeas.out | head -20

Cette regex correspond à la séquence ANSI pour « texte rouge sur fond jaune » et ne sort que les lignes que LinPEAS lui-même a marquées à 95%+ de confiance. En pratique, c'est la ligne qui compte le plus quand le temps de triage est serré.

Vecteurs d'Élévation de Privilèges Que LinPEAS Révèle le Mieux

Six catégories produisent la grande majorité des gains LinPEAS dans de vraies missions. Savoir à quoi chacune ressemble dans la sortie accélère le triage.

NOPASSWD Sudo et Mauvaises Configurations Sudo

La sortie de sudo -l est la première chose que LinPEAS lance (avec l'option -P <mot_de_passe>, si vous en fournissez un pour l'utilisateur courant). Cherchez les entrées NOPASSWD, les règles sudo qui autorisent des binaires spécifiques (surtout tout ce qui est dans le dataset GTFOBins), et les directives env_keep qui préservent LD_PRELOAD ou LD_LIBRARY_PATH. Chacun de ces cas a un schéma d'escalade documenté.

Binaires SUID et SGID

LinPEAS liste tous les binaires SUID-root du système et croise avec les entrées GTFOBins. Tout ce qui matche est marqué en rouge. Gains courants en live : /usr/bin/find avec le bit SUID, nmap en mode interactif sur les anciennes machines, binaires custom avec le bit SUID positionné par accident. Entraînez-vous à les repérer et les exploiter dans le lab SUID Privilege Hunter de HackerDNA.

Tâches Cron et Timers Systemd

Les entrées cron qui tournent en root et référencent des scripts modifiables ou des expansions wildcard sont de l'or pour l'escalade. LinPEAS imprime /etc/crontab, les crontabs par utilisateur qu'il peut lire, les entrées /etc/cron.d/ et la liste des timers systemd. Voyez le lab Matsudo pour de la pratique d'escalade par cron.

Version du Noyau et Exploits Publics

Avec -a, LinPEAS récupère la base linux-exploit-suggester et imprime les exploits noyau probables pour la version courante. Utile comme indice, mais vérifiez le niveau de patch réel (uname -r donne la version, pas ce qui est patché). Beaucoup de distributions backportent les correctifs de sécurité sans incrémenter la version.

Capabilities

Les capabilities Linux sont une alternative plus granulaire à SUID. Un binaire avec cap_setuid+ep peut devenir root sans jamais être SUID-root. LinPEAS lance getcap -r / et signale les capabilities intéressantes. La plus exploitable est cap_setuid+ep sur Python, Perl, ou n'importe quel interpréteur de scripts : une ligne de code devient un shell root.

Fichiers Modifiables dans des Chemins Privilégiés

Les fichiers world-writable dans /etc/, /usr/local/bin/, ou tout chemin depuis lequel des processus root s'exécutent sont un gain immédiat. LinPEAS liste ceux-ci avec le bit world-writable mis en évidence. La référence MITRE ATT&CK pour ces patterns est la tactique d'élévation de privilèges, qui catalogue les familles de techniques plus larges que LinPEAS détecte.

LinPEAS vs WinPEAS : Quand Utiliser Lequel

Même projet, systèmes d'exploitation différents. LinPEAS est la variante Linux ; WinPEAS est la variante Windows, distribuée comme un .exe pré-compilé (et une alternative .bat). Ils partagent la philosophie de conception : énumération codée par couleur, résultats classés, déploiement en un seul binaire, et ils partagent le mainteneur (PEASS-ng).

La décision est le système d'exploitation, pas la préférence. Si votre cible répond à uname -a, lancez LinPEAS. Si systeminfo fonctionne, lancez WinPEAS. Les deux scripts se recoupent sur les concepts portables (énumération de processus, tâches planifiées, listeners réseau) mais divergent sur les spécificités de la plateforme (capabilities Linux vs privilèges de tokens Windows, sudo vs UAC, cron vs tâches planifiées). Pratiquez le côté Windows dans le cours d'élévation de privilèges Windows de HackerDNA : le workflow est parallèle mais les vecteurs sont assez différents pour qu'apprendre l'un ne donne pas l'autre gratuitement.

Pour la question plus large de la place de PEASS à côté des autres outils (LinEnum, pspy, linuxprivchecker), notre tour d'horizon des outils de pentest parcourt la boîte à outils complète d'énumération et où chaque script gagne.

Pratiquer l'Élévation de Privilèges Linux en Lab

Les résultats LinPEAS ne comptent que si vous savez agir dessus. Lire la sortie est la première moitié ; chaîner un résultat en shell root est la seconde. Le moyen le plus rapide de construire ce réflexe est de pratiquer sur des machines Linux volontairement vulnérables qui imitent les scénarios de mission réels. Les labs d'élévation de privilèges de HackerDNA tournent dans le navigateur, sans installation, sans VPN, sans Docker. Inscrivez-vous au tier gratuit, lancez-vous dans le lab Cronpocalypse, et lancez LinPEAS comme premier coup. Comparez ce que LinPEAS marque avec ce qui est réellement exploitable. Répétez sur les labs SUID Privilege Hunter et Matsudo et vous avez la mémoire musculaire dont la plupart des candidats OSCP ont besoin avant le jour de l'examen.

Pour le terrain conceptuel plus profond - pourquoi chaque vecteur d'élévation existe, comment les permissions Linux fonctionnent vraiment, et ce qu'un défenseur regarderait - le cours d'élévation de privilèges Linux couvre toute la fondation théorique à côté des labs. Le cours et les labs sont liés : chaque concept du cours a un exercice pratique.

Considérations Légales et Éthiques

Rappel critique : Obtenez toujours une autorisation écrite explicite avant de lancer LinPEAS ou tout outillage d'élévation de privilèges contre un système. Même si LinPEAS est en lecture seule, l'exécuter contre un système qui ne vous appartient pas est un accès non autorisé selon le Computer Fraud and Abuse Act (US), la Loi Godfrain (France), et les lois équivalentes dans la plupart des juridictions.

  • N'utilisez LinPEAS que sur des systèmes que vous possédez, des environnements de lab, ou des systèmes explicitement dans le scope d'une mission autorisée.
  • Documentez chaque commande lancée pendant une mission client. La sortie LinPEAS doit aller dans l'annexe du rapport.
  • Téléchargez LinPEAS uniquement depuis les releases officielles GitHub PEASS-ng. Des miroirs et forks ont déjà été weaponisés par le passé.
  • Confirmez le SHA256 du script contre la release amont avant de lancer sur un système de production. Cinq secondes de paranoïa, ça vaut le coup.

Questions Fréquentes

LinPEAS est-il sûr à lancer sur un système de production ?

LinPEAS est en lecture seule et ne modifie pas de fichiers ni n'ouvre de connexions entrantes, donc il est sûr au sens technique. Le risque est la détection : les scripts d'énumération déclenchent les EDR comportementaux en lançant des centaines de commandes find et ls en rafale. Sur les systèmes avec EDR ou sysdig en surveillance, attendez-vous à ce que l'exécution génère des alertes. Utilisez le mode furtif -s si la mission impose une réduction du bruit.

Que signifient les codes couleur LinPEAS ?

Texte rouge sur fond jaune est la priorité la plus haute : 95% de confiance que le résultat est exploitable. Rouge simple est un vecteur d'élévation probable qui demande du contexte. Jaune est de la configuration qui mérite d'être connue. Bleu clair et vert sont informationnels ; à sauter en première lecture. La légende est imprimée en haut de chaque exécution LinPEAS.

LinPEAS ou LinEnum : lequel lancer en premier ?

LinPEAS. LinEnum est plus ancien, moins maintenu, et produit une sortie plus plate sans la priorisation de LinPEAS. Ne lancez LinEnum que si LinPEAS ne tourne pas sur la cible (extrêmement rare : LinPEAS est du Bash pur et tourne presque partout). La plupart des pentesters portent les deux comme secours ; en 2026, LinEnum existe surtout comme référence historique.

Puis-je lancer LinPEAS sans accès Internet sur la cible ?

Oui. Le script est du Bash auto-suffisant. Certaines vérifications (le téléchargement de la base linux-exploit-suggester sous -a) demandent un réseau sortant, mais l'énumération principale tourne entièrement hors-ligne. Déposez le script sur la machine via SCP, partage SMB, ou une primitive d'upload existante, et lancez-le normalement.

Où puis-je pratiquer LinPEAS légalement ?

Les labs d'élévation de privilèges de HackerDNA sont le démarrage le plus rapide : navigateur, sans installation, machines Linux volontairement vulnérables qui répondent aux résultats LinPEAS comme on s'y attendrait en mission réelle. Au-delà de HackerDNA, le wargame OverTheWire Bandit et n'importe quelle box Vulnhub locale importée dans VirtualBox sont de bons terrains de pratique.

Vos Prochaines Étapes

LinPEAS est le seul script qui s'auto-rentabilise dès la première exécution sur n'importe quelle mission Linux. Installez-le, apprenez à lire les couleurs, et triez les résultats rouge sur jaune avant tout. L'outil est simple ; les patterns d'élévation qu'il révèle sont le travail. Démarrez avec le tier gratuit de HackerDNA, sans carte de crédit, et lancez LinPEAS sur une vraie cible mal configurée dans le lab Cronpocalypse. Puis enchaînez avec le cours d'élévation de privilèges Linux pour comprendre pourquoi chaque résultat compte. Les réflexes de pentest se construisent par répétition, et LinPEAS est le script que vous lancerez sur chaque machine Linux le restant de votre carrière.

HackerDNA Team

Équipe HackerDNA

Écrit par l'équipe HackerDNA - des professionnels de la cybersécurité qui créent des labs de hacking pratiques et du contenu éducatif pour vous aider à développer des compétences réelles en sécurité.

Rencontrer l'équipe

Prêt à mettre cela en pratique?

Arrêtez de lire, commencez à hacker. Obtenez une expérience pratique avec plus de 170 labs de cybersécurité réels.

Commencer à Hacker Gratuitement
12 000+ Hackers 100+ Labs & Cours Gratuit
Commencer Gratuitement