Pentests für Webseiten

Sicherheitsanalyse: Mit geringem Aufwand Schwachstellen ermitteln

Mit vergleichsweise geringem Aufwand lässt sich durch einen gut geplanten Pentest ein repräsentativer Überblick über die Schwachstellen in Ihrer Web-Anwendung ermitteln. Die Ergebnisse können Sie anschließend zur gezielten Absicherung Ihrer Umgebung nutzen. Zudem lässt sich aus dem Pentest-Bericht ableiten, wie verwundbar Ihre Webseiten sind und ob Ihre Daten ausreichend vor Angreifern geschützt werden. 

Schon weit vor der Durchführung Ihres Web-Penetrationstests, nämlich bereits während der Planung Ihres Angebots, unterstützen unsere Prüfer Sie bei der Auswahl geeigneter Testschwerpunkte und sinnvoller Prüfszenarien, wie beispielsweise eine korrekt umgesetzte Mandantentrennung oder die sichere Anbindung externer Anwendungen. 

Abhängig vom Umfang führt die Prüfungen ein Team aus einem oder mehreren festangestellten Penetration-Testern, auch Pentester genannt, durch. Bei einem Penetrationstest untersuchen unsere Pentester ausgewählte Pfade, Funktionen und Risiken in simulierten Angriffen, die sich an realen Angriffen aus der Praxis orientieren. Im Gegensatz zu einem technischen Sicherheits-Audit werden dabei standardmäßig aber keine Code-Analysen oder Untersuchungen des Software Development Life Cycle (SDLC) durchgeführt. Ein Penetrationstest kann Schwachstellen in Backend-Komponenten, internen technischen Abläufen oder versteckter Funktionalität jedoch nur dann ausreichend prüfen, wenn diese Angriffspfade auch für die Prüfer erreichbar sind oder der Pentest durch weitere Prüfungen ergänzt wird. Unsere Pentester beraten Sie bezüglich einer geeigneten Auswahl von Testschwerpunkten oder zusätzlichen Prüfmethoden.

Im Ergebnis identifizieren unsere Penetration-Tester vorhandene Schwachstellen in den geprüften Web-Anwendungen und verifizieren, in welchem Ausmaß diese durch einen Angreifer ausgenutzt werden können. Durch die Beseitigung dieser Sicherheitslücken verbessern Sie Ihre IT Security und erschweren es Hackern erheblich, in Ihre IT-Infrastruktur einzudringen. Um auch sicherzustellen, dass die getroffenen Maßnahmen zur Behebung der identifizierten Schwachstellen einen effektiven Schutz bieten, kann später außerdem ein gezielter Nachtest durchgeführt werden. 

Ihre erforderliche Mitwirkung für einen erfolgreichen Pentest

Damit wir einen bestmöglichen Penetration Test für Ihre Website durchführen können, benötigen wir neben Ihrer Zustimmung auch Ihre Mitwirkung in der Planung. Folgende Informationen sind dabei für unsere Tester wichtig:

  • Klärung der zu testenden Systeme, Adressen und Prüfszenarien in einer gemeinsamen Abstimmung
  • Bereitstellung eines Zugangs zu Ihrer Web-Anwendung bzw. Website
  • Einrichtung von Benutzerkonten für alle zu testenden Rollen (z.B. Standard-User, Nutzer mit erweiterten Berechtigungen)
  • Kontakt zu Ihren Ansprechpartnern für Vorkommnisse während der Tests (z.B. für kritische Sicherheitslücken mit umgehenden Handlungsbedarf)

Sofern Anwendungen von Dienstleistern betreut werden, sollten auch diese vorab über den geplanten Pentest informiert werden. Dies gilt auch, wenn die Web-Anwendung in einer Cloud-Umgebung wie AWS oder der Google-Cloud betrieben wird. Teilweise veröffentlichen Cloud-Anbieter direkt auf ihren Webseiten (hier z. B. AWS) Richtlinien, wie und ob Penetrationstests vorher abgestimmt werden müssen.

Das Vorgehen bei einem Penetrationstest Ihrer Website

