Penetratietesten (ook wel pentesten genoemd) zijn een type beveiligingstest die erop gericht is potentiële kwetsbaarheden in een systeem bloot te leggen.
Een pentest rapporteert niet alleen gevonden zwakke plekken, maar probeert deze ook actief te misbruiken door middel van zogenoemde ethische hacking.
Waarom zijn pentesten nodig? Elke aanvaller kan een systeem onderbreken of er ongeautoriseerde toegang toe krijgen als het niet goed is beveiligd. Een beveiligingsrisico kan ontstaan door onbedoelde fouten die tijdens de ontwikkelings- en implementatiefasen van software worden gemaakt.
Met penetratesten kunnen we:
- zwakke plekken en risico's vinden die kunnen leiden tot lekken van gevoelige gegevens
- phishing en cyberaanvallen voorkomen
- het vertrouwen van gebruikers behouden door hun gevoelige informatie te beschermen
- voldoen aan normen en regelgeving
In dit artikel ga ik dieper in op de volgende onderwerpen:
- Methodologie voor penetratesten
- 3 belangrijkste benaderingen voor penetratesten
- Wat zijn de belangrijkste typen penetratesten?
Methodologie voor penetratesten
Voordat penetratesten worden uitgevoerd, worden de risico's vastgesteld met een kwetsbaarheidsbeoordeling. Dit betekent dat eerst de mogelijke probleemgebieden (zoals het opslaan van inloggegevens) worden geïdentificeerd en vervolgens actief worden aangevallen.
Bij penetratesten moet elke locatie met gevoelige gegevens worden onderzocht, evenals alle applicaties die deze gegevens opslaan of ermee communiceren, alle netwerkverbindingen en alle relevante toegangspunten. Pentests proberen beveiligingskwetsbaarheden en zwakke plekken uit te buiten in een poging het netwerk en de applicaties binnen te dringen.
Het doel van pentesten is vast te stellen of kwaadwillende aanvallers ongeautoriseerde toegang kunnen krijgen tot kritieke systemen of bestanden. Nadat deze kwetsbaarheidsscans zijn uitgevoerd, moeten gevonden problemen worden aangepakt en verholpen.

