Een penetratietest of pentest is een toets van een of meer computersystemen op kwetsbaarheden, waarbij deze kwetsbaarheden ook werkelijk gebruikt worden om in deze systemen in te breken. Een penetratietest vindt normaal gesproken om rechtmatige redenen plaats, met toestemming van de eigenaars van de systemen die getest worden, met als doel de systemen juist beter te beveiligen. Indien het niet om rechtmatige redenen plaatsvindt, zonder toestemming van eigenaars van systemen, is er sprake van een inbraak, zelfs als de bedoeling van de persoon die de test uitvoert opbouwend en goed bedoeld is.

De persoon die een penetratietest uitvoert heet wel een penetratietester of pentester of white hat hacker.

Een penetratietest kan handmatig plaatsvinden, met gebruik van softwareprogramma's zoals nmap en telnet, of het kan geautomatiseerd plaatsvinden met softwarepakketten die dit soort complete penetratietests kunnen uitvoeren. Voorbeelden van dit soort pakketten zijn Nessus, OpenVAS, Retina, SecPoint, GFI Languard, Core Impact en SAINT.

Er kunnen diverse soorten penetratietests worden onderscheiden, de witte doos penetratietests (white box pentest) of de zwarte doos penetratietests (black box pentest). In het eerste geval krijgt de pentester voor het testen al informatie over het netwerk of de computer die getest wordt, in het laatste geval juist niet. Witte doos penetratietests vinden vaak plaats indien men het eigen personeel ervan verdenkt, eigen systemen te hacken. Bij zwarte doos penetratietest wordt er meer uitgegaan van een computerkraker van buitenaf, die zonder vooraf kennis te hebben van vertrouwelijke informatie over een organisatie zijn pogingen tot het kraken van systemen zal uitvoeren.

De verschillende testen:
 

  • Black box test - tester has minimal knowledge, is the best simulation of a real-life hack.
  • Grey box test - tester has partial information (e.g. login account.).
  • White box test - tester has understanding of all aspects of the system in advance.
  • Crystal box test - tester usually has the source code of the application and access to all kinds of configuration information (results in most accurate findings).
  • Time / budget box test - test where the lead time or budget determine when the test ends.


Een verschil tussen een penetratietest en een audit (beveiligingscontrole) is, dat bij een audit geen poging wordt gedaan om daadwerkelijk in te breken, maar enkel mogelijke kwetsbaarheden in kaart gebracht worden. Bij een penetratietest worden kwetsbaarheden juist wel gebruikt om in te breken.

Het doel van een Pentest is om inzicht te krijgen in de risico’s en kwetsbaarheden van het onderzochte systeem/netwerk en om verbeteringen te definiëren voor de beveiliging.

De afgelopen jaren ontstaat bij bedrijven steeds meer de behoefte om hun IT-systemen te onderwerpen aan een zogenaamde Penetratietest  oftewel Pentest. Het uitvoeren van een Pentest kan een waardevolle aanvulling zijn om de mate van de beveiliging te beoordelen.