Wat is een pentest?

Bij een pentest simuleren ethische hackers een aanval op een organisatie om risico's op te sporen. Hiermee maakt pentesting deel uit van een complete beveiligingsstrategie.

Warpnet icon

Betekenis

Een penetratietest (pentest) is een gesimuleerde aanval op een computersysteem om de beveiliging ervan te evalueren. Pentesters gebruiken de tools, technieken en processen die een kwaadaardige aanvaller zou inzetten om de gevolgen van zwakke plekken in een systeem te vinden en aan te tonen. Een pentest simuleert diverse tactieken en technieken die een organisatie zou kunnen bedreigen. Zo wordt onderzocht of een systeem in staat is om geavanceerde aanvallen vanuit geauthenticeerde en niet-geauthenticeerde posities te weerstaan. Met een gepaste scope kan een pentest in principe de beveiliging van elk aspect van een systeem beoordelen.

Wat is het doel van een pentest?

Applicaties en systemen moeten ontworpen zijn op een manier die het risico op beveiligingslekken minimaliseert. Een pentest geeft inzicht in hoe goed dat doel is bereikt. Op basis hiervan kan het (laten) uitvoeren van een pentest organisaties helpen met:

  • Het vinden van zwakke plekken in systemen
  • De doelmatigheid van beveiligingsmaatregelen beoordelen
  • Ondersteuning van de naleving van regelgeving rondom gegevensbescherming en -beveiliging (bijv. ISO 27001, DigiD, BIO)
  • Inzicht in de huidige veiligheidspositie van de organisatie waarmee begrotingsprioriteiten kunnen worden gesteld

Overweegt u een pentest voor uw organisatie?

Aarzel niet om contact met ons op te nemen; wij vertellen u graag meer over alles omtrent Cybersecurity.

pentest

Wie voert pentests uit?

Het is het beste om een pentest uit te laten voeren door iemand met weinig tot geen voorkennis over hoe het systeem beveiligd is, omdat zij blinde vlekken kunnen blootleggen die over het hoofd zijn gezien door de ontwikkelaars die het systeem hebben gebouwd. Om deze reden worden meestal externe aannemers ingeschakeld om de tests uit te voeren. Deze aannemers worden vaak ‘ethische hackers’ genoemd, omdat ze worden ingehuurd om in te breken in een systeem met toestemming en met als doel de beveiliging te verbeteren.

Veel ethische hackers zijn ervaren ontwikkelaars met een gevorderd diploma en een certificering voor pentests. Aan de andere kant zijn sommige van de beste ethische hackers autodidacten. Sommigen zijn zelfs hervormde criminele hackers die nu hun expertise gebruiken om beveiligingslekken te repareren in plaats van ze uit te buiten. De beste kandidaat om een pentest uit te voeren kan sterk variëren, afhankelijk van het doelbedrijf en het type pentest dat ze willen uitvoeren.

Voor welke redenen voeren organisaties pentests uit?

Een pentest biedt inzicht in de meest kwetsbare aspecten van een systeem. Het dient ook als een preventieve beveiligingsanalyse, waarmee organisaties de ontdekte kwetsbaarheden kunnen verhelpen voordat mogelijke aanvallers ze kunnen misbruiken.

