jan-karel.nl

Inbreken met Toestemming

Een penetratietest is, als je er even over nadenkt, een merkwaardig beroep. Je wordt betaald om in te breken bij organisaties die je zelf hebben uitgenodigd. Je schrijft een rapport over hoe slecht hun beveiliging is, en zij bedanken je ervoor. Het is alsof een slotenmaker langskomt, je slot openbreekt, een factuur stuurt, en je hem een vijfsterrenrecensie geeft.

Maar achter die schijnbare absurditeit zit een strak gestructureerd proces. Een goede pentest is geen willekeurig rondklikken tot er iets omvalt. Het is methodisch werk, opgedeeld in vijf fasen die elk hun eigen doel en discipline hebben.

Fase 1: Verkenning (Reconnaissance)

Voordat je iets aanraakt, kijk je. Passieve verkenning: wat is er publiekelijk te vinden? DNS-records, WHOIS-informatie, SSL-certificaten, LinkedIn-profielen van medewerkers, vacatureteksten (die verklappen welke technologieën ze gebruiken), GitHub-repositories (soms met hardcoded credentials — je zou versteld staan hoe vaak).

Dit is het deel dat het meest op journalistiek lijkt. Je verzamelt puzzelstukjes die afzonderlijk onschuldig zijn, maar samen een beeld vormen. "Ze gebruiken Apache op Ubuntu, hun mail loopt via Microsoft 365, ze zoeken een Kubernetes-engineer, en hun CTO heeft vorige maand op een conferentie verteld dat ze bezig zijn met een cloudmigratie." Dat is geen vertrouwelijke informatie. Het is allemaal publiek. En het vertelt je precies waar je moet zoeken.

Fase 2: Scanning & Enumeratie

Nu word je actief. Poortscans, service-enumeratie, versiedetectie. Welke systemen draaien er? Welke software? Welke versies? Zijn er bekende kwetsbaarheden voor die versies? Dit is het werk waar tools als Nmap, Masscan en Nessus voor zijn gemaakt.

Het verschil tussen een script kiddie en een pentester is wat je met de resultaten doet. Een script kiddie gooit alles in een vulnerability scanner en stuurt de output door. Een pentester begrijpt de output, stelt prioriteiten, en bedenkt hoe de gevonden informatie samenhangt.

Fase 3: Exploitation

Dit is het deel waar mensen aan denken als ze "hacken" horen. Het daadwerkelijk misbruiken van kwetsbaarheden om toegang te krijgen. Maar in de praktijk is het vaak minder spectaculair dan Hollywood doet vermoeden. Geen groene tekst die over het scherm rolt. Wel: een SQL-injection die werkt bij de derde poging. Een standaardwachtwoord dat nooit is veranderd. Een verouderde plugin met een bekende exploit.

Het doel is niet zoveel mogelijk kapotmaken. Het doel is aantonen dat de kwetsbaarheid echt is en wat de impact ervan is. Kun je data lezen? Kun je data wijzigen? Kun je verder het netwerk in? Het verschil tussen een goede pentester en een amateur is terughoudendheid: je doet precies genoeg om het risico aan te tonen, en geen gram meer.

Fase 4: Post-Exploitation

Je bent binnen. En nu? In de echte wereld stopt een aanvaller hier niet. Die gaat verder: privileges escaleren, lateraal bewegen, persistentie vestigen, data exfiltreren. Een goede pentest simuleert dit — binnen de afgesproken scope — om te laten zien hoe ver een aanvaller zou kunnen komen.

Kun je van het webserver-account naar domain admin? Kun je van het DMZ-netwerk naar het interne netwerk? Kun je bij de kroonjuwelen — de klantendatabase, de financiële systemen, het intellectual property?

Fase 5: Rapportage

De belangrijkste fase. En tegelijk de fase die de minste pentesters leuk vinden. Want hacken is opwindend en schrijven is dat niet. Maar een pentest zonder goed rapport is als een doktersbezoek zonder diagnose: je weet dat er iets mis is, maar niet wat, en niet wat je eraan moet doen.

Een goed pentest-rapport heeft twee doelgroepen: het management (dat wil weten: hoe erg is het, en wat kost het om te fixen?) en het technisch team (dat wil weten: waar zit het, hoe reproduceer ik het, en hoe los ik het op?). Het rapport moet beide bedienen, zonder dat de een zich verveelt of de ander verdwaalt.

Op de hoogte blijven?

Ontvang maandelijks cybersecurity-inzichten in je inbox.

← Pentest-methodologie ← Home