Wat een pentest precies is en wat je ervoor terugkrijgt
“Kunnen jullie onze software testen?” is één vraag met drie antwoorden erin. Hoeveel mag de tester vooraf zien, hoe diep gaat het en welke onderdelen tel je mee. Zet die drie los, dan wordt de rest eenvoudig. Hieronder staat het hele verhaal: wat de termen betekenen, wat wij doen, wat je krijgt en wat we niet beloven.
Drie vragen die in één vraag zitten
Wie vraagt “wat voor test doen jullie?” vraagt eigenlijk drie dingen tegelijk. De eerste: hoeveel weet de tester vooraf? Dat heet de box en daar komen black-box, grey-box en white-box vandaan. De tweede: hoe diep gaat het? Dat is het verschil tussen een geautomatiseerde scan, een pentest en een red team en dat bepaalt vooral de prijs. De derde: welke vakgebieden tel je mee? Web, koppelingen, netwerk, broncode, mobiele apps, AI-functies. Die drie assen staan los van elkaar. Je kunt een oppervlakkige white-box doen en een diepe black-box. Zolang je ze door elkaar haalt, praat je in offertes langs elkaar heen.
Black-box: hier is het adres, succes
Je krijgt alleen de URL. Geen inlog, geen documentatie, geen code. Precies wat een willekeurige buitenstaander ook heeft. Ik zoek zelf uit welke pagina's er zijn, welke koppelingen eronder zitten, welke poorten openstaan en waar de zwakke plekken liggen. Voordeel: het is het meest realistische beeld van een aanval van buitenaf. Nadeel: je verspilt tijd aan het vínden van dingen en wat je niet vindt test je ook niet. Alles achter de inlog blijft onzichtbaar. Dit is een goede eerste meting of een jaarlijkse controle van een publieke site, maar het is niet de manier om diepte te kopen.
Grey-box: het adres én een pasje
Je geeft er een testaccount bij, zoals je klanten dat hebben en waar mogelijk een beschrijving van de koppelingen. Nu kan ik ook alles achter de inlog testen: kan een gebruiker bij het dossier van iemand anders, kan hij zijn rechten oprekken, kan hij een stap in een proces overslaan, kan hij een bedrag aanpassen dat vastzou moeten liggen. Dit levert veruit de meeste waarde per uur, want er gaat geen tijd verloren aan zoeken. En het is niet minder eerlijk dan black-box: een echte aanvaller maakt gewoon een account aan. Publiceert je applicatie zelf een technische beschrijving van haar koppelingen, dan wordt die automatisch gevonden en weet de scan welke aanroepen er bestaan zonder te raden. Doet ze dat niet, dan is het bereik kleiner en dat hoort vóóraf in de offerte te staan, niet achteraf in de nabespreking.
White-box: de kluis én de bouwtekening
Je levert de broncode aan, of de container waarin de applicatie draait. Dan hoef ik niets te raden. Ik lees waar een databasevraag wordt opgebouwd, zie welke wachtwoorden of sleutels per ongeluk in de code zijn achtergebleven en welke meegeleverde onderdelen verouderd zijn en bekende lekken hebben. Je vindt hiermee dingen die van buitenaf onzichtbaar zijn. Het nadeel: je ziet ook code die nooit wordt uitgevoerd, dus er moet geprioriteerd worden en de code zegt niets over hoe de server in productie is ingesteld. Daarom staat white-box bij ons nooit alleen: het draait bovenop de test van de draaiende applicatie, niet in plaats daarvan.
Even iets rechtzetten: white hat is niet white box
Deze twee worden constant door elkaar gehaald. Hat gaat over de intentie van de hacker: black hat is crimineel, white hat werkt met toestemming, grey hat doet het ongevraagd maar niet kwaadaardig. Box gaat over wat de tester vooraf mag zien. Wij zijn altijd white hat en juist als white hat kunnen we black-, grey- én white-box testen. Het ene woord gaat over wie je bent, het andere over wat er op tafel ligt.
Scan, pentest of red team
Een vulnerability scan is een machine die bekende zwakheden afvinkt. Snel, breed en goedkoop, maar hij levert ook loos alarm en hij begrijpt jouw bedrijfslogica niet. Een pentest is die scan plus een mens die verifieert, losse bevindingen aan elkaar knoopt tot een aanvalsroute en beoordeelt wat het betekent dat iemand bij die gegevens kan. Een red team is iets heel anders: doelgericht, stealth, wekenlang, inclusief fysieke toegang en het misleiden van medewerkers. Dat laatste doe ik niet en dat beloof ik dus ook niet. Wat ik lever is de eerste twee: een brede systematische scan met verificatie erachter, plus menselijke duiding van wat eruit komt.
Wat er precies wordt getest
De applicatie zelf en haar koppelingen, met de klassieke OWASP-categorieën als basis: injectie, gebroken toegangscontrole, verkeerde configuratie, kapotte sessies. Koppelingen apart, want REST, GraphQL en de oudere varianten hebben elk hun eigen fouten. Moderne webapplicaties die alles in de browser opbouwen worden met een echte browser doorlopen in plaats van met een simpele tekstcrawler, anders vind je maar een fractie van het oppervlak. Verder: de inlog en het rechtenmodel per rol, of iemand bij de gegevens van een andere klant kan, de server en zijn open poorten, de instellingen van het slot op je verbinding, meegeleverde onderdelen van derden met bekende lekken en AI-functies in je software — kan een gebruiker de assistent zijn instructies laten negeren of gegevens laten prijsgeven. Mobiele apps voor Android en iOS zijn een apart traject, net als een phishingsimulatie, want die vraagt een eigen toestemming.
Drie pakketten, oplopend in wat je aanlevert
Basis is zwarte doos: een volledige poortinventaris plus de standaardcontroles op alles wat van buiten te vinden is, met een Nederlands rapport en één hertest. Bedoeld om te weten waar je staat. Standaard is grijze doos: alles van Basis, plus geauthenticeerd testen achter de inlog, browsergebaseerde verkenning voor moderne webapplicaties, de volledige controleset in plaats van de standaardset en een bewijsbijlage met netwerkopnames en screenshots. Premium is witte doos: alles van Standaard, plus broncodeanalyse, het opsporen van achtergebleven sleutels en wachtwoorden, een inventaris van meegeleverde onderdelen met hun bekende lekken en het koppelen van de bevindingen aan normen. Bij Premium wordt de credential in het rapport onleesbaar gemaakt, zodat het rapport zelf geen nieuw lek wordt.
Wat er in het rapport staat
Nederlands, geschreven om gelezen te worden door iemand die geen hacker is. Per bevinding vier dingen: wat het is, waar het zit, hoe ernstig het is en wat het voor jouw bedrijf betekent — dus niet “configuratiefout gedetecteerd” maar wat iemand hiermee kan. Daarnaast per bevinding hoe je het veilig naspeelt, met screenshots en netwerkopnames als bewijs en een hertestcriterium: de concrete controle waarmee je later aantoont dat het dicht is. Voorin staat een top vijf van waar je moet beginnen, want een lijst van tweehonderd bevindingen zonder rangorde is geen hulp. Wil je het in een auditdossier gebruiken, dan worden de bevindingen gekoppeld aan de eisen die ze raken uit OWASP, ISO 27001, NIS2, PCI-DSS, SOC 2 en de AVG.
Eén keer testen is een momentopname
Software verandert wekelijks en er komen elke maand nieuwe kwetsbaarheden bij in onderdelen die je al jaren gebruikt. Een rapport van vorig jaar zegt dus weinig. Daarom kan er een ritme onder: maandelijks een lichte scan en per kwartaal een diepe, waarbij elke ronde wordt vergeleken met de vorige. Dan zie je niet alleen wat er is, maar ook wat erbij is gekomen sinds de vorige keer en wat je daadwerkelijk hebt opgelost. Bij elke fix hoort een hertest, want zonder hertest is “gedicht” een bewering en geen feit.
Wat ik niet beloof
Niemand vindt alles en wie dat belooft verkoopt je iets. In het rapport staat daarom ook wat er níet is getest en waar ik ben gestopt: welke onderdelen buiten de scope vielen, waar de tijdslimiet zat en welke delen niet bereikbaar bleken. Geautomatiseerd testen vervangt geen ervaren specialist die dagen op één applicatie zit; het levert de systematische helft, aantoonbaar en herhaalbaar. Wekenlang stil binnendringen inclusief het misleiden van medewerkers doe ik niet. En “gekoppeld aan ISO 27001” betekent dat ik laat zien welke eis een bevinding raakt — het is geen audit en geen certificaat en die twee mogen in een offerte nooit door elkaar lopen.
Wat er in de opdracht hoort te staan
Vier dingen, altijd. Ten eerste toestemming op papier vóór de eerste scan, met de scope erin: welke domeinen en adressen, in welk tijdvenster en wie de contactpersoon is als er iets omvalt. Zonder die toestemming test ik niet, dat is geen formaliteit maar strafrecht. Ten tweede expliciet wat er buiten de test valt. Ten derde een verwerkersovereenkomst als ik bij persoonsgegevens kan komen, want dat kan bij een test achter de inlog vrijwel altijd. Ten vierde de afspraak dat er één hertest in zit na het herstel. Krijg je een offerte waarin deze vier niet staan, van wie dan ook, vraag er dan naar voordat je tekent.
De korte versie
Box gaat over wat de tester vooraf ziet: alleen je adres, ook een testaccount, of ook de broncode. Meer zien betekent meer testen en een echte aanvaller maakt gewoon een account aan — grey-box levert daarom de meeste waarde per uur. Diepte gaat over wie er kijkt: een scan vinkt af, een pentest verifieert en duidt. Je krijgt een Nederlands rapport met per bevinding het bewijs, de reproductie en het hertestcriterium, plus een eerlijke opsomming van wat er niet is getest. Toestemming op papier gaat altijd vooraf.
Wil je weten wat er van jouw software van buitenaf te zien is?
Plan jouw gratis kennismaking →