De praktische gids voor Linux privilege escalation — MB Cyberworks | PNPT Series
Linux privilege escalation vormt een cruciale fase binnen elke penetratietest. Zodra je initiële toegang hebt tot een Linux-systeem, verschuift de focus van toegang verkrijgen naar controle uitbreiden. Dat vereist een methodische aanpak: eerst begrijpen wat je ziet, daarna pas exploiteren.
Handmatige enumeratie blijft daarbij onmisbaar, maar in de praktijk gebruiken professionele pentesters ook geautomatiseerde tools om sneller potentiële aanvalsvectoren te identificeren. In deze gids vergelijk ik twee veelgebruikte Linux privilege escalation tools: LinPEAS en Linux Smart Enumeration (LSE).
Deze vergelijking is gebaseerd op praktisch gebruik tijdens PNPT-voorbereiding, homelab-tests en CTF-omgevingen. Niet met de vraag “welke tool is beter?”, maar wanneer gebruik je welke en waarom?
Het landschap van Linux enumeratie
Linux privilege escalation tools zijn in de loop der jaren sterk geëvolueerd:
- LinEnum – één van de eerste brede enumeratie-scripts
- linuxprivchecker.py – Python-gebaseerde checks met beperkte scope
- LinPEAS – uitgebreide, moderne en actieve ontwikkeling
- Linux Smart Enumeration (LSE) – gefocust, gradueel en workflow-gedreven
Waar oudere scripts vooral alles tegelijk tonen, kiezen moderne tools voor óf maximale dekking (LinPEAS) óf gecontroleerde informatie-onthulling (LSE).
LinPEAS: brede dekking en maximale zichtbaarheid
LinPEAS (Linux Privilege Escalation Awesome Script) is ontwikkeld door Carlos Polop, bekend van HackTricks. Het script is uitgegroeid tot een van de meest complete Linux enumeratie-tools die beschikbaar zijn.
Wat LinPEAS sterk maakt
LinPEAS is ontworpen als een allesomvattende enumeratietool. In plaats van één specifiek aanvalspad te onderzoeken, probeert het script in korte tijd zoveel mogelijk potentiële privilege-escalation vectoren zichtbaar te maken.
Dat doet LinPEAS door onder andere uitgebreide systeemchecks uit te voeren, de output visueel te prioriteren met kleurcodering (rood, geel en groen) en meerdere scanmodi aan te bieden voor verschillende situaties. Daarnaast wordt actief gebruikgemaakt van GTFOBins-referenties, zodat gevonden SUID- of sudo-misconfiguraties direct gekoppeld kunnen worden aan bekende exploit-technieken.
Basisgebruik
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh
Veelgebruikte modi:
./linpeas.sh -a # Alle checks (volledig)
./linpeas.sh -s # Snel & stealth
./linpeas.sh -P "password" # Sudo-checks met wachtwoord
Typische bevindingen
In de praktijk is LinPEAS vooral sterk in het blootleggen van klassieke privilege-escalation kansen. Denk hierbij aan verkeerd geconfigureerde SUID- of GUID-binaries, sudo-rechten die te ruim zijn ingesteld en directories of bestanden die schrijfbaar zijn voor de huidige gebruiker.
Daarnaast speurt LinPEAS naar gevoelige configuratiebestanden en back-ups, lokale services die alleen op localhost luisteren en mogelijke kernel-gerelateerde aanvalspaden. In modernere omgevingen kijkt het script ook expliciet naar signalen van container- of virtualisatiecontexten.
Output interpreteren
- Rood: direct potentieel misbruikbaar
- Geel: nader onderzoeken
- Groen: contextuele informatie
LinPEAS levert veel output. Dat is krachtig, maar vraagt om discipline en filtering.
Linux Smart Enumeration (LSE): gecontroleerd en doelgericht
Linux Smart Enumeration kiest bewust voor een andere filosofie. In plaats van alles tegelijk te tonen, wordt informatie stapsgewijs onthuld op basis van relevantie voor privilege escalation.
Levels
./lse.sh # Level 0 – alleen kritieke bevindingen
./lse.sh -l1 # Level 1 – interessante aanvalsvectoren
./lse.sh -l2 # Level 2 – volledige enumeratie
Level 0 is ideaal voor snelle triage: alleen wat écht kansrijk is.
Modulaire aanpak
LSE werkt met modules die je gericht kunt selecteren:
./lse.sh -l1 -s usr,sud
./lse.sh -l2 -s fst,net,pro
Modules omvatten onder andere:
- User- en sudo-configuraties
- Bestandsrechten
- Services en netwerken
- Cronjobs en recurring tasks
- Process monitoring
- Container- en CVE-checks
Process monitoring
Een unieke eigenschap van LSE is procesobservatie:
./lse.sh -l1 -p 300
Hiermee worden periodieke processen en cronjobs zichtbaar die anders onopgemerkt blijven.
Head-to-head vergelijking
LinPEAS biedt maximale dekking en snelheid, maar kan overweldigend zijn. LSE is rustiger, gerichter en dwingt tot nadenken.
- LinPEAS: breed, uitgebreid, tool-gedreven
- LSE: gefocust, modulair, analyst-first
Beide zijn technisch correct en complementair.
Praktische scenario’s
Snelle foothold-assessment
./lse.sh -l0
Geeft direct zicht op high-impact kwetsbaarheden.
Geen resultaat? Verbreden
./linpeas.sh -s
Volledige analyse
./linpeas.sh -a > linpeas.txt
./lse.sh -l2 > lse.txt
Vergelijk overlap en valideer handmatig.
LinPEAS via Metasploit: handig, maar bewust niet voor examens
LinPEAS is ook beschikbaar als post-exploitation module binnen Metasploit:
use post/multi/gather/linpeas
set SESSION 1
run
Metasploit uploadt en executeert LinPEAS automatisch en slaat de output op als loot.
Voordelen
Het gebruik van LinPEAS via Metasploit kan in bepaalde situaties praktisch zijn. Doordat Metasploit het script automatisch uploadt en uitvoert, is er geen handmatige download via wget of curl nodig. Bovendien wordt alle output centraal gelogd binnen het framework, wat handig kan zijn wanneer je met meerdere sessies tegelijk werkt of te maken hebt met een beperkte shell.
Waarom ik dit niet gebruik tijdens examens
Tijdens praktijkexamens zoals PNPT kies ik er bewust voor om LinPEAS niet via Metasploit te gebruiken. Deze aanpak is technisch gezien efficiënt, maar maakt het privilege-escalation proces te automatisch en minder transparant.
Juist tijdens een examen wil ik elke stap van de workflow bewust doorlopen: zelf output lezen, verbanden leggen en bevindingen handmatig verifiëren. Niet alleen om het juiste aanvalspad te vinden, maar ook om helder te kunnen uitleggen waarom een bepaalde misconfiguratie daadwerkelijk tot privilege escalation leidt.
Standalone LinPEAS en LSE sluiten hier beter bij aan.
Wanneer wel logisch?
- CTF-omgevingen
- Interne pentests
- Situaties met beperkte uploadmogelijkheden
Exam- en praktijkoverwegingen
Voor praktijkgerichte certificeringen geldt:
- Tools ondersteunen je analyse
- Ze vervangen geen begrip
- Handmatige validatie blijft essentieel
Begin altijd met basischecks:
id
whoami
uname -a
sudo -l
Gebruik daarna tooling als versneller, niet als vervanger.
Conclusie
LinPEAS en Linux Smart Enumeration vullen elkaar uitstekend aan.
- Gebruik LSE om snel focus aan te brengen
- Gebruik LinPEAS om te verdiepen wanneer nodig
- Valideer altijd handmatig
De beste pentesters zijn niet degene met de meeste tools, maar degene die weten wanneer ze welke tool moeten inzetten en waarom.