3 belangrijkste benaderingen voor penetratesten
Net als bij alle soorten en methoden van testen kunnen we verschillende benaderingen voor penetratesten gebruiken, afhankelijk van de kennis en toegangsrechten van de tester. De belangrijkste benaderingen voor penetratesten zijn testen met volledige kennis, testen zonder voorkennis en testen met gedeeltelijke kennis.
1. Penetratesten met volledige kennis
Bij penetratesten met volledige kennis beschikken de testers over volledige kennis van en volledige toegang tot het systeem. Deze aanpak maakt diepgaande tests mogelijk en biedt de kans om meer afgelegen en moeilijker bereikbare kwetsbaarheden te ontdekken.
2. Penetratesten zonder voorkennis
Penetratesten zonder voorkennis zijn een benadering waarbij de tester geen kennis heeft van de interne werking van het systeem. Een tester ontwerpt de pentests alsof hij of zij een aanvaller zonder voorkennis is.
Deze aanpak komt het meest overeen met situaties uit de praktijk, waarin hackers geen toegang hebben tot de daadwerkelijke broncode van de applicatie of het systeem dat wordt getest.
3. Penetratesten met gedeeltelijke kennis
Penetratesten met gedeeltelijke kennis vormen het middelpunt tussen testen met volledige kennis en testen zonder voorkennis. Dit betekent dat de pentester over beperkte kennis van het systeem beschikt.
Laten we nu dieper ingaan op enkele verschillende typen penetratesten.
Wat zijn de belangrijkste typen penetratesten?
1. Penetratesten van webapplicaties
Penetratesten van websites zijn meestal gerichter en gedetailleerder dan andere typen pentests. Het belangrijkste doel is zwakke plekken en cyberbeveiligingsrisico's te vinden in websites en hun onderdelen, zoals databases, broncode of het back-endnetwerk.
Het testen van webapplicaties op penetratie is nu bijzonder belangrijk, omdat er een grote toename van cybercriminaliteit is waargenomen als gevolg van de Covid-19-pandemie.
Enkele veelvoorkomende beveiligingszwakheden waar je als penetratietester in een webapp naar moet zoeken, zijn:
- Onbeveiligde toegangspunten
- Zwakke wachtwoorden
- SQL-injectieaanvallen
- Code-injectie
- Cross-sitescripting
- Datalekken
- Phishingaanvallen
2. Penetratietesten aan de clientzijde
Dit is een type test waarbij wordt gecontroleerd op lokale bedreigingen. Deze bedreigingen kunnen afkomstig zijn van apps of programma's die op de werkstations van werknemers draaien: browsers, mediaspelers, opensource-apps, apps voor presentaties of het creëren van content (denk aan Microsoft PowerPoint).
Naast apps van derden kunnen ook interne programma's en frameworks beveiligingsbedreigingen veroorzaken. Zorg er daarom voor dat je deze in de tests opneemt.
3. Netwerkpenetratietesten
Dit type test wordt het vaakst aangevraagd voor penetratietesten. Het doel ervan is kwetsbaarheden in de netwerkinfrastructuur te ontdekken.
Netwerken hebben zowel interne als externe toegangspunten, waardoor ze kwetsbaar kunnen zijn voor aanvallen van cybercriminelen. De twee subcategorieën van netwerkpenetratietesten zijn: interne netwerktests en externe netwerktests.
Interne netwerkpenetratietest
Dit type penetratietest gaat uit van de aanname dat de aanvallen van hackers vanuit het netwerk plaatsvinden. Als penetratietester neem je de rol aan van een kwaadwillende persoon met een bepaald niveau van (meer of minder) legitieme toegang tot het interne netwerk.
Dit kan bijvoorbeeld betekenen dat je de gevolgen analyseert van vertrouwelijke informatie die onbedoeld is bekendgemaakt, gewijzigd, misbruikt of vernietigd.
Externe netwerkpenetratietest
In dit geval wordt het scenario nagebootst waarin de aanval van buiten het netwerk komt. De testers proberen in het systeem in te breken door kwetsbaarheden van buitenaf te misbruiken, waardoor toegang tot interne gegevens en systemen mogelijk wordt.
Penetratesten kunnen zich richten op de volgende netwerkbeveiligingsrisico's:
Bij het uitvoeren van penetratietests is het ook cruciaal om de integriteit van je platforms voor gegevensbeheer te valideren
4. Tests van social engineering
Social engineering verschilt van andere testtypen omdat het zich niet richt op technische aspecten van de systemen of applicaties. In plaats daarvan verschuift de focus naar de psychologie van gebruikers en werknemers, die de beveiliging onbedoeld in gevaar kunnen brengen.
Je kunt penetratesten voor social engineering op twee manieren uitvoeren: op afstand of fysiek.
Tests van social engineering op afstand worden uitgevoerd via elektronische middelen, zoals phishinge-mails die mogelijk malware bevatten. Als werknemers de e-mail openen, kan het een goed idee zijn dat het bedrijf begint met het organiseren van beveiligingstrainingen om dergelijke echte aanvallen te voorkomen.
Bij fysieke beveiligingstests wordt er daadwerkelijk met mensen gesproken en worden zij ervan overtuigd gevoelige informatie bekend te maken.
Ik weet niet hoe het met jou zit, maar in de afgelopen jaren hebben drie bedrijven waarvoor ik heb gewerkt dit soort tests uitgevoerd. Zo ontvingen wij als werknemers bijvoorbeeld e-mails waarin werd beweerd dat we een prijs hadden gewonnen op websites van webwinkels of dat we speciale kortingen kregen. In de e-mails werden we aangespoord om op een link te klikken of een bestand te downloaden. In normale omstandigheden, wanneer de aanval echt is en niet wordt gesimuleerd, bevatten de URL of bijlagen meestal malware die de computers kan infecteren en persoonlijke of vertrouwelijke gegevens kan stelen.
Je zou verbaasd zijn hoeveel mensen daadwerkelijk in dit soort valstrikken lopen, vooral wanneer de e-mail afkomstig lijkt te zijn van een betrouwbare bron, zoals Amazon.
Houd er rekening mee dat het management altijd vooraf moet worden geïnformeerd wanneer dergelijke tests worden uitgevoerd.
5. Fysieke penetratietesten

Fysieke penetratietests gaan verder dan de digitale aspecten. Om dit type test uit te voeren, moet u beoordelen hoe eenvoudig het kan zijn om fysieke toegang tot een faciliteit te verkrijgen. Dit kan door te proberen beveiligingsmaatregelen, sensoren of beveiligingscamera’s te omzeilen, of zelfs door te proberen de deuren open te maken met een loper.
De voordelen van fysieke tests zijn onmiddellijk: herstel van elke gevonden kwetsbaarheid kan worden toegepast zodra het gebied dat verbetering nodig heeft, is geïdentificeerd.
6. Draadloze penetratietests
Inbreuken op draadloze netwerken vormen een reële bedreiging voor de beveiliging van een bedrijf. De tests worden uitgevoerd op alle fysieke draadloze apparaten, zoals laptops, tablets, smartphones enzovoort, die met het WiFi-netwerk zijn verbonden.
Bij draadloze tests moet u onder andere letten op:
- zwakke plekken in de versleuteling
- kwetsbaarheden in draadloze protocollen, draadloze toegangspunten of beheerdersreferenties
- standaard- of zwakke wachtwoorden
- ongeautoriseerde hotspots
- aanvallen voor weigering van dienstverlening (DoS)
Conclusies
Penetratietests zijn erg belangrijk en bieden veel voordelen, maar ze zijn niet zo eenvoudig uit te voeren als andere soorten tests. Als u uw vaardigheden wilt oefenen, kunt u een kijkje nemen bij de demo-app van OWASP en deelnemen aan enkele hackuitdagingen.
Vond u dit artikel interessant? Op The QA Lead vindt u veel interessante onderwerpen over QA, dus vergeet u niet te abonneren op de nieuwsbrief!
Bekijk ook:
- 5 BELANGRIJKSTE FASEN VAN HET KWETSBAARHEIDSBEHEERPROCES
- HOE U HET TESTEN VAN MOBIELE APPLICATIES AUTOMATISEERT
Gerelateerde lijst met tools:
