EITC/IS/WAPT Web Applications Penetration Testing is het Europese IT-certificeringsprogramma voor theoretische en praktische aspecten van penetratietesten voor webapplicaties (white hacking), inclusief verschillende technieken voor spidering-, scan- en aanvalstechnieken voor websites, inclusief gespecialiseerde tools en suites voor penetratietests .
Het curriculum van de EITC/IS/WAPT-penetratietest voor webtoepassingen omvat introductie tot Burp Suite, webspridering en DVWA, brute force-testen met Burp Suite, detectie van webtoepassingsfirewall (WAF) met WAFW00F, doelbereik en spidering, ontdekken van verborgen bestanden met ZAP, WordPress-kwetsbaarheidsscans en gebruikersnaam-inventarisatie, load balancer-scan, cross-site scripting, XSS – weerspiegeld, opgeslagen en DOM, proxy-aanvallen, configuratie van de proxy in ZAP, aanvallen op bestanden en mappen, detectie van bestanden en mappen met DirBuster, praktijk voor webaanvallen en bWAPP - HTML-injectie, gereflecteerde POST, OS-opdrachtinjectie met Commix, server-side inclusief SSI-injectie, pentesting in Docker, OverTheWire Natas, LFI en commando-injectie, Google hacking voor pentesting, Google Dorks For penetratietesten, Apache2 ModSecurity en Nginx ModSecurity, binnen de volgende structuur, met uitgebreide video-didactische inhoud als referentie voor deze EITC-certificering.
Beveiliging van webtoepassingen (vaak Web AppSec genoemd) is het concept van het ontwerpen van websites om normaal te functioneren, zelfs wanneer ze worden aangevallen. Het idee is om een reeks beveiligingsmaatregelen in een webtoepassing te integreren om de activa te beschermen tegen vijandige agenten. Webapplicaties zijn, net als alle software, gevoelig voor fouten. Sommige van deze fouten zijn daadwerkelijke kwetsbaarheden die kunnen worden uitgebuit en een risico vormen voor bedrijven. Dergelijke fouten worden beschermd via de beveiliging van webapplicaties. Het omvat het gebruik van veilige ontwikkelingsbenaderingen en het invoeren van beveiligingscontroles gedurende de hele levenscyclus van softwareontwikkeling (SDLC), om ervoor te zorgen dat ontwerpfouten en implementatieproblemen worden aangepakt. Online penetratietesten, die worden uitgevoerd door experts die kwetsbaarheden in webapplicaties willen ontdekken en exploiteren met behulp van een zogenaamde white hacking-aanpak, is een essentiële oefening om een passende verdediging mogelijk te maken.
Een webpenetratietest, ook wel een webpentest genoemd, simuleert een cyberaanval op een webtoepassing om exploiteerbare fouten te vinden. Penetratietesten worden vaak gebruikt als aanvulling op een webapplicatie-firewall in het kader van webapplicatiebeveiliging (WAF). Pentesten houdt in het algemeen in dat wordt geprobeerd om een willekeurig aantal applicatiesystemen (bijv. API's, frontend/backend-servers) binnen te dringen om kwetsbaarheden te vinden, zoals niet-opgeschoonde invoer die kwetsbaar is voor code-injectie-aanvallen.
De bevindingen van de online penetratietest kunnen worden gebruikt om WAF-beveiligingsbeleid te configureren en ontdekte kwetsbaarheden aan te pakken.
Penetratietesten bestaan uit vijf stappen.
De pentestprocedure is verdeeld in vijf stappen.
- Plannen en scouten
Het definiëren van de reikwijdte en doelen van een test, inclusief de systemen die moeten worden aangepakt en de testmethoden die moeten worden gebruikt, is de eerste fase.
Verzamel informatie (bijv. netwerk- en domeinnamen, mailserver) om een beter begrip te krijgen van hoe een doelwit werkt en zijn potentiële zwakheden. - Het scannen
De volgende stap is om erachter te komen hoe de doeltoepassing zal reageren op verschillende soorten inbraakpogingen. Dit wordt meestal bereikt door de volgende methoden toe te passen:
Statische analyse - Het onderzoeken van de code van een applicatie om te voorspellen hoe deze zich zal gedragen wanneer deze wordt uitgevoerd. In één keer kunnen deze tools de volledige code scannen.
Dynamische analyse is het proces van het inspecteren van de code van een applicatie terwijl deze in bedrijf is. Deze scanmethode is praktischer omdat het een realtime beeld geeft van de prestaties van een toepassing. - Toegang verkrijgen
Om de zwakke punten van een doelwit te vinden, maakt deze stap gebruik van aanvallen op webapplicaties, zoals cross-site scripting, SQL-injectie en achterdeurtjes. Om de schade te begrijpen die deze kwetsbaarheden kunnen toebrengen, proberen testers deze te misbruiken door privileges te verhogen, gegevens te stelen, verkeer te onderscheppen, enzovoort. - Toegang behouden
Het doel van deze fase is om te beoordelen of de kwetsbaarheid kan worden misbruikt om een langdurige aanwezigheid in het gecompromitteerde systeem tot stand te brengen, waardoor een kwaadwillende persoon diepgaande toegang kan krijgen. Het doel is om geavanceerde persistente bedreigingen na te bootsen, die maanden in een systeem kunnen blijven om de meest gevoelige informatie van een bedrijf te stelen. - Analyse
De resultaten van de penetratietest worden vervolgens opgenomen in een rapport met informatie zoals:
Kwetsbaarheden die in detail werden uitgebuit
Gegevens die werden verkregen die gevoelig waren
De tijd dat de pentester onopgemerkt in het systeem kon blijven.
Beveiligingsexperts gebruiken deze gegevens om de WAF-instellingen van een onderneming en andere applicatiebeveiligingsoplossingen te configureren om kwetsbaarheden te patchen en verdere aanvallen te voorkomen.
Methoden voor penetratietesten
- Externe penetratietesten zijn gericht op de activa van een bedrijf die zichtbaar zijn op internet, zoals de webtoepassing zelf, de bedrijfswebsite, evenals e-mail- en domeinnaamservers (DNS). Het doel is om toegang te krijgen tot en nuttige informatie te extraheren.
- Interne tests houden in dat een tester toegang heeft tot een applicatie achter de firewall van een bedrijf die een vijandige aanval van binnenuit simuleert. Dit is niet nodig een malafide werknemerssimulatie. Een veelvoorkomend uitgangspunt is een medewerker wiens inloggegevens zijn verkregen naar aanleiding van een phishing-poging.
- Blind testen is wanneer een tester simpelweg de naam krijgt van het bedrijf dat wordt getest. Hierdoor kunnen beveiligingsexperts in realtime zien hoe een daadwerkelijke aanval op een applicatie kan verlopen.
- Dubbelblind testen: Bij een dubbelblinde test zijn beveiligingsprofessionals vooraf niet op de hoogte van de gesimuleerde aanval. Ze zullen geen tijd hebben om hun vestingwerken te versterken voor een poging tot doorbraak, net als in de echte wereld.
- Gericht testen - in dit scenario werken de tester en het beveiligingspersoneel samen en houden ze elkaars bewegingen bij. Dit is een uitstekende trainingsoefening die een beveiligingsteam realtime feedback geeft vanuit het perspectief van een hacker.
Webtoepassingsfirewalls en penetratietesten
Penetratietesten en WAF's zijn twee afzonderlijke maar complementaire beveiligingstechnieken. De tester zal waarschijnlijk gebruik maken van WAF-gegevens, zoals logboeken, om de zwakke punten van een applicatie te vinden en te exploiteren in veel soorten pentesten (met uitzondering van blinde en dubbelblinde tests).
Op hun beurt kunnen pentestgegevens WAF-beheerders helpen. Na het voltooien van een test kunnen WAF-configuraties worden aangepast om te beschermen tegen de fouten die tijdens de test zijn gedetecteerd.
Ten slotte voldoet pentesten aan bepaalde nalevingsvereisten van de beveiligingscontrolemethoden, zoals PCI DSS en SOC 2. Aan bepaalde vereisten, zoals PCI-DSS 6.6, kan alleen worden voldaan als een gecertificeerde WAF wordt gebruikt. Vanwege de bovengenoemde voordelen en het potentieel om WAF-instellingen te wijzigen, maakt dit het testen van de pen echter niet minder nuttig.
Wat is de betekenis van webbeveiligingstests?
Het doel van webbeveiligingstests is om beveiligingsfouten in webtoepassingen en hun instellingen te identificeren. De applicatielaag is het primaire doel (dwz wat er op het HTTP-protocol draait). Het verzenden van verschillende vormen van invoer naar een webtoepassing om problemen te veroorzaken en het systeem op onverwachte manieren te laten reageren, is een gebruikelijke benadering om de beveiliging ervan te testen. Deze "negatieve tests" kijken of het systeem iets doet waarvoor het niet bedoeld was.
Het is ook van vitaal belang om te beseffen dat het testen van webbeveiliging meer inhoudt dan alleen het verifiëren van de beveiligingsfuncties van de applicatie (zoals authenticatie en autorisatie). Het is ook cruciaal om ervoor te zorgen dat andere functies veilig worden geïmplementeerd (bijvoorbeeld bedrijfslogica en het gebruik van de juiste invoervalidatie en uitvoercodering). Het doel is ervoor te zorgen dat de functies van de webtoepassing veilig zijn.
Wat zijn de vele soorten beveiligingsbeoordelingen?
- Test voor dynamische applicatiebeveiliging (DAST). Deze geautomatiseerde applicatiebeveiligingstest is het meest geschikt voor intern gerichte apps met een laag risico die moeten voldoen aan wettelijke beveiligingsvereisten. Het combineren van DAST met enkele handmatige online beveiligingstests voor veelvoorkomende kwetsbaarheden is de beste strategie voor apps met een gemiddeld risico en cruciale applicaties die kleine wijzigingen ondergaan.
- Beveiligingscontrole voor statische toepassingen (SAST). Deze applicatiebeveiligingsstrategie omvat zowel geautomatiseerde als handmatige testmethoden. Het is ideaal voor het detecteren van bugs zonder apps in een live-omgeving te hoeven draaien. Het stelt technici ook in staat om de broncode te scannen om beveiligingsfouten in de software op een systematische manier te detecteren en op te lossen.
- Penetratie onderzoek. Deze handmatige applicatiebeveiligingstest is ideaal voor essentiële applicaties, met name applicaties die aanzienlijke veranderingen ondergaan. Om geavanceerde aanvalsscenario's te vinden, maakt de evaluatie gebruik van bedrijfslogica en op tegenstanders gebaseerde tests.
- Applicatie zelfbescherming in de runtime (RASP). Deze groeiende applicatiebeveiligingsmethode omvat een verscheidenheid aan technologische technieken om een applicatie te instrumenteren, zodat bedreigingen kunnen worden bekeken en, hopelijk, in realtime kunnen worden voorkomen zodra ze zich voordoen.
Welke rol spelen applicatiebeveiligingstests bij het verlagen van het bedrijfsrisico?
De overgrote meerderheid van de aanvallen op webapplicaties omvat:
- SQL Injection
- XSS (cross-site scripting)
- Uitvoering van opdrachten op afstand
- Path Traversal-aanval
- Beperkte toegang tot inhoud
- Gecompromitteerde gebruikersaccounts
- Installatie van kwaadaardige code
- Gederfde omzet
- Vertrouwen van klanten neemt af
- Schade aan merkreputatie
- En nog veel meer aanvallen
In de huidige internetomgeving kan een webtoepassing worden geschaad door verschillende uitdagingen. De afbeelding hierboven toont enkele van de meest voorkomende aanvallen van aanvallers, die elk aanzienlijke schade kunnen toebrengen aan een afzonderlijke applicatie of een volledig bedrijf. Door de vele aanvallen te kennen die een applicatie kwetsbaar maken, evenals de mogelijke resultaten van een aanval, kan het bedrijf kwetsbaarheden van tevoren oplossen en er effectief op testen.
Tijdens de vroege fasen van de SDLC kunnen mitigerende controles worden ingesteld om problemen te voorkomen door de hoofdoorzaak van de kwetsbaarheid te identificeren. Tijdens een beveiligingstest van een webtoepassing kan kennis over hoe deze dreigingen werken ook worden gebruikt om bekende bezienswaardigheden aan te vallen.
Het herkennen van de impact van een aanval is ook belangrijk voor het beheersen van het bedrijfsrisico, aangezien de impact van een succesvolle aanval kan worden gebruikt om de ernst van de kwetsbaarheid in het algemeen te bepalen. Als er tijdens een beveiligingstest kwetsbaarheden worden ontdekt, kan het bedrijf door de ernst ervan te bepalen effectiever prioriteit geven aan herstelinspanningen. Om de risico's voor het bedrijf te verminderen, begint u met de kritieke ernst van de problemen en werkt u naar een lagere impact toe.
Voordat u een probleem identificeert, helpt het beoordelen van de mogelijke impact van elk programma in de applicatiebibliotheek van het bedrijf u om prioriteit te geven aan het testen van de applicatiebeveiliging. Wenb-beveiligingstests kunnen worden gepland om eerst de kritieke applicaties van het bedrijf te targeten, met meer gerichte tests om het risico voor het bedrijf te verlagen. Met een gevestigde lijst van spraakmakende applicaties, kunnen web-beveiligingstests worden gepland om eerst de kritieke applicaties van het bedrijf te targeten, met meer gerichte tests om het risico voor het bedrijf te verlagen.
Welke functies moeten tijdens een beveiligingstest van een webapplicatie worden onderzocht?
Houd tijdens het testen van de beveiliging van webtoepassingen rekening met de volgende niet-uitputtende lijst met functies. Een ineffectieve implementatie van elk kan leiden tot zwakke punten, waardoor het bedrijf in gevaar komt.
- Configuratie van de applicatie en server. Versleuteling/cryptografische instellingen, webserverconfiguraties, enzovoort zijn allemaal voorbeelden van mogelijke fouten.
- Validatie van invoer en foutafhandeling Slechte invoer- en uitvoerverwerking leidt tot SQL-injectie, cross-site scripting (XSS) en andere typische injectieproblemen.
- Authenticatie en onderhoud van sessies. Kwetsbaarheden die kunnen leiden tot imitatie van gebruikers. Er moet ook rekening worden gehouden met de sterkte en bescherming van de legitimatie.
- autorisatie. Het vermogen van de applicatie om te beschermen tegen verticale en horizontale escalatie van bevoegdheden wordt getest.
- Logica in het bedrijfsleven. De meeste programma's die zakelijke functionaliteit bieden, vertrouwen hierop.
- Logica aan de kant van de klant. Dit type functie komt steeds vaker voor bij moderne, JavaScript-zware webpagina's, evenals webpagina's die andere typen client-side technologieën gebruiken (bijv. Silverlight, Flash, Java-applets).
Om u in detail vertrouwd te maken met het certificeringscurriculum kunt u onderstaande tabel uitvouwen en analyseren.
Het EITC/IS/WAPT Web Applications Penetration Testing Certification Curriculum verwijst naar open-access didactisch materiaal in videovorm. Het leerproces is opgedeeld in een stapsgewijze structuur (programma's -> lessen -> onderwerpen) die relevante curriculumonderdelen omvat. Onbeperkt advies met domeinexperts wordt ook geboden.
Voor meer informatie over de certificeringsprocedure, zie Hoe het werkt.
Download het volledige offline zelflerende voorbereidende materiaal voor het EITC/IS/WAPT Web Applications Penetration Testing-programma in een PDF-bestand
EITC/IS/WAPT voorbereidingsmaterialen – standaardversie
EITC/IS/WAPT voorbereidend materiaal – uitgebreide versie met evaluatievragen