Penetratietest¶
Bij een penetratietest (of pentest) probeer je op een gecontroleerde manier in te breken in een systeem om zwakke plekken te vinden. Je denkt als een hacker, maar gebruikt deze kennis om systemen te verbeteren in plaats van te schaden. Dit product past bij het pre-profiel Security Engineer.
Een penetratietest mag alleen worden uitgevoerd op systemen waar je toestemming voor hebt (bijv. eigen project, opdracht van de opdrachtgever). Je documenteert je aanpak, welke tests je hebt uitgevoerd, wat je hebt gevonden en welke aanbevelingen je doet. Het doel is om kwetsbaarheden te ontdekken zodat ze kunnen worden verholpen vóórdat kwaadwillenden ze misbruiken.
Om inspiratie op te doen over wat voor soort tests je kunt uitvoeren, kun je kijken naar de OWASP top 10 lijst:
- A01 Broken Access Control
- A02 Security Misconfiguration
- A03 Software Supply Chain Failures
- A04 Cryptographic Failures
- A05 Injection
- A06 Insecure Design
- A07 Authentication Failures
- A08 Software or Data Integrity Failures
- A09 Security Logging and Alerting Failures
- A10 Mishandling of Exceptional Conditions
Kwaliteitsindicatoren¶
Bij het waarderen van dit product zal er worden gekeken naar de volgende kwaliteitsindicatoren:
- Het document is een op zichzelf staand rapport met een duidelijke scope en toestemming (waarop is getest, met welk mandaat).
- De aanpak van de penetratietest is beschreven (welke stappen, welke tools of methodes).
- Er zijn bevindingen vastgelegd: welke kwetsbaarheden zijn gevonden en hoe zijn ze aangetoond?
- Er zijn aanbevelingen geformuleerd om de gevonden zwakke plekken te verhelpen.
- De test is ethisch en gecontroleerd uitgevoerd (geen schade, alleen geautoriseerde systemen).
- Er is gebruik gemaakt van betrouwbare methodes of standaarden (bijv. OWASP, PTES) waar van toepassing.
- Er is een lijst van bronnen opgenomen.
Template¶
Om een penetratietest te documenteren, kan je gebruik maken van de volgende template:
# Penetratietest: [systeem / applicatie]
Korte introductie: wat is het doel van de test, wat is de scope en op basis van welke toestemming is getest?
## Scope en afbakening
Welke onderdelen vallen binnen de scope? Wat is uitgesloten? Wat zijn de spelregels?
## Aanpak
Welke methode of framework heb je gebruikt? Welke stappen heb je doorlopen (reconnaissance, scanning, exploitatie, rapportage)?
## Uitgevoerde tests
Welke tests heb je uitgevoerd? (bijv. poortscan, vulnerability scan, handmatige checks)
## Bevindingen
Per bevinding:
- Beschrijving van de kwetsbaarheid
- Hoe is deze aangetoond? (stappen, evidence)
- Impact en ernst
## Aanbevelingen
Per bevinding: hoe kan deze worden verholpen?
## Conclusie
Samenvatting van de beveiliging en de belangrijkste aanbevelingen.
## Bronnen
Lijst van gebruikte tools, methodes en bronnen.