In der Praxis ist jede Überprüfung einer Web-Anwendung immer individuell. Nur so ist im vereinbarten Zeitrahmen eine möglichst umfangreiche Prüfung möglich. Die Schwerpunkte der Untersuchung setzen wir auf Grundlage unserer langjährigen Erfahrung aus hunderten Web-Penetrationstests und natürlich in Abstimmung mit Ihnen. So stehen die besonders risikobehafteten Schnittstellen im Fokus und auch Ihre individuellen Anforderungen werden berücksichtigt. 

1. Vorabstimmung beim Penetration Testing

Die Untersuchung beginnt mit einer Verifikation der Rahmenbedingungen. Hier stellen unsere Prüfer insbesondere sicher, dass der Auftraggeber tatsächlich Betreiber der zu testenden Anwendung ist. Darüber hinaus prüfen wir, wie der Zugriff von den Prüfsystemen aus auf die Anwendung möglich ist und ob z. B. eine Web Application Firewall oder ein Load Balancer Auswirkungen auf die Überprüfung haben. Gemeinsam werden in der Vorabstimmungsphase auch die Schwerpunkte des Pentests abgestimmt. Ziel soll es sein, dass im Test und der anschließenden Bewertung nicht nur technische, sondern auch geschäftliche Risiken berücksichtigt werden. 

2. Reconnaissance - Informationsbeschaffung

Sind alle Rahmenbedingungen geklärt, folgt die Phase der Informationsbeschaffung, auch „Reconnaissance“ genannt. Neben einer passiven Analyse öffentlicher Quellen werden ab Projektbeginn auch aktive Techniken eingesetzt, um einen möglichst vollständigen Überblick über die Web-Anwendungen zu erhalten. Das Ziel der Pentester ist es hierbei, eine detaillierte Auflistung aller Angriffsvektoren wie beispielsweise Einzelseiten oder Web-Formulare zu erhalten.
Bei White-Box-Tests und Grey-Box-Tests bietet es sich an, dass Sie bereits vorab möglichst vollständige Informationen zum Aufbau der Webseiten bereitstellen. So können die Tester mehr Zeit in das eigentliche Finden und Ausnutzen von Schwachstellen investieren. Diesen Ansatz empfehlen wir unseren Kunden in den meisten Fällen. Dadurch minimiert sich auch das Risiko, dass relevante Schnittstellen im Test nicht betrachtet werden. Neben der reinen Beschaffung der Informationen führen die Prüfer in diesem Schritt auch bereits eine erste automatisierte Schwachstellen- und Angriffsoberflächenerkennung durch.

3. Exploitation – Identifikation und Ausnutzung von Schwachstellen

Auf Grundlage der erhaltenen Erkenntnisse führt das Prüfteam in der anschließenden „Exploitation“-Phase insbesondere manuelle Tests durch. Neben der Verifizierung bereits identifizierter Schwachstellen werden ebenso die zehn wichtigsten Risiken für Web-Anwendungen (OWASP Top 10) untersucht. Die Pentester untersuchen in dieser Phase die Schnittstellen und Anwendungen auf fehlerhafte, ungewöhnliche oder ansonsten sicherheitsrelevantes Verhalten. Nicht jede Schwachstelle ist direkt sichtbar oder kann ohne weiteres ausgenutzt werden. In dieser Phase nutzen unsere Prüfer deshalb ihre Erfahrungen und Kreativität.  Im Laufe eines Web-Penetrationstests wiederholen sich Schritte aus den Phasen „Reconnaisscance“ und „Exploitation“ in der Regel in mehreren Zyklen. Dadurch können die Penetrationstester flexibel auf die bisherigen Erkenntnisse reagieren und eine tiefergehende Prüfung Ihrer Webseite durchführen.

4. Dokumentation und Prüfbericht

