Schwachstellen aufdecken, bevor es Angreifer tun? In sogenannten Penetrationstests, kurz Pentests, werden professionelle Hacker damit beauftragt, die IT des eigenen Unternehmens anzugreifen. Das Ziel: Lücken finden und diese beheben, bevor Cyberkriminelle sie ausnutzen. Dieser Artikel befasst sich damit, was und wofür Penetrationstests sind und in welchem Kontext sie sich einsetzen lassen, um das Unternehmen proaktiv zu schützen.
Hundertprozentige Sicherheit wird es nie geben. Pentests können jedoch helfen, die größten Risiken zu identifizieren, um Maßnahmen zu priorisieren und keine Energie und Zeit zu verschwenden. Sie sind quasi ein Realitätscheck, um Schwachstellen aufzudecken und zu überprüfen, ob implementierte Maßnahmen einem Angriff standhalten. Zudem werden relevante Lücken zwischen Soll- und Ist-Zustand sichtbar. In einer perfekten Welt stimmt zwar die Dokumentation mit der technischen Umsetzung überein und alle organisatorischen Prozesse werden wie beschrieben gelebt - aber in welchem Unternehmen dieser Welt ist das der Fall?
Schwachstellen ausmachen
Das Stärken des Vertrauens von Kunden und Partnern, mögliche Kosteneinsparungen bei Cyberversicherungen und regulatorische Anforderungen wie NIS-2 sind weitere Faktoren, die für Pentests sprechen. Ziel eines solchen Tests ist es, Schwachstellen zu finden und deren Risiko zu bewerten, um anschließend risikobasiert und priorisiert Abhilfemaßnahmen umzusetzen. Beim Aufdecken von Schwachstellen ist der Grundgedanke: "Was könnte schief gehen?" Pentester nutzen Systeme und Anwendungen anders als erwartet. Sie suchen nach Möglichkeiten, Ziele zu erreichen, die auch Angreifer verfolgen. Dazu gehören beispielsweise das Auslesen sensibler Informationen wie Geschäftsgeheimnisse und datenschutzrelevanter Daten sowie das Ausführen von Schadcode auf dem zugrundeliegenden System. Wo dies ohne Schaden möglich ist, werden Schwachstellen in Pentests ausgenutzt, um die Auswirkungen aufzuzeigen.
Das Risiko einer Schwachstelle wird auf technischer Ebene und auf Geschäftsebene klassifiziert. Neben technischen Schwachstellen gibt es auch konzeptionelle. Dies betrifft zum Beispiel architektonische Schwächen, wie die fehlende Trennung von administrativen Umgebungen. Am Ende eines Pentests steht eine Übersicht der Risiken mit einer Priorisierung für deren Behebung. Übrigens: Nicht selten ist zu hören, dass ein "roter Pentestbericht" auch als Argumentationshilfe für mehr Budget dient, um endlich IT-Sicherheitsmaßnahmen umzusetzen. Mit Pentests und der anschließenden priorisierten Umsetzung von Maßnahmen können IT-Verantwortliche Angreifern also einen Schritt voraus sein.
Hundertprozentige Sicherheit wird es nie geben. Pentests können jedoch helfen, die größten Risiken zu identifizieren, um Maßnahmen zu priorisieren und keine Energie und Zeit zu verschwenden. Sie sind quasi ein Realitätscheck, um Schwachstellen aufzudecken und zu überprüfen, ob implementierte Maßnahmen einem Angriff standhalten. Zudem werden relevante Lücken zwischen Soll- und Ist-Zustand sichtbar. In einer perfekten Welt stimmt zwar die Dokumentation mit der technischen Umsetzung überein und alle organisatorischen Prozesse werden wie beschrieben gelebt - aber in welchem Unternehmen dieser Welt ist das der Fall?
Schwachstellen ausmachen
Das Stärken des Vertrauens von Kunden und Partnern, mögliche Kosteneinsparungen bei Cyberversicherungen und regulatorische Anforderungen wie NIS-2 sind weitere Faktoren, die für Pentests sprechen. Ziel eines solchen Tests ist es, Schwachstellen zu finden und deren Risiko zu bewerten, um anschließend risikobasiert und priorisiert Abhilfemaßnahmen umzusetzen. Beim Aufdecken von Schwachstellen ist der Grundgedanke: "Was könnte schief gehen?" Pentester nutzen Systeme und Anwendungen anders als erwartet. Sie suchen nach Möglichkeiten, Ziele zu erreichen, die auch Angreifer verfolgen. Dazu gehören beispielsweise das Auslesen sensibler Informationen wie Geschäftsgeheimnisse und datenschutzrelevanter Daten sowie das Ausführen von Schadcode auf dem zugrundeliegenden System. Wo dies ohne Schaden möglich ist, werden Schwachstellen in Pentests ausgenutzt, um die Auswirkungen aufzuzeigen.
Das Risiko einer Schwachstelle wird auf technischer Ebene und auf Geschäftsebene klassifiziert. Neben technischen Schwachstellen gibt es auch konzeptionelle. Dies betrifft zum Beispiel architektonische Schwächen, wie die fehlende Trennung von administrativen Umgebungen. Am Ende eines Pentests steht eine Übersicht der Risiken mit einer Priorisierung für deren Behebung. Übrigens: Nicht selten ist zu hören, dass ein "roter Pentestbericht" auch als Argumentationshilfe für mehr Budget dient, um endlich IT-Sicherheitsmaßnahmen umzusetzen. Mit Pentests und der anschließenden priorisierten Umsetzung von Maßnahmen können IT-Verantwortliche Angreifern also einen Schritt voraus sein.
Alles ist testbar
Grundsätzlich lässt sich jedes Device testen, das mit seiner Umwelt verbunden ist. Das fängt bei Anwendungen für Web, Desktop und mobile Geräte an und geht über Unternehmensinfrastrukturen bis hin zu Hardware, Appliances und Gebäuden. Mehr dazu gleich, denn zuvor gehen wir kurz auf die weit verbreiteten Begriffe Black Box, Grey Box und White Box ein. Es gibt unterschiedliche Philosophien, welche Informationen der Auftraggeber dem Pentestdienstleister vor einem Pentest zur Verfügung stellt. Üblicherweise wird die Informationsbasis mit den Begriffen "Black Box", "Grey Box" und "White Box" bezeichnet.
Die Bandbreite zwischen Black- und White-Box ist groß. Deshalb fällt die Entscheidung bei Pentests meist auf die farbliche Mischung: Grey Box. Aber Vorsicht: Was mit welchem Begriff, insbesondere mit Grey Box, gemeint ist, ist nicht in Stein gemeißelt. So kann Grey Box bedeuten, dass bestimmte Informationen zur Verfügung gestellt werden, um die wertvolle Pentest-Zeit möglichst zielgerichtet einzusetzen. Was das im Einzelnen typischerweise ist, soll im Folgenden anhand von Beispielen in Abhängigkeit vom Testgegenstand erläutert werden.
Bild 1: Die Grey Box bietet ein ausgewogenes Verhältnis aus hilfreichen Vorabinformationen und einem realitätsnahen Angriff.
Vielfältige Testgegenstände
Die Vielfalt der möglichen Testobjekte ist groß. Nachfolgend stellen wir die für die meisten Unternehmen gängigsten Szenarien vor. Bei der Beschreibung der Informationsbasis bauen die Steckbriefe aufeinander auf, das heißt, bei White Box sind auch alle Informationen der Black und Grey Box enthalten.
Grundsätzlich ist zwischen externer und interner Infrastruktur zu unterscheiden. Als extern gelten alle Systeme eines Unternehmens, die über das Internet erreichbar sind: VPN-Server, Mailserver, diverse Webanwendungen wie Website, Webshop und Kundenportale. Typischer Worst Case: Zugriff auf die interne Infrastruktur von außen oder Zugriff auf sensible Daten. Es gibt dabei drei typische Arten von Schwachstellen:
1. Fehlkonfigurationen in Mailservern, die Phishing-Attacken begünstigen.
2. Sicherheitslücken in Web-Applikationen, über die der Server oder andere Benutzer angegriffen werden können.
3. Verwendung von Software mit öffentlich bekannten Schwachstellen.
Typische Informationsbasis ist im Fall der Black Box nur der Firmenname. Pentester müssen natürlich sicherstellen, dass sie die richtigen Systeme angreifen, weshalb eine vorherige Absprache unerlässlich ist. Beim Grey-Box-Test stehen IP-Adressen, Domains und Clouddienste zur Verfügung. Für eine White Box ist eine genaue Beschreibung der erreichbaren Systeme erforderlich. Systeme, die über das Internet erreichbar sind, sind dem größten Risiko ausgesetzt. Daher sollte die Angriffsfläche der externen Infrastruktur möglichst klein ausfallen, sicherheitsrelevante Updates zeitnah eingespielt und verdächtige Aktivitäten erkannt und abgewehrt werden.
Interne Infrastruktur
Die interne Umgebung umfasst alle Systeme, die mit dem Netzwerk eines Unternehmens verbunden sind: Laptops, mobile Geräte, Server, CRM, ERP, Zeiterfassung, WLAN und OT-Umgebungen. Typische Worst-Case-Szenarien sind der Abfluss sensibler Daten, die Kontrollübernahme mit anschließender Verschlüsselung (Ransomware) oder der Ausfall von Systemen.
Drei typische Schwachstellenarten sind:
1. Fehlende oder lückenhafte Trennung zwischen Netzwerkbereichen,
2. Schwachstellen im Active Directory, angefangen von einfachen Passwörtern über Fehlkonfigurationen von Zertifikatsdiensten bis hin zu Manipulationsmöglichkeiten im DNS.
3. Die Verwendung von Software mit öffentlich bekannten Schwachstellen.
Als typische Ausgangsbasis erhalten Pentester bei einem Black-Box-Test Zugriff über das Netzwerk. Für die Grey-Box-Variante kommt der Zugriff über ein Standard-Benutzerkonto im Active Directory sowie ein Überblick über Netzwerksegmente hinzu. Für die White Box ist zusätzlich ein Zugriff mit administrativen Rechten und eine detaillierte Beschreibung der Infrastruktur erforderlich. Das Ziel von internen Pentests besteht meist darin, die Berechtigungen eines Domänen-Admins zu erlangen. Dadurch ist die Kontrolle über das gesamte Active Directory und damit in den meisten Fällen über einen Großteil der IT-Infrastruktur möglich. Obwohl ein einziger Weg zu diesem Ziel für Angreifer ausreicht, gibt es meist sogar mehrere. Es ist wichtig, dieses Risiko zu reduzieren und auffällige Aktivitäten auf dem Weg dorthin zu erkennen.
Webanwendungen
Zum Bereich der Webanwendungen zählt alles, was im Browser läuft. Webseiten, Webshops, Kundenportale und Onlinebanking können sensible Daten enthalten. Der Worst Case wäre eine Kontrollübernahme des Servers sowie unbefugtes Ausführen von Aktionen. Es gibt drei übliche Schwachstellenarten:
1. Schwächen in Berechtigungsprüfungen, die zum unbefugten Ausführen von Aktionen führen, wie zum Beispiel das Auslesen fremder Daten oder der Zugriff auf administrative Funktionen.
2. Injection-Schwachstellen wie Cross-Site-Scripting (XSS) und SQL-Injection, durch die Benutzer eigenen Code in die Anwendung einschleusen können.
3. Fehlkonfigurationen beispielsweise durch Standardpasswörter, Erreichbarkeit nicht benötigter Features, fehlende Sicherheitsmechanismen und Preisgabe detaillierter Fehlermeldungen.
Für einen Black-Box-Test erhalten die Pentester nur die URL zur Anwendung. Im Grey-Box-Fall gibt es Benutzerkonten für verschiedene Rollen, wie Enduser und Admins, sowie die Dokumentation von Endpunkten. Die White-Box-Variante enthält zusätzlich den Quellcode. Webanwendungen haben eine Vielzahl von Einsatzzwecken und müssen sich gegen potenzielle Sicherheitsrisiken behaupten. Gleichzeitig steigen die Anforderungen, sensible Daten zu schützen, unabhängig davon, ob Anwendungen über das Internet oder im internen Netz erreichbar sind. Das betrifft sowohl selbstgestrickte Anwendungen als auch etablierte SaaS-Produkte.
Kriterien für Pentests
Es gibt Kriterien, die einen echten Pentest ausmachen. Nicht jeder, der einen Pentest anbietet, führt auch wirklich einen durch. Der Begriff ist nicht geschützt, sodass Anbieter ihn unterschiedlich auslegen können. Deshalb möchten wir kurz artverwandte Herangehensweisen und Methodiken vorstellen. Es ist sinnvoll, mit Dienstleistern zu klären, was sie unter einem Pentest verstehen.
Schwachstellenscanner gehen automatisiert vor und können dementsprechend nur das finden, was sie kennen. Sie verfügen nicht über menschliches Mitdenken, Kreativität und Erfahrung. Sie entdecken veraltete Softwareversionen mit bekannten Schwachstellen und Konfigurationsschwächen, wie den Einsatz veralteter kryptografischer Verfahren. Jedoch können Sie keine Kontexte berücksichtigen oder Verkettungen von Auffälligkeiten feststellen, die in Kombination zu einer Schwachstelle führen.
Social Engineering umfasst Methoden, die auf die Schwachstelle Mensch abzielen. Ein bekanntes Beispiel sind Phishing-Simulationen, um Mitarbeiter für Phishing-Mails zu sensibilisieren und das Awareness-Level im Unternehmen zu messen. Schulungsmaßnahmen lassen sich so auf ihre Effektivität überprüfen. Weitere Social-Engineering-Methoden sind beispielsweise Vishing, also Voice Phishing, bei dem Betrüger versuchen, über das Telefon an sensible Informationen zu gelangen, sowie Tailgating, bei dem ein Angreifer sich Zugang zu einem Gebäude verschafft, indem er sich unauffällig mit anderen Mitarbeitern hineinbegibt.
Im Rahmen von Red Teamings finden simulierte, aber realitätsnahe Angriffe auf Unternehmen statt, weshalb diese nur einem kleinen Kreis von involvierten Personen bekannt sind. Der Fokus liegt auf der Prüfung von Mechanismen zur Angriffserkennung und -abwehr, einschließlich der zugehörigen organisatorischen Prozesse. Das Red Team agiert dabei vorsichtig, um nicht aufzufallen und kann gegen Ende des Projekts lauter werden, um die Abwehrmechanismen zu prüfen. Es verfolgt Ziele, denen auch Angreifer nachgehen, wie beispielsweise die Kontrolle über die IT oder die Backupinfrastruktur.
Die richtigen Prioritäten setzen
Beim Abgleich der oben genannten Testgegenstände mit dem eigenen Inventar wird oft festgestellt, dass es viel zu tun gibt und nicht alles auf einmal erledigt werden kann. Es ist daher wichtig, Prioritäten zu setzen und sich auf die wichtigsten Unternehmenswerte und damit verbundenen Risiken zu konzentrieren. Diese hängen stark vom Geschäftsmodell des Unternehmens ab, wie zum Beispiel sensible Daten wie Kundeninformationen oder Geschäftsgeheimnisse sowie die Verfügbarkeit von Produktionssystemen.
In Bezug auf den Schutz der Unternehmenswerte stellt sich die Frage, welche IT-Systeme essenziell sind. Hierbei handelt es sich beispielsweise um Anwendungen zur Datenverarbeitung und -speicherung sowie um Produktionsmaschinen.
Die Angriffsoberfläche und Exposition dieser wichtigen Systeme spielt ebenfalls eine Rolle. Je exponierter ein System ist, desto größer ist das Risiko. Systeme, die über das Internet erreichbar sind, sind typischerweise am stärksten gefährdet. Im Sinne des Zero-Trust-Ansatzes "Assume Breach" sollten IT-Verantwortliche davon ausgehen, dass Angreifer früher oder später in die Firmenumgebung eindringen. In diesem Fall sind alle Systeme, die von dieser Perspektive aus erreichbar sind, einem Angriff ausgesetzt. Innentäterszenarien sollten ebenfalls Beachtung finden, insbesondere hinsichtlich Datendiebstahl. Auch in vermeintlich gut abgeschirmten Systemen wie Produktionsumgebungen (OT) sollte sichergestellt werden, dass die Abschirmung tatsächlich Eindringlingen standhält.
Eine gute Kommunikation im Vorfeld ist wichtig für die Akzeptanz und den Erfolg von Pentests. Es ist wichtig, eine offene Fehlerkultur zu fördern und allen Beteiligten zu vermitteln, dass es ein gemeinsames Ziel für mehr Sicherheit ist und kein Konflikt. Es geht nicht darum, Schuldige zu suchen, da dies dazu führen kann, dass Schwachstellen verheimlicht werden. Sicherheitslücken entstehen oft aufgrund von Zeitmangel, begrenztem Budget, fehlender Fortbildung und historischen Umständen. Es ist deshalb wichtig, alle relevanten Personen frühzeitig einzubeziehen, um Ziele und Vorgehensweisen zu besprechen und Bedenken auszuräumen. Dies kann auch gemeinsam mit dem Dienstleister erfolgen. Das Ziel eines Pentests ist es, die Ursachen von Schwachstellen zu ermitteln, um ähnliche Schwachstellen in Zukunft zu vermeiden.
Passenden Dienstleister finden
Ein Pentest-Bericht mit einer grünen Ampel ist wertlos, wenn der Dienstleister wichtige Schwachstellen übersieht. Das Ziel eines Tests ist es, Lücken aufzudecken, doch ist nicht klar, welche bestehenden Schwachstellen im Test durchgerutscht sind. Obwohl kein Dienstleister der Welt versprechen kann, alle Lücken zu finden, hat die Wahl des Anbieters doch einen deutlichen Einfluss auf die Qualität der Ergebnisse.
Die Erfahrung und Expertise der Pentester, die den Test durchführen, spielen eine entscheidende Rolle. Es ist wichtig zu beachten, dass nur weil ein Anbieter täglich Webanwendungen testet, dies nicht bedeutet, dass er auch Bluetooth-Protokolle beherrscht oder dass die Ergebnisse gut sind. Entscheidende Auswahlkriterien sind deshalb:
1. Erfahrung und Expertise im gefragten Testgegenstand derjenigen, die den Test durchführen. Nicht immer führen Personen mit den Profilen, die ein Interessent im Verkaufsprozess erhält, den Pentest durch.
2. Eine gute Kommunikation mit dem Dienstleister ist wichtig. Diese beginnt bei der Erläuterung des Vorgehens und der Abstimmung in der Testvorbereitung und endet bei der verständlichen und nützlichen Aufbereitung der Ergebnisse.
Um die Qualität, Erfahrung und Aktualität eines Dienstleisters zu beurteilen, haben IT-Verantwortliche verschiedene Möglichkeiten:
- Dazu gehören Referenzen, Empfehlungen und Kontaktpersonen aus bereits durchgeführten Projekten sowie Personenzertifizierungen im Bereich der offensiven Sicherheit, die diverse Zertifizierungsmöglichkeiten mit praktischen Prüfungen bietet.
- Erfahrungsberichte: Firmen sollten sich von anonymisierten Erfahrungsberichten ähnlicher Projekte ein Bild vom Vorgehen und den möglichen Ergebnissen machen.
- Erklärungen: IT-Verantwortliche sollten sich mit dem Testgegenstand und den aktuellen Schwachstellen vertraut machen und sich bei Bedarf vom Dienstleister erklären lassen. Gleiches gilt auch für Standards zum Vorgehen in Penetrationstests, wie sie beispielsweise in der Studie "Durchführungskonzept für Penetrationstests" [1] des BSI oder im "OWASP Web Security Testing Guide" [2] der Organisation OWASP beschrieben werden.
Zusätzlich sind regulatorische Anforderungen an den Dienstleister denkbar, die beispielsweise eine Zertifizierung nach ISO 27001 erfordern. Ein weiteres Kriterium könnte sein, dass der Dienstleister in die Security-Community eingebunden ist, beispielsweise durch Forschung, Veranstaltungen, veröffentlichte CVEs und Tools.
Bild 2: Eine Schwachstellen-Übersicht aus einem Beispielbericht zu einem Pentest der internen Infrastruktur.
Pentesting und Zero Trust
Das Zero-Trust-Konzept lässt sich auf verschiedene technische und organisatorische Bereiche anwenden. Zu den Sicherheitsmaßnahmen gehören Zutritts- und Zugriffskontrollen, das Least-Privilege-Prinzip, die Segmentierung von Umgebungen, die Verschlüsselung von Daten, die sichere Konfiguration von Geräten und Systemen, das Monitoring, die Reaktion auf auffälliges Verhalten und Backups zur Wiederherstellung.
Es stellt sich die Frage, wie gut ein Unternehmen aufgestellt ist und ob die getroffenen Sicherheitsmaßnahmen im Ernstfall greifen. Pentests liefern realitätsnahe Einblicke in den Ist-Zustand. Das Zero-Trust-Denken ist in Pentests und Red Teamings weit verbreitet. Ein Beispiel dafür ist, dass Verantwortliche davon ausgehen, dass Angreifer bereits Zugang zum Netzwerk eines Unternehmens haben und aus dieser Annahme heraus ein Projekt starten, um die interne Infrastruktur zu testen. Dieses Szenario ist sehr realistisch und solche Pentests erfreuen sich zunehmender Beliebtheit. Der Blogartikel "Zero Trust – Angreifer kommen dahin, wo du sie am wenigsten erwartest" [3] geht ausführlich auf Pentests im Rahmen von Zero Trust ein.
Fazit
Pentests dienen dazu, präventiv Schwachstellen aufzudecken, die größten Risiken zu identifizieren und Maßnahmen zur priorisierten Behebung abzuleiten. Sie beantworten Fragen wie "Was kann unter welchen Umständen passieren?" und "Wo besteht der dringendste Handlungsbedarf?" Wenn Sie Hilfe benötigen, um festzustellen, ob ein Pentest für Ihr Unternehmen geeignet ist oder welche Tests in welcher Reihenfolge durchgeführt werden sollten, wenden Sie sich an den Pentest-Dienstleister.
(dr)
Christian Stehle und Nina Wagner sind zwei der drei Gründer und Geschäftsführer der MindBytes GmbH. Sie sind spezialisiert auf Dienstleistungen im Bereich Pentesting und Red Teaming.