Hieronder volgen vier redenen waarom organisaties pentests zouden moeten uitvoeren:

  • Risicobeoordeling. Het aantal gedistribueerde DoS-, phishing- en ransomware-aanvallen neemt dramatisch toe, waardoor de meeste bedrijven risico lopen. Als je bedenkt hoe afhankelijk bedrijven zijn van technologie, zijn de gevolgen van een succesvolle Cyberaanval nog nooit zo groot geweest. Een ransomware-aanval kan er bijvoorbeeld voor zorgen dat een organisatie geen toegang meer heeft tot de gegevens, apparaten, netwerken en servers waarop het vertrouwt om zaken te doen. Een succesvolle aanval kan dus leiden tot miljoenen euro’s aan verloren omzet. Bij een pentest wordt het oogpunt van hackers gebruikt om cyberbeveiligingsrisico’s te ontdekken en te beperken voordat ze worden uitgebuit. Dit helpt IT-leiders om weloverwogen beveiligingsupgrades door te voeren die de kans op succesvolle aanvallen minimaliseren.
  • Veiligheidsbewustzijn. De technologie ontwikkelt zich voortdurend, net als de methoden die cybercriminelen gebruiken. Als bedrijven zichzelf en hun bezittingen succesvol willen beschermen tegen deze aanvallen, moeten ze hun beveiligingsmaatregelen in hetzelfde tempo kunnen bijwerken. Het nadeel is echter dat het vaak moeilijk is om te weten welke methoden cybercriminelen gebruiken en hoe ze gebruikt kunnen worden bij een aanval. Door een pentest uit te voeren kunnen organisaties snel en effectief de kwetsbare onderdelen van hun systemen identificeren, bijwerken en eventueel vervangen.
  • Reputatie. Een datalek kan de reputatie van een organisatie op het spel zetten, vooral als het openbaar wordt. Klanten kunnen het vertrouwen in de organisatie en geen producten meer kopen, terwijl investeerders misschien aarzelen om te investeren in een organisatie dat zijn digitale beveiliging niet serieus neemt. Een pentest helpt bij het beschermen van de reputatie van een organisatie door proactieve risicobeperkende maatregelen in kaart te brengen.
  • Compliance. Industrieën, waaronder de gezondheidszorg, banken en dienstverleners, nemen compliance en regelgeving serieus en nemen pentests op als onderdeel van hun nalevingsinspanningen. Pentesting is een doelmatige manier om aan de vereisten van diverse veelvoorkomende wetgevingen en normenkaders zoals de Algemene Verordening Gegevensbescherming (AVG) en ISO 27001 te voldoen. Door regelmatig geplande pentests uit te voeren, kunnen organisaties dus bovenop hun compliancebehoeften blijven zitten.

Uit welke stadia bestaat een pentest?

Een pentest simuleert aanvallen van gemotiveerde tegenstanders. Om dit te doen, volgen testers meestal een plan dat de volgende stappen omvat:

pentest stadia
  • Verkenning. Er wordt zoveel mogelijk informatie over het doelwit verzameld uit openbare en particuliere bronnen om de aanvalsstrategie te bepalen. Bronnen zijn onder andere zoeken op internet, ophalen van domeinregistratie-informatie, social engineering, niet opdringerig scannen van netwerken en soms zelfs dumpster diving. Deze informatie helpt pentesters het aanvalsoppervlak van het doelwit en mogelijke kwetsbaarheden in kaart te brengen. Wat het verkenningsproces omvat kan variëren met de omvang en doelstellingen van de pentest; het kan zo eenvoudig zijn als het voeren van een telefoongesprek om de functionaliteit van een systeem te doorlopen.
  • Scannen. Pentesters gebruiken tools om de website of het systeem te onderzoeken op zwakke plekken, inclusief open services, beveiligingsproblemen met applicaties en kwetsbaarheden in open source. Pentesters gebruiken een verscheidenheid aan tools gebaseerd op wat ze vinden tijdens de verkenning en tijdens de test.
  • Toegang verkrijgen. Motieven van aanvallers kunnen bestaan uit het stelen, wijzigen of verwijderen van gegevens, het verplaatsen van fondsen of simpelweg het beschadigen van de reputatie van een bedrijf. Voor elke testcase bepalen pentesters de beste tools en technieken om toegang te krijgen tot het systeem, hetzij via een zwakke plek zoals SQL-injectie of via malware, social engineering of iets anders.
  • Toegang behouden. Zodra pentesters toegang krijgen tot het doelwit, moet hun gesimuleerde aanval lang genoeg aanhouden om hun doel te bereiken: gegevens exfiltreren, wijzigen of functionaliteit misbruiken. Het gaat erom de potentiële impact aan te tonen.
  • Analyse. De bevindingen van de pentest worden geanalyseerd, op basis hiervan wordt een actiegericht rapport opgesteld. In de rapportage moeten kwetsbaarheden duidelijk worden gedocumenteerd en in context worden geplaatst, zodat de organisatie de gevonden beveiligingsrisico’s kan verhelpen.

Hoeveel toegang krijgen pentesters?

Afhankelijk van de doelstellingen van een pentest krijgen testers in verschillende mate informatie over of toegang tot het doelsysteem. In sommige gevallen kiest het pentest team in het begin voor één benadering en blijft daarbij. In andere gevallen ontwikkelt het testteam zijn strategie naarmate de kennis van het systeem tijdens de pentest toeneemt. Er zijn drie toegangsniveaus voor een pentest:

