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

Penetration Testing
16 min de lecture
Comment Utiliser LinPEAS : Guide d'Élévation de Privilèges Linux
Sur cette page
  1. Qu'est-ce que LinPEAS ?
  2. Comment Fonctionne LinPEAS
  3. Comment Installer LinPEAS
    1. Méthode 1 : Téléchargement Direct (le Plus Courant)
    2. Méthode 2 : Pipe vers Shell (Sans Écriture Disque)
    3. Méthode 3 : Paquet peass-ng de Kali
  4. Lancer LinPEAS : les Options Qui Comptent Vraiment
  5. Lire la Sortie LinPEAS : Codes Couleur et Priorité
  6. Vecteurs d'Élévation de Privilèges Que LinPEAS Révèle le Mieux
    1. NOPASSWD Sudo et Mauvaises Configurations Sudo
    2. Binaires SUID et SGID
    3. Tâches Cron et Timers Systemd
    4. Version du Noyau et Exploits Publics
    5. Capabilities
    6. Fichiers Modifiables dans des Chemins Privilégiés
  7. LinPEAS vs WinPEAS : Quand Utiliser Lequel
  8. Pratiquer l'Élévation de Privilèges Linux en Lab
  9. Considérations Légales et Éthiques
  10. Questions Fréquentes
  11. Vos Prochaines Étapes

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. Le script n'est qu'une étape d'un flux de travail plus large : si vous construisez encore votre modèle mental de la façon dont l'escalade de privilèges fonctionne d'un système à l'autre, commencez par là.

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 et n'installe pas de paquets. Par défaut il tourne hors-ligne, avec une exception à connaître : il envoie le nom d'hôte à un point de réputation HackTricks sauf si vous passez -n, et l'option -a ou -V ajoute une recherche de vulnérabilités en ligne sur les paquets et le noyau. Deuxièmement, la sortie est en couches. Chaque résultat est tagué en ligne d'une couleur de sévérité, et un registre d'exploits noyau intégré signale les CVE d'élévation locale probables pour le noyau en cours : vous cherchez donc les lignes rouge sur jaune au lieu de tout lire de haut en bas.

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 les versions récentes de Kali Linux, 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. Ajoute les plus lentes : une minute de surveillance des processus, du brute-force su des autres utilisateurs avec une liste de mots de passe courants, et une recherche de vulnérabilités en ligne sur les paquets et le noyau. La recommandation amont pour un scan complet et intensif est -a -r (-r ajoute les regex de clés d'API sur le système de fichiers). À utiliser pour la passe « je laisse tourner pendant que je vais chercher un café » style OSCP.
  • -s - mode furtif et ultra-rapide. Saute les contrôles chronophages et n'écrit rien sur le disque. À utiliser quand l'EDR est dans le scope.
  • -q - silencieux. Supprime la bannière pour que la sortie soit plus propre quand on la pipe dans un fichier.
  • -o <checks> - ne lance que des catégories de vérifications spécifiques, dans une liste séparée par des virgules (par exemple system_information,container,network_information). 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 la plupart des gains plus vite, et vous pouvez toujours relancer avec -a si rien d'immédiat ne ressort. Les options supplémentaires ajoutent surtout la surveillance des processus d'une minute et la recherche en ligne, utiles mais rarement ce qui prend la machine.

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.

Voici la légende que LinPEAS imprime en haut de chaque exécution, dans ses propres termes :

  • Rouge sur fond jaune - « 95% a PE vector » (vecteur d'élévation à 95%). Lisez celles-ci en premier. À. Chaque. Fois.
  • Rouge simple - « you should take a look into it » : un vecteur probable qui demande du contexte (un script modifiable que root n'exécute jamais n'est pas un gain).
  • Vert - choses courantes et attendues (utilisateurs, groupes, binaires SUID/SGID, montages, scripts .sh, tâches cron). À sauter en première lecture.
  • Bleu - utilisateurs sans shell, et périphériques montés.
  • Cyan clair - utilisateurs avec un shell. Utile pour cibler le mouvement latéral, pas directement pour l'élévation de privilèges.
  • Magenta clair - votre nom d'utilisateur courant.

Les sections « Interesting Files » et « Software Information » sont d'habitude les plus longues et produisent le plus de bruit vert. Si vous lisez depuis un fichier sauvegardé, sautez directement à l'en-tête de section qui dit « 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 un grep sur la séquence ANSI que LinPEAS utilise pour le rouge sur jaune, appliqué à la sortie colorée, pour n'extraire que 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

LinPEAS analyse sudo -l (passez -P <mot_de_passe> si vous connaissez le mot de passe de l'utilisateur courant, pour qu'il tourne avec les identifiants). 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é. Entraînez-vous à transformer une règle sudo en shell root dans le lab Matsudo de HackerDNA.

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. Le lab Cronpocalypse vous dépose sur une machine où un cron root exécute un script world-writable chaque minute, exactement le pattern que LinPEAS signale ici.

Version du Noyau et Exploits Publics

LinPEAS embarque un registre d'exploits noyau et, par défaut, signale les CVE d'élévation locale probables pour la version du noyau en cours (PwnKit et Dirty Pipe apparaissent ici quand la version correspond). Ajoutez -a ou -V pour une recherche en ligne qui croise les paquets installés avec un flux de vulnérabilités à jour. Dans tous les cas, 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 avec notre guide WinPEAS : 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 : LinPEAS l'appelle « 95% a PE vector ». Rouge simple est un vecteur probable qui demande du contexte. Le vert marque des choses courantes et attendues et le bleu marque les utilisateurs sans shell plus les périphériques montés : à sauter tous deux en première lecture. Le cyan clair, ce sont les utilisateurs avec un shell ; le magenta clair, votre propre nom d'utilisateur. 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. Seules la recherche de vulnérabilités en ligne optionnelle (l'option -a ou -V) et la vérification de réputation du nom d'hôte demandent un réseau sortant, et -n saute cette dernière. L'énumération principale, y compris le registre d'exploits noyau intégré, 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. De vraies machines, dans votre navigateur, gratuitement.

Commencer à Hacker Gratuitement
30 000+ Hackers Vrais labs Gratuit
Commencer Gratuitement ou résolvez le hack du jour, sans compte