Während des gesamten Projektzeitraums führen die Pentester detaillierte Protokolle über die durchgeführten Angriffe und deren Ergebnisse. 
Als langjähriger Anbieter von Penetrationstests legen wir besonderen Wert auf die Qualität Ihres Ergebnisberichts und die Vollständigkeit und Verwertbarkeit der enthaltenen Informationen. Den größten Mehrwert liefert ein Prüfbericht oder Pentest-Report unserer Erfahrung nach, wenn die Informationen sowohl für das Management verständlich sind, aber auch die notwendigen technischen Details für die Entwickler enthält, um die Ursachen der Schwachstellen nicht nur nachzuvollziehen, sondern diese auch reproduzieren und beheben zu können. Aus diesem Grund wird jeder unserer Prüfberichte durch eine Management Summary eingeleitet. Darin sind die wesentlichen Ergebnisse und Empfehlungen zusammengefasst, sowie eine Gesamteinschätzung des allgemeinen Sicherheitsniveaus aufgeführt.
Im Weiteren beschreibt der Prüfbericht, welche Testschritte in welchem Zeitraum durchgeführt wurden. Die Prüfergebnisse und Schwachstellen-Details werden als ausführliche Einzelbefunde festgehalten, welche die Ursache, Auswirkungen und erfolgreiche Behebung der Schwachstellen im Detail erläutern. 
Ziel ist eine verständliche und nachvollziehbare Darstellung der Prüfergebnisse, die Ihnen nachhaltig als Referenz zur Behandlung der identifizierten Risiken dient.

Einige Beispiele: So werden typische Schwachstellen überprüft

Alle Untersuchungsschritte orientieren sich an der gängigen Praxis und könnten in gleichem Maße von einem Hacker mit bösen Absichten durchgeführt werden.

Anders als reale Angreifer führen die Prüfer jedoch ohne vorherige Rücksprache mit Ihnen keine Veränderungen an den Systemen oder Ihren Daten durch und agieren nur in dem vorher abgestimmten Rahmen (Scope).

Typische Schwachstellen (in diesem Kontext auch Vulnerability genannt), die im Rahmen der Sicherheitsüberprüfung untersucht werden, sowie sinnvolle Prüfschritte sind:

Analyse der Request-Verarbeitung

In diesem Schritt wird mit verschiedenen Tools analysiert, wie HTTP-Anfragen (Requests) verarbeitet werden. Oft werden in den Daten, die zwischen Browser und Server hin- und hergeschickt werden, Informationen über interne Systeme, Parameter oder Einstellungen preisgegeben. Dadurch werden häufig weiterführende Angriffe erst ermöglicht. Die Prüfer nehmen gezielte Manipulationen an Parametern vor, um darüber ein unvorhergesehenes Verhalten der Anwendung zu provozieren.

Cross Site Scripting (XSS)

Wenn Eingaben von Benutzern nicht ausreichend geprüft werden, kann ein Angreifer eigenen, potenziell bösartigen Code in die Web-Anwendung einschleusen. Wird dieser Code dann durch einen anderen Benutzer geladen, führt der Browser den Schadcode ohne weiteres Zutun im Hintergrund aus. Im Zweifelsfall erhält ein Angreifer dadurch vollkommen unbemerkt die gesamte Kontrolle über ein Benutzerkonto – und kann damit quasi seine Identität übernehmen. Darüber hinaus besteht ein Risiko, dass weitere Inhalte eingebunden werden oder Angriffe gegen höher privilegierte Nutzer (z. B. durch Abgriff von administrativen Zugangsdaten) und Systeme im lokalen Netzwerk ausgeführt werden.

(SQL) Injection

Die Möglichkeit, beliebige Anfragen an die Datenbank über fremden SQL-Code einzuschleusen, ist ebenfalls eine direkte Folge einer unzureichenden Prüfung von Benutzereingaben. Auch wenn SQL-Injections das prominenteste Beispiel dieses Angriffstyps darstellen, sind Injection-Angriffe prinzipiell auch mit anderen interpretierten Sprachen möglich, die zur Kommunikation mit angebundenen Systemen genutzt werden. Beispiele hierfür wären der Austausch mit einem LDAP-Directory (LDAP Injection) oder die Verarbeitung von XML-Daten.

Analyse des HTML-Codes und eingebundener Skript-Dateien

Der Quelltext der dargestellten HTML-Seiten und eventuell eingebundene JavaScript-Bibliotheken werden abgerufen und im Detail auf Schwachstellen und Auffälligkeiten untersucht. Beispielsweise können Sicherheitslücken in verwendeten Script-Funktionalitäten auftreten oder eingebettete Kommentare können zur ungewollten Preisgabe von weiterführenden Informationen führen.

 

Parameter-Analyse