Black Box: Bij een black box pentest krijgt de tester helemaal geen informatie. De pentester volgt in dit geval de aanpak van een onbevoegde aanvaller, van de eerste toegang en uitvoering tot uitbuiting. Dit scenario kan worden gezien als het meest authentieke, het laat zien hoe een tegenstander zonder voorkennis een organisatie zou aanvallen en compromitteren.

Grey box: Bij een grey box pentest wordt slechts beperkte informatie gedeeld met de tester. Meestal is dit in de vorm van inloggegevens. Grey box tests zijn nuttig om inzicht te krijgen in de mate van toegang die een bevoorrechte gebruiker zou kunnen krijgen en de potentiële schade die hij zou kunnen veroorzaken. Grey box-testen vormen een balans tussen diepgang en efficiëntie en kunnen worden gebruikt om een bedreiging van binnenuit of een aanval door de netwerkperimeter te simuleren.

White box: Bij een white box pentest wordt volledige netwerk- en systeeminformatie met de tester gedeeld, inclusief netwerkkaarten en referenties. Dit helpt tijd te besparen en de totale kosten van een opdracht te verlagen. Een white box pentest is nuttig voor het simuleren van een gerichte aanval op een specifiek systeem waarbij zoveel mogelijk aanvalsvectoren worden gebruikt.

Welke pentest types zijn er?

Een grondige benadering van Cybersecurity is essentieel voor optimaal risicobeheer. Dit houdt in dat u alle systemen en toepassingen die potentiële doelwitten zijn voor aanvallers laat testen.

  • Webapplicaties. Testers onderzoeken de effectiviteit van beveiligingscontroles en zoeken naar verborgen kwetsbaarheden, aanvalspatronen en andere potentiële beveiligingslekken die kunnen leiden tot een compromittering van een webapplicatie.
  • Mobiele applicaties. Met behulp van zowel geautomatiseerde als uitgebreide handmatige tests zoeken testers naar kwetsbaarheden in applicatiebinaire bestanden die op het mobiele apparaat draaien en de bijbehorende server-side functionaliteit. Kwetsbaarheden aan de serverzijde omvatten sessiebeheer, cryptografische problemen, problemen met verificatie en autorisatie en andere veel voorkomende kwetsbaarheden in webdiensten.
  • (Wi-Fi) Netwerken. Een Wi-Fi netwerk pentest identificeert algemene tot kritieke kwetsbaarheden in een extern netwerk en systemen. Deskundigen gebruiken een checklist met testcases voor gecodeerde transportprotocollen, problemen met de scoping van SSL-certificaten, gebruik van administratieve diensten en meer.
  • Cloud. Een cloudomgeving verschilt aanzienlijk van traditionele omgevingen op locatie. Meestal worden de beveiligingsverantwoordelijkheden gedeeld tussen de organisatie die de omgeving gebruikt en de aanbieder van clouddiensten. Daarom zijn voor pentests in de cloud gespecialiseerde vaardigheden en ervaring vereist om de verschillende aspecten van de cloud, zoals configuraties, API’s, verschillende databases, encryptie, opslag en beveiligingscontroles, onder de loep te nemen.
  • Containers. Containers die van Docker afkomstig zijn, bevatten vaak kwetsbaarheden die op schaal kunnen worden uitgebuit. Misconfiguratie is ook een veel voorkomend risico in verband met containers en hun omgeving. Beide risico’s kunnen worden blootgelegd met deskundige pentests.
  • Embedded apparaten (IoT). Embedded / Internet of Things (IoT) apparaten zoals medische apparaten, auto’s, huishoudelijke apparaten, booreilandapparatuur en horloges hebben unieke eisen voor het testen van software vanwege hun langere levenscycli, afgelegen locaties, stroombeperkingen, wettelijke vereisten en meer. Experts voeren een grondige communicatieanalyse uit, samen met een client/server-analyse om defecten te identificeren die het belangrijkst zijn voor de relevante use case.
  • Mobiele apparaten. Pentesters gebruiken zowel geautomatiseerde als handmatige analyse om kwetsbaarheden te vinden in applicatie binaries die draaien op het mobiele apparaat en de bijbehorende server-side functionaliteit. Kwetsbaarheden in applicatiebinaire bestanden kunnen authenticatie- en autorisatieproblemen, vertrouwensproblemen aan de clientzijde, verkeerd geconfigureerde beveiligingscontroles en platformoverschrijdende ontwikkelingsframeworkproblemen omvatten. Kwetsbaarheden aan de serverzijde kunnen sessiebeheer, cryptografische problemen, authenticatie- en autorisatieproblemen en andere veel voorkomende kwetsbaarheden in webdiensten omvatten.
  • API’s. Voor de OWASP API Security Top 10 lijst worden zowel geautomatiseerde als handmatige technieken gebruikt bij het uitvoeren van een pentest. Enkele van de beveiligingsrisico’s en kwetsbaarheden waar testers op letten zijn gebroken autorisatie op objectniveau, authenticatie van gebruikers, overmatige blootstelling van gegevens, gebrek aan middelen/snelheidsbeperking, en meer.
  • CI/CD-pijplijn. Moderne DevSecOps-praktijken integreren geautomatiseerde en intelligente codescantools in de CI/CD-pijplijn. Naast statische tools die bekende kwetsbaarheden vinden, kunnen geautomatiseerde pentest tools worden geïntegreerd in de CI/CD-pijplijn om na te bootsen wat een hacker kan doen om de beveiliging van een applicatie te compromitteren. Geautomatiseerde CI/CD-pentests kunnen verborgen kwetsbaarheden en aanvalspatronen ontdekken die met statische scanning niet worden ontdekt.

