Definitie: Een pentest, voluit penetratietest, is een gecontroleerde aanval op een applicatie, netwerk of systeem door een beveiligingsspecialist, met toestemming van de eigenaar. Het doel is kwetsbaarheden vinden en aantonen of ze echt te misbruiken zijn, voordat een kwaadwillende dat doet.
In het kort
- Een pentest gaat verder dan een automatische scan: een specialist probeert zwakke plekken daadwerkelijk te benutten.
- Er zijn drie benaderingen: black box (geen voorkennis), grey box (beperkte informatie, zoals een testaccount) en white box (volledige kennis, inclusief broncode).
- De uitkomst is een rapport met gevonden kwetsbaarheden, de ernst ervan en aanbevelingen om ze op te lossen.
- Volgens De Zaak kost een eenvoudige test enkele duizenden euro’s en een uitgebreide test tienduizenden euro’s.
Wat is een pentest?
Bij een pentest neemt een ethische hacker de rol van aanvaller aan. Hij zoekt naar fouten in de beveiliging en probeert die te gebruiken: inloggen zonder geldig wachtwoord, gegevens van een andere gebruiker inzien, meer rechten krijgen dan bedoeld of code uitvoeren op de server. Alles gebeurt binnen vooraf afgesproken grenzen en met schriftelijke toestemming.
Het verschil met echte aanvallers zit in het doel. Een pentester rapporteert wat hij vindt, zodat de eigenaar het kan oplossen. Een pentest is daarbij een momentopname: hij laat zien hoe veilig een systeem is op het moment van testen. Nieuwe functies, updates of gewijzigde instellingen kunnen later nieuwe zwakke plekken opleveren.
Welke soorten pentests zijn er?
Er zijn twee manieren om pentests in te delen: naar wat er wordt getest en naar hoeveel de tester vooraf weet.
| Soort | Wat er wordt getest |
|---|---|
| Webapplicatie | Inloggen, rechten, formulieren, API’s en gegevensopslag van een website of webapp |
| Mobiele app | De app zelf en de communicatie met de server |
| Extern netwerk | Systemen die vanaf internet bereikbaar zijn |
| Intern netwerk | Wat een aanvaller kan die al binnen het netwerk is |
| Social engineering | De menselijke factor, bijvoorbeeld met een nagemaakte phishingmail |
| Cloud | De inrichting van cloudomgevingen en toegangsrechten |
| Benadering | Voorkennis van de tester | Kenmerk |
|---|---|---|
| Black box | Geen, alleen het adres | Lijkt het meest op een echte aanvaller van buiten, maar mist sneller iets |
| Grey box | Beperkt, zoals testaccounts per rol | Veel gebruikt voor webapplicaties; goede balans tussen realisme en diepgang |
| White box | Volledig, inclusief broncode en documentatie | Grondigst, vindt ook fouten die van buiten moeilijk te zien zijn |
Voor een webapplicatie met verschillende gebruikersrollen is grey box vaak de logische keuze. De tester krijgt dan accounts voor bijvoorbeeld een klant en een medewerker en controleert of de ene rol niet bij de gegevens van de andere kan.
Pentest of kwetsbaarheidsscan: wat is het verschil?
| Kwetsbaarheidsscan | Pentest | |
|---|---|---|
| Uitvoering | Geautomatiseerd | Handmatig door een specialist, ondersteund door tools |
| Resultaat | Lijst met mogelijke zwakke plekken | Bevestigde kwetsbaarheden met bewijs en impact |
| Logische fouten | Worden zelden gevonden | Worden gericht gezocht, zoals fouten in rechten |
| Frequentie | Vaak, bijvoorbeeld wekelijks | Periodiek of na grote wijzigingen |
| Kosten | Laag | Hoger, afhankelijk van scope |
Een scan is een goede aanvulling, maar geen vervanging. Volgens Opsio wijst een offerte onder ongeveer 4.000 dollar meestal op een geautomatiseerde scan en niet op een handmatige test door specialisten.
Hoe verloopt een pentest?
- Afbakening. Samen bepaal je wat wordt getest, welke omgeving, welke benadering en wat niet mag, zoals tests die systemen kunnen platleggen.
- Toestemming en planning. Er komt een schriftelijke opdracht met afspraken over tijdstip en contactpersonen.
- Verkenning. De tester brengt de applicatie of het netwerk in kaart.
- Testen. Met tools en handwerk zoekt hij naar zwakke plekken en probeert hij ze te benutten.
- Rapportage. Elke bevinding krijgt een beschrijving, een ernstniveau, bewijs en een advies.
- Herstel en hertest. Het ontwikkelteam lost de bevindingen op, waarna de tester controleert of dat gelukt is.
Volgens De Zaak duurt een pentest enkele dagen tot weken, afhankelijk van de complexiteit van de systemen.
Hoe bereid je een pentest voor?
- Kies een testomgeving die gelijk is aan productie, maar zonder echte klantgegevens.
- Maak testaccounts voor elke rol, zodat de tester ook de rechten kan controleren.
- Informeer betrokkenen, zoals de hostingpartij, zodat een test niet als echte aanval wordt behandeld.
- Zorg voor een back-up voordat de test begint.
- Plan tijd voor herstel. Een rapport zonder opvolging levert niets op.
- Spreek een contactpersoon af die de tester kan bereiken als er tijdens de test iets kritieks wordt gevonden.
Wat wordt er bij een webapplicatie getest?
Testers werken vaak met de OWASP Top 10, een bekende lijst van de meest voorkomende risico’s in webapplicaties. Typische aandachtspunten zijn:
- Toegangscontrole: kan een gebruiker gegevens of functies bereiken die niet bij zijn rol horen?
- Authenticatie: zijn inloggen, wachtwoordherstel en sessies goed beveiligd?
- Invoer: worden formulieren en API’s beschermd tegen het injecteren van code?
- Configuratie: staan er onnodige functies, testpagina’s of foutmeldingen open?
- Gevoelige gegevens: worden wachtwoorden en persoonsgegevens veilig opgeslagen en verstuurd?
- Gebruikte pakketten: zitten er bekende kwetsbaarheden in onderdelen van derden?
Wat kost een pentest?
De prijs hangt vooral af van de omvang, de complexiteit en de gekozen benadering. Als marktindicatie:
| Bron | Indicatie |
|---|---|
| De Zaak | Enkele duizenden euro’s voor een eenvoudige test van een kleine website, tienduizenden voor een complexe IT-omgeving |
| Opsio | Voor webapplicaties 8.900 tot 34.600 dollar, met een theoretisch gemiddelde over alle soorten van ongeveer 18.300 dollar |
Een kleine webapplicatie met een beperkt aantal rollen en schermen valt aan de onderkant van die bandbreedte. Een platform met veel koppelingen, API’s en gevoelige gegevens aan de bovenkant.
Wanneer laat je een pentest uitvoeren?
- Voor de livegang van een applicatie met persoonsgegevens of betalingen.
- Na grote wijzigingen, zoals een nieuwe module, een nieuwe koppeling of een andere hosting.
- Periodiek. De Zaak adviseert jaarlijks bij een hoog risicoprofiel of strenge eisen, en anders elke twee tot drie jaar.
- Als klanten of regels erom vragen, bijvoorbeeld bij ISO 27001, NIS2 of eisen van grote opdrachtgevers.
Let bij de keuze van een pentester op relevante certificeringen, zoals OSCP of OSWE, een VOG en duidelijke afspraken over vertrouwelijkheid.
Wat betekent dit voor jouw project?
Een pentest vind ik vooral zinvol als de basis al goed is ontworpen. Rollen en rechten, de scheiding tussen gegevens van klanten en de omgang met persoonsgegevens horen in de eerste versie, niet pas na een rapport. Daarom kijk ik bij een nieuw proces eerst: wat komt binnen, wie moet ermee verder en welke informatie heeft die persoon nodig? Dat bepaalt wie wat mag zien.
Gaat een applicatie met gevoelige gegevens live, dan is een onafhankelijke test door een specialist een logische stap. Ik vind het belangrijk om dat vooraf te bespreken, zodat het een plek heeft in de planning en het budget.
Vraag? Stuur me wat je applicatie moet doen, wie ermee werkt en welke gegevens erin komen. Dan bespreken we welke beveiligingsstappen bij de eerste versie horen. Lees ook wat er komt kijken bij een webapplicatie bouwen.
Veelgestelde vragen over pentests
Wat is een pentest?
Een pentest of penetratietest is een gecontroleerde aanval op een applicatie of systeem door een beveiligingsspecialist, met toestemming van de eigenaar. Het doel is kwetsbaarheden te vinden en aan te tonen of ze te misbruiken zijn, zodat ze kunnen worden opgelost.
Wat kost een pentest?
Een pentest kost volgens De Zaak enkele duizenden euro’s voor een eenvoudige website tot tienduizenden euro’s voor een complexe omgeving. De prijs hangt af van de omvang, het aantal rollen en koppelingen en de gekozen benadering.
Hoe vaak moet je een pentest laten doen?
Bij een hoog risicoprofiel of strenge eisen wordt jaarlijks testen aangeraden, anders elke twee tot drie jaar. Daarnaast is een nieuwe test verstandig na grote wijzigingen, zoals een nieuwe module, koppeling of hostingomgeving.
Verwante termen
Rollen en rechten · Privacy by design · Webapplicatie · Broncode · Datasoevereiniteit en EU-hosting · SLA · Technische schuld
← Terug naar de kennisbank