
EITC/IS/WAPT Web Applications Penetration Testing ist das europäische IT-Zertifizierungsprogramm zu theoretischen und praktischen Aspekten des Penetrationstests von Webanwendungen (White Hacking), einschließlich verschiedener Techniken für Webseiten-Spider, Scanning und Angriffstechniken, einschließlich spezieller Penetrationstest-Tools und -Suiten .
Das Curriculum des EITC/IS/WAPT Web Applications Penetration Testing umfasst Einführung in die Burp Suite, Web-Spridering und DVWA, Brute-Force-Tests mit Burp Suite, Web Application Firewall (WAF)-Erkennung mit WAFW00F, Zielumfang und Spidering, Auffinden versteckter Dateien mit ZAP, WordPress-Schwachstellen-Scan und Enumeration von Benutzernamen, Load-Balancer-Scan, Cross-Site-Scripting, XSS – reflektiert, gespeichert und DOM, Proxy-Angriffe, Konfiguration des Proxys in ZAP, Datei- und Verzeichnisangriffe, Datei- und Verzeichniserkennung mit DirBuster, Übung von Web-Angriffen , OWASP Juice Shop, CSRF – Cross Site Request Forgery, Cookiesammlung und Reverse Engineering, HTTP Attributes – Cookie Stealing, SQL Injection, DotDotPwn – Directory Traversal Fuzzing, Iframe Injection und HTML Injection, Heartbleed Exploit – Discovery and Exploitation, PHP Code Injection, bWAPP – HTML Injection, Reflected POST, OS Command Injection mit Commix, serverseitig Include SSI Injection, Pentesting in Docker, OverTheWire Natas, LFI und Command Injection, Google Hacking for Pentesting, Google Dorks For Penetration Testing, Apache2 ModSecurity sowie Nginx ModSecurity, innerhalb der folgenden Struktur, die umfassende videodidaktische Inhalte als Referenz für diese EITC-Zertifizierung umfasst.
Webanwendungssicherheit (oft als Web AppSec bezeichnet) ist das Konzept, Websites so zu gestalten, dass sie auch bei Angriffen normal funktionieren. Die Idee besteht darin, eine Reihe von Sicherheitsmaßnahmen in eine Webanwendung zu integrieren, um ihre Assets vor feindlichen Agenten zu schützen. Webanwendungen sind wie jede Software anfällig für Fehler. Einige dieser Fehler sind tatsächliche Schwachstellen, die ausgenutzt werden können und ein Risiko für Unternehmen darstellen. Solche Fehler werden durch die Webanwendungssicherheit geschützt. Es beinhaltet die Anwendung sicherer Entwicklungsansätze und die Einführung von Sicherheitskontrollen während des gesamten Softwareentwicklungslebenszyklus (SDLC), um sicherzustellen, dass Designfehler und Implementierungsprobleme behoben werden. Online-Penetrationstests, die von Experten durchgeführt werden, um Schwachstellen in Webanwendungen mit einem sogenannten White-Hacking-Ansatz aufzudecken und auszunutzen, sind eine wesentliche Praxis, um eine angemessene Abwehr zu ermöglichen.
Ein Web-Penetrationstest, auch Web-Pen-Test genannt, simuliert einen Cyberangriff auf eine Webanwendung, um ausnutzbare Schwachstellen zu finden. Penetrationstests werden häufig zur Ergänzung einer Web Application Firewall im Rahmen der Web Application Security (WAF) eingesetzt. Pen-Tests beinhalten im Allgemeinen den Versuch, in eine beliebige Anzahl von Anwendungssystemen (z. B. APIs, Front-End-/Back-End-Server) einzudringen, um Schwachstellen zu finden, wie z. B. nicht bereinigte Eingaben, die anfällig für Code-Injection-Angriffe sind.
Die Ergebnisse des Online-Penetrationstests können verwendet werden, um WAF-Sicherheitsrichtlinien zu konfigurieren und entdeckte Schwachstellen zu beheben.
Penetrationstests bestehen aus fünf Schritten.
Das Pen-Testverfahren ist in fünf Schritte unterteilt.
- Planung und Scouting
Die Definition des Umfangs und der Ziele eines Tests, einschließlich der zu adressierenden Systeme und der zu verwendenden Testmethoden, ist der erste Schritt.
Um ein besseres Verständnis der Funktionsweise eines Ziels und seiner potenziellen Schwächen zu erlangen, sammeln Sie Informationen (z. B. Netzwerk- und Domänennamen, Mailserver). - Scannen
Der nächste Schritt besteht darin, herauszufinden, wie die Zielanwendung auf verschiedene Arten von Eindringversuchen reagiert. Dies wird normalerweise mit den folgenden Methoden erreicht:
Statische Analyse – Untersuchen des Codes einer Anwendung, um vorherzusagen, wie er sich bei der Ausführung verhält. In einem einzigen Durchgang können diese Tools den gesamten Code scannen.
Dynamische Analyse ist der Prozess der Überprüfung des Codes einer Anwendung während des Betriebs. Diese Scanmethode ist praktischer, da sie eine Echtzeitansicht der Leistung einer Anwendung bietet. - Zugang erhalten
Um die Schwachstellen eines Ziels zu finden, verwendet dieser Schritt Angriffe auf Webanwendungen wie Cross-Site-Scripting, SQL-Injection und Backdoors. Um den Schaden zu verstehen, den diese Sicherheitsanfälligkeiten anrichten können, versuchen Tester, sie auszunutzen, indem sie Berechtigungen ausweiten, Daten stehlen, Datenverkehr abfangen usw. - Zugriff behalten
Der Zweck dieser Phase besteht darin, zu beurteilen, ob die Schwachstelle ausgenutzt werden kann, um eine langfristige Präsenz im kompromittierten System zu etablieren, die es einem bösartigen Akteur ermöglicht, eingehenden Zugriff zu erhalten. Das Ziel besteht darin, fortgeschrittene persistente Bedrohungen zu imitieren, die monatelang in einem System verbleiben können, um die sensibelsten Informationen eines Unternehmens zu stehlen. - Analyse
Die Ergebnisse des Penetrationstests werden dann in einem Bericht festgehalten, der Informationen enthält wie:
Schwachstellen, die im Detail ausgenutzt wurden
Daten, die erhalten wurden, die sensibel waren
Die Zeit, die der Stifttester unbemerkt im System verbleiben konnte.
Sicherheitsexperten verwenden diese Daten, um die WAF-Einstellungen eines Unternehmens und andere Anwendungssicherheitslösungen zu konfigurieren, um Schwachstellen zu schließen und weitere Angriffe zu verhindern.
Methoden des Penetrationstests
- Externe Penetrationstests konzentrieren sich auf die im Internet sichtbaren Vermögenswerte eines Unternehmens, wie die Webanwendung selbst, die Unternehmenswebsite sowie E-Mail- und Domain Name Server (DNS). Ziel ist es, Zugang zu nützlichen Informationen zu erhalten und diese zu extrahieren.
- Internes Testen bedeutet, dass ein Tester Zugriff auf eine Anwendung hinter der Firewall eines Unternehmens hat und einen feindlichen Insiderangriff simuliert. Dies ist nicht notwendig, eine betrügerische Mitarbeitersimulation. Ein Mitarbeiter, dessen Zugangsdaten durch einen Phishing-Versuch erlangt wurden, ist ein üblicher Ausgangspunkt.
- Bei Blindtests wird einem Tester einfach der Name des zu testenden Unternehmens mitgeteilt. Auf diese Weise können Sicherheitsexperten in Echtzeit sehen, wie sich ein tatsächlicher Angriff auf eine Anwendung entwickeln könnte.
- Double-Blind-Tests: Bei einem Double-Blind-Test sind sich Sicherheitsexperten des simulierten Angriffs im Vorfeld nicht bewusst. Sie werden keine Zeit haben, ihre Befestigungen vor einem Angriffsversuch zu stärken, genau wie in der realen Welt.
- Gezieltes Testen – In diesem Szenario arbeiten der Tester und das Sicherheitspersonal zusammen und verfolgen die Bewegungen des anderen. Dies ist eine hervorragende Trainingsübung, die einem Sicherheitsteam Echtzeit-Feedback aus der Sicht eines Hackers gibt.
Firewalls für Webanwendungen und Penetrationstests
Penetrationstests und WAFs sind zwei separate, aber sich ergänzende Sicherheitstechniken. Der Tester nutzt wahrscheinlich WAF-Daten wie Protokolle, um die Schwachstellen einer Anwendung bei vielen Arten von Pen-Tests (mit Ausnahme von Blind- und Doppelblindtests) zu finden und auszunutzen.
Pen-Testdaten wiederum können WAF-Administratoren helfen. Nach Abschluss eines Tests können WAF-Konfigurationen geändert werden, um vor den während des Tests erkannten Fehlern zu schützen.
Schließlich erfüllen Pen-Tests bestimmte Compliance-Anforderungen der Sicherheits-Audit-Methoden wie PCI DSS und SOC 2. Bestimmte Anforderungen wie PCI-DSS 6.6 können nur erfüllt werden, wenn eine zertifizierte WAF verwendet wird. Aufgrund der oben genannten Vorteile und der Möglichkeit, WAF-Einstellungen zu ändern, macht dies jedoch den Stifttest nicht weniger nützlich.
Welche Bedeutung haben Web-Sicherheitstests?
Das Ziel von Web-Sicherheitstests besteht darin, Sicherheitslücken in Webanwendungen und deren Einrichtung zu identifizieren. Die Anwendungsschicht ist das primäre Ziel (dh was auf dem HTTP-Protokoll ausgeführt wird). Das Senden verschiedener Eingabeformen an eine Webanwendung, um Probleme zu verursachen und das System auf unerwartete Weise reagieren zu lassen, ist ein gängiger Ansatz zum Testen der Sicherheit. Diese „negativen Tests“ prüfen, ob das System etwas tut, für das es nicht vorgesehen war.
Es ist auch wichtig zu wissen, dass Web-Sicherheitstests mehr umfassen als nur die Sicherheitsfunktionen der Anwendung (wie Authentifizierung und Autorisierung) zu überprüfen. Es ist auch entscheidend, sicherzustellen, dass andere Funktionen sicher bereitgestellt werden (z. B. Geschäftslogik und die Verwendung der richtigen Eingabevalidierung und Ausgabecodierung). Der Zweck besteht darin, sicherzustellen, dass die Funktionen der Webanwendung sicher sind.
Welche Arten von Sicherheitsbewertungen gibt es?
- Test für dynamische Anwendungssicherheit (DAST). Dieser automatisierte Anwendungssicherheitstest eignet sich am besten für risikoarme, nach innen gerichtete Apps, die behördliche Sicherheitsanforderungen erfüllen müssen. Die Kombination von DAST mit einigen manuellen Online-Sicherheitstests für gängige Schwachstellen ist die beste Strategie für Anwendungen mit mittlerem Risiko und wichtige Anwendungen, die geringfügigen Änderungen unterliegen.
- Sicherheitsüberprüfung für statische Anwendungen (SAST). Diese Anwendungssicherheitsstrategie umfasst sowohl automatisierte als auch manuelle Testmethoden. Es ist ideal, um Fehler zu erkennen, ohne Apps in einer Live-Umgebung ausführen zu müssen. Es ermöglicht Ingenieuren auch, Quellcode zu scannen, um Software-Sicherheitsfehler auf systematische Weise zu erkennen und zu beheben.
- Penetrationsprüfung. Dieser manuelle Anwendungssicherheitstest ist ideal für wesentliche Anwendungen, insbesondere solche, die erheblichen Änderungen unterliegen. Um fortgeschrittene Angriffsszenarien zu finden, verwendet die Evaluierung Geschäftslogik und gegnerische Tests.
- Anwendungsselbstschutz in der Laufzeit (RASP). Diese wachsende Anwendungssicherheitsmethode umfasst eine Vielzahl von Technologietechniken, um eine Anwendung so zu instrumentieren, dass Bedrohungen in Echtzeit beobachtet und hoffentlich verhindert werden können, sobald sie auftreten.
Welche Rolle spielen Anwendungssicherheitstests bei der Verringerung des Unternehmensrisikos?
Die überwiegende Mehrheit der Angriffe auf Webanwendungen umfasst:
- SQL Injection
- XSS (Cross-Site-Scripting)
- Remote-Befehlsausführung
- Path-Traversal-Angriff
- Eingeschränkter Zugriff auf Inhalte
- Kompromittierte Benutzerkonten
- Installation von bösartigem Code
- Umsatzverluste
- Vertrauensverlust der Kunden
- Rufschädigung der Marke
- Und viele andere Angriffe
In der heutigen Internetumgebung kann eine Webanwendung durch eine Vielzahl von Herausforderungen beschädigt werden. Die obige Grafik zeigt einige der häufigsten Angriffe von Angreifern, von denen jede einzelne Anwendungen oder ein ganzes Unternehmen erheblich schädigen kann. Die Kenntnis der vielen Angriffe, die eine Anwendung angreifbar machen, sowie der möglichen Ergebnisse eines Angriffs ermöglicht es dem Unternehmen, Schwachstellen im Voraus zu beheben und effektiv auf sie zu testen.
In den frühen Phasen des SDLC können risikomindernde Kontrollen eingerichtet werden, um Probleme zu vermeiden, indem die Ursache der Schwachstelle identifiziert wird. Während eines Sicherheitstests für Webanwendungen kann das Wissen über die Funktionsweise dieser Bedrohungen auch verwendet werden, um auf bekannte Orte von Interesse abzuzielen.
Das Erkennen der Auswirkungen eines Angriffs ist auch für das Risikomanagement des Unternehmens wichtig, da die Auswirkungen eines erfolgreichen Angriffs verwendet werden können, um den Schweregrad der Schwachstelle insgesamt zu bestimmen. Wenn während eines Sicherheitstests Schwachstellen entdeckt werden, ermöglicht die Ermittlung ihres Schweregrades dem Unternehmen, Abhilfemaßnahmen effektiver zu priorisieren. Um das Risiko für das Unternehmen zu reduzieren, beginnen Sie mit Problemen mit kritischem Schweregrad und arbeiten Sie sich bis zu denen mit geringerer Auswirkung vor.
Bevor Sie ein Problem identifizieren, hilft Ihnen die Bewertung der möglichen Auswirkungen jedes Programms in der Anwendungsbibliothek des Unternehmens, die Anwendungssicherheitstests zu priorisieren. Wenb-Sicherheitstests können so geplant werden, dass sie zuerst auf die kritischen Anwendungen des Unternehmens abzielen, mit gezielteren Tests, um das Risiko für das Unternehmen zu verringern. Mit einer etablierten Liste von hochkarätigen Anwendungen können Web-Sicherheitstests so geplant werden, dass sie zuerst auf die kritischen Anwendungen des Unternehmens abzielen, mit gezielteren Tests, um das Risiko für das Unternehmen zu verringern.
Welche Funktionen sollten bei einem Sicherheitstest für Webanwendungen untersucht werden?
Berücksichtigen Sie beim Testen der Webanwendungssicherheit die folgende nicht erschöpfende Liste von Funktionen. Eine ineffektive Umsetzung jedes einzelnen kann zu Schwächen führen, die das Unternehmen gefährden.
- Konfiguration der Anwendung und des Servers. Verschlüsselungs-/Kryptografie-Setups, Webserver-Konfigurationen usw. sind Beispiele für potenzielle Fehler.
- Validierung der Eingabe- und Fehlerbehandlung Eine schlechte Eingabe- und Ausgabeverarbeitung führt zu SQL-Injection, Cross-Site-Scripting (XSS) und anderen typischen Injektionsproblemen.
- Authentifizierung und Wartung von Sitzungen. Sicherheitslücken, die zum Identitätswechsel des Benutzers führen können. Die Stärke und der Schutz der Anmeldeinformationen sollten ebenfalls berücksichtigt werden.
- Genehmigung. Die Fähigkeit der Anwendung, gegen vertikale und horizontale Rechteausweitung zu schützen, wird getestet.
- Logik im Geschäft. Die meisten Programme, die Geschäftsfunktionen bereitstellen, beruhen auf diesen.
- Logik auf der Clientseite. Diese Art von Funktion wird bei modernen, JavaScript-lastigen Webseiten sowie bei Webseiten, die andere Arten von clientseitigen Technologien verwenden (zB Silverlight, Flash, Java-Applets), immer häufiger.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/WAPT Web Applications Penetration Testing Certification Curriculum verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.