Hoe vaak moeten pentests worden uitgevoerd?

Hoe vaak pentests moeten worden uitgevoerd hangt af van veel factoren, maar de meeste beveiligingsexperts raden aan om het minstens één keer per jaar te doen, omdat het opkomende kwetsbaarheden kan detecteren, zoals zero-day bedreigingen. Volgens Google waren er in 2022 minstens 41 zero-day bedreigingen opgedoken.

Organisaties moeten de volgende factoren in overweging nemen bij het plannen van pentests:

  • Grootte van de organisatie. Grotere organisaties kunnen meer geld en reputatieschade oplopen als ze ten prooi vallen aan cyberaanvallen. Daarom moeten ze investeren in regelmatige beveiligingstests om deze aanvallen te voorkomen.
  • Budget. Pentests moeten worden gebaseerd op het budget van een bedrijf en hoe flexibel het is. Een grotere organisatie zou bijvoorbeeld in staat kunnen zijn om jaarlijks pentests uit te voeren, terwijl een kleinere organisatie het zich misschien maar eens in de twee jaar kan veroorloven.
  • Regelgeving. Afhankelijk van de type organisatie en de relevante regelgeving, zijn bepaalde organisaties binnen bijvoorbeeld het bankwezen en de gezondheidszorg verplicht om verplichte pentests uit te voeren.

Naast regelmatig geplande pentests moeten organisaties ook beveiligingstests uitvoeren als de volgende gebeurtenissen zich voordoen:

  • Nieuwe netwerkinfrastructuur of apparaten worden toegevoegd aan het netwerk.
  • Er worden upgrades uitgevoerd op bestaande applicaties en apparatuur.
  • Patches voor beveiliging worden geïnstalleerd.
  • Nieuwe kantoorlocaties worden opgezet.
  • Beleid voor eindgebruikers is gewijzigd.

Wat gebeurt er na een pentest?

Na de succesvolle afronding van een pentest deelt een ethische hacker zijn bevindingen met het informatiebeveiligingsteam van de doelorganisatie. Ethische hackers categoriseren hun bevindingen meestal met een score op basis van ernst, zodat de kwesties met de hoogste score voorrang krijgen bij het herstellen.

De organisatie gebruikt deze bevindingen als basis voor verder onderzoek, beoordeling en herstel van de beveiliging. De besluitvormers en belanghebbenden worden in dit stadium ook betrokken en het IT- of beveiligingsteam van de organisatie maakt deadlines om ervoor te zorgen dat alle beveiligingsproblemen snel worden aangepakt.

Hoe voer ik een pentest uit?