Parameter innerhalb der Webseiten werden manuell auf ihr Verhalten bei unterschiedlich eingegebenen Daten getestet. Durch das Einfügen von Sonderzeichen oder Angriffs-Zeichenketten werden Fehler provoziert und Sicherheitslücken aufgedeckt. Dabei werden beispielsweise auch sogenannte „unsichere direkte Objektreferenzen“ (IDOR) gesucht. Eine solche Schwachstelle existiert, wenn ein Angreifer Zugriff auf fremde Datensätze bekommt, indem er beispielsweise einfach einen erwarteten Wert ändert (z. B. Auftrags-ID „12345“ zu „12346“).
Durch die Analyse von Parametern können insbesondere fehlende Prüfroutinen, fehlende Berechtigungsprüfungen und die Qualität der Fehlerbehandlung durch die Anwendung untersucht werden.

Formulare und E-Mail

Alle gefundenen Formulare wie z. B. Registrierungs-, Such- oder Kontaktformulare werden mit validen sowie ungültigen Werten gefüllt und die Reaktionen der Anwendung anschließend analysiert. Soweit im Kontext der Anwendung sinnvoll, wird durch das Verschicken von E-Mails an vorhandene und nicht vorhandene Adressen auch versucht, Details über das eingesetzte Mailsystem zu gewinnen.

Session Management

Das Session Management der Web-Anwendung wird daraufhin untersucht, ob und wie es möglich ist, die Sitzung eines anderen Nutzers zu übernehmen, zu stören oder die Daten einzusehen. Insbesondere durch unbedachte Konfigurationen entstehen hier häufig Sicherheitslücken, die sich auf sämtliche Benutzer auswirken. Methoden zur Session-Verfolgung wie Cookies, URL-Parameter oder Formular-Parameter werden analysiert und auf Schwachstellen untersucht. Zu dieser Untersuchung gehört beispielsweise auch die Frage, wie das Verhalten der Web-Anwendung vor und nach einem erfolgreichen Login bzw. Logout aussieht.

Command Insertion

Es wird geprüft, ob es einem Angreifer aus dem Kontext der Anwendung heraus möglich ist, eigene Befehle auf dem Betriebssystem oder in anderen installierten Komponenten auszuführen. Schwachstellen bei der Befehlsverarbeitung treten häufig dann auf, wenn Daten, die der Benutzer beeinflussen kann, auf unsichere Weise in weitere Verarbeitungsschritte außerhalb der Anwendung eingebunden werden.

(Remote) File Inclusion

Es wird untersucht, ob die Web-Anwendung oder Website Referenzen auf interne oder externe Dateinamen unterstützt. Dadurch kann es einem Angreifer gelingen, Dateien über die eigenen Berechtigungen hinaus auszulesen. Andererseits kann die Anwendung auch dazu gebracht werden, Dateien zu verarbeiten, die dafür nicht vorgesehen waren.

Preisgabe schützenswerter Informationen

Alle Antworten, die der Server an den Browser schickt, werden auf schützenswerte Informationen hin untersucht. Bei einem Web-App-Pentest wird explizit versucht, technische Fehlermeldungen in der Web-Anwendung zu provozieren. Derartige Fehlermeldungen legen bei falscher Fehlerbehandlung oft sensitive Informationen offen, wie beispielsweise Bestandteile des Quellcodes. Diese Informationen dienen dann häufig als Ausgangspunkt für weitere Angriffe.

Das sagen unsere Kunden

Seit mehr als 25 Jahren unterstützen wir Kunden nahezu aller Branchen sowie der öffentlichen Verwaltung dabei, die Chancen der Digitalisierung optimal zu nutzen und die damit verbundenen Risiken zu beherrschen. Eine klare Ausrichtung auf Qualitäts- und Innovationsführerschaft kombiniert mit einem breiten aber in sich homogenen Beratungsportfolio führen zu einem einmaligen Leistungsangebot mit konkretem Mehrwert für unsere Klienten.

  Success Story WGV Versicherungen 
Success Story Evangelisch-Lutherischen Kirche in Bayern

Ihr Ansprechpartner

Denis Werner

Managing Consultant

Fon +49 30 533 289-0

Nachricht hinterlassen