Pentesting is uniek ten opzichte van andere evaluatiemethoden voor cyberbeveiliging, omdat het kan worden aangepast aan elke branche of organisatie. Afhankelijk van de infrastructuur en de activiteiten van een organisatie, kan het nodig zijn om een bepaalde set hacktechnieken of -tools te gebruiken. Deze technieken en hun methodologieën kunnen ook variëren op basis van het IT-personeel en hun bedrijfsnormen. Door gebruik te maken van het volgende aanpasbare zesstappenproces, leveren pentests een reeks resultaten op die organisaties kunnen helpen bij het proactief bijwerken van hun maatregelen:

  1. Voorbereiding. Afhankelijk van de behoeften van de organisatie kan deze stap een eenvoudige of uitgebreide procedure zijn. Als de organisatie nog niet heeft besloten welke kwetsbaarheden ze wil evalueren, moet er een aanzienlijke hoeveelheid tijd en middelen worden besteed aan het uitkammen van het systeem op mogelijke toegangspunten. Deze diepgaande processen zijn meestal alleen nodig voor bedrijven die nog geen volledige audit van hun systemen hebben uitgevoerd. Als er echter eenmaal een kwetsbaarhedenbeoordeling is uitgevoerd, wordt deze stap veel eenvoudiger.
  1. Een aanvalsplan opstellen. Voordat een IT-afdeling ethische hackers inhuurt, ontwerpt ze een cyberaanval, of een lijst van cyberaanvallen, die het team moet gebruiken om de pentest uit te voeren. Tijdens deze stap is het ook belangrijk om te bepalen welk niveau van systeemtoegang de pentester heeft.
  1. Een team samenstellen. Het succes van een pentest hangt af van de kwaliteit van de testers. Deze stap wordt vaak gebruikt om de ethische hackers aan te wijzen die het meest geschikt zijn om de test uit te voeren. Deze beslissingen kunnen door bedrijven worden genomen op basis van de specialiteiten van de medewerkers. Als een bedrijf bijvoorbeeld zijn cloudbeveiliging wil testen, is een cloudexpert misschien wel de beste persoon om de cyberbeveiliging goed te evalueren.
  1. Het doelwit bepalen. Wat steelt het team van ethische hackers? Het doelwit dat in deze stap wordt gekozen, kan van grote invloed zijn op de tools, strategieën en technieken die worden gebruikt om de nodige gegevens te verkrijgen.
  1. De test uitvoeren. Dit is een van de meest gecompliceerde en genuanceerde delen van het testproces, omdat er veel geautomatiseerde tools en technieken zijn die testers kunnen gebruiken, waaronder Kali Linux, Nmap, Metasploit en Wireshark.
  1. De rapportage opstellen. Rapportage is de belangrijkste stap van het proces. De resultaten die de testers leveren moeten gedetailleerd zijn zodat de organisatie de bevindingen kan integreren.

Welke pentesting tools zijn er?

Pentesters gebruiken een aantal tools om verkenningen uit te voeren, kwetsbaarheden op te sporen en bepaalde onderdelen van de pentest te automatiseren. Enkele van de meest gebruikte tools zijn:

Gespecialiseerde besturingssystemen: De meeste pentesters gebruiken besturingssystemen die zijn ontworpen voor pentesten en ethisch hacken. Het populairste is Kali Linux, een open-source Linux-distributie die wordt geleverd met pentest tools zoals Nmap, Wireshark en Metasploit.

Tools voor het kraken van referenties: Deze programma’s kunnen wachtwoorden achterhalen door versleutelingen te breken of brute-force aanvallen uit te voeren, waarbij bots of scripts worden gebruikt om automatisch mogelijke wachtwoorden te genereren en te testen totdat er één werkt. Voorbeelden zijn Medusa, Hydra, Hashcat en John the Ripper.

Poortscanners: Met poortscanners kunnen pentesters op afstand apparaten testen op open en beschikbare poorten, die ze kunnen gebruiken om een netwerk binnen te dringen. Nmap is de meest gebruikte poortscanner, maar masscan en ZMap komen ook veel voor.

Kwetsbaarheidsscanners: Tools voor het scannen van kwetsbaarheden doorzoeken systemen op bekende kwetsbaarheden, waardoor pentesters snel potentiële ingangen in een doelwit kunnen vinden. Voorbeelden zijn Nessus, Core Impact en Netsparker.

Kwetsbaarheidsscanners voor het web zijn een subset van kwetsbaarheidsscanners die webapplicaties en websites beoordelen. Voorbeelden zijn Burp Suite en OWASP’s Zed Attack Proxy (ZAP).

Packet analyzers: packet analyzers, ook wel packet sniffers genoemd, stellen pentesters in staat om netwerkverkeer te analyseren door pakketten vast te leggen en te inspecteren. Pentesters kunnen uitzoeken waar het verkeer vandaan komt, waar het naartoe gaat en – in sommige gevallen – welke gegevens het bevat. Wireshark en tcpdump behoren tot de meest gebruikte packet analyzers.

Metasploit: Metasploit is een framework voor pentesting met een groot aantal functies. Het belangrijkste is dat Metasploit pentesters in staat stelt om cyberaanvallen te automatiseren. Metasploit heeft een ingebouwde bibliotheek met vooraf geschreven exploitcodes en payloads. Pentesters kunnen een exploit selecteren, deze een payload geven om af te leveren op het doelsysteem en Metasploit de rest laten afhandelen.

Wat is het verschil tussen een pentest en een geautomatiseerde test?

Hoewel een pentest grotendeels handmatig worden uitgevoerd, maken pentesters ook gebruik van geautomatiseerde scan- en testtools. Maar ze gaan ook verder dan deze tools, en gebruiken hun kennis van de nieuwste aanvalstechnieken om diepgaandere tests uit te voeren dan een kwetsbaarheidsbeoordeling (ofwel geautomatiseerd testen).

Handmatig pentesten

Handmatige pentests brengen kwetsbaarheden en zwakke plekken aan het licht die niet in populaire lijsten staan (bijv. OWASP Top 10) en testen bedrijfslogica die geautomatiseerde tests over het hoofd kunnen zien (bijv. gegevensvalidatie, integriteitscontrole). Een handmatige pentest kan ook helpen bij het identificeren van false positives die door geautomatiseerde tests worden gerapporteerd. Omdat pentesters experts zijn die denken als tegenstanders, kunnen ze gegevens analyseren om hun aanvallen te richten en systemen en websites testen op een manier die geautomatiseerde testoplossingen die een gescripte routine volgen niet kunnen.

Geautomatiseerd testen

Geautomatiseerd testen genereert sneller resultaten en heeft minder gespecialiseerde professionals nodig dan een volledig handmatig pentestproces. Tools voor geautomatiseerd testen houden de resultaten automatisch bij en kunnen deze soms exporteren naar een gecentraliseerd rapportageplatform. Ook kunnen de resultaten van handmatige pentests variëren van test tot test, terwijl het herhaaldelijk uitvoeren van geautomatiseerde tests op hetzelfde systeem dezelfde resultaten oplevert.

Wat zijn de voor- en nadelen van pentesting?

Nu de frequentie en ernst van beveiligingslekken jaar na jaar toeneemt, hebben organisaties nog nooit zoveel behoefte gehad aan inzicht in hoe ze aanvallen kunnen weerstaan. Daarnaast vereisen diverse regelgevingen en beveiligingsnormen zoals de AVG en ISO 27001 dat een organisatie met regelmaat haar beveiliging laat testen. Met oog op deze behoeften volgen hier enkele voor- en nadelen van dit type beveiligingstest.

Voordelen van pentesting

  • Identificeert zwakke punten in beveiligingsmaatregelen, zoals geautomatiseerde tools, configuratie- en coderingsstandaarden, architectuuranalyse en andere lichtere vormen van kwetsbaarheidsbeoordeling.
  • Lokaliseert zowel bekende als onbekende softwarefouten en zwakke plekken in de beveiliging, inclusief kleine fouten die op zichzelf niet zo zorgwekkend zijn, maar die wel materiële schade kunnen veroorzaken als onderdeel van een complex aanvalspatroon
  • Kan elk systeem aanvallen, waarbij wordt nagebootst hoe de meeste kwaadwillende hackers zich zouden gedragen, zodat een echte tegenstander zo goed mogelijk wordt nagebootst.

Nadelen van pentesting

  • Het is een tijdrovend en kostbaar proces
  • Het voorkomt niet volledig dat bugs en kwetsbaarheden de productieomgeving bereiken; het biedt alleen inzicht om deze risico’s te beperken

Vragen? We helpen u graag verder.