🌐 Dieser Artikel ist auch verfügbar auf: English

Penetrationstest vorbereiten: Was Sie wissen sollten.

Penetrationstest vorbereiten: Was Sie wissen sollten.
3 Ethical Hackers who perform Penetration Testing

Die Vorbereitung eines Penetrationstests (Pentests) ist ein komplexer Prozess, der sorgfältige Planung und Koordination erfordert. Ein gut geplanter Pentest kann nicht nur dazu beitragen, Sicherheitsanfälligkeiten in IT-Systemen zu identifizieren, sondern auch die gesamte Sicherheitslage eines Unternehmens erheblich verbessern. In diesem Artikel geben wir Ihnen eine detaillierte Checkliste zur Pentest Vorbereitung und erläutern, wie Sie sich auf einen Penetrationstest optimal vorbereiten können. Wir beleuchten zudem häufige Herausforderungen und geben praktische Tipps und einen Leitfaden zur Umsetzung.

Was ist ein Penetrationstest?

Ein Penetrationstest (Pentest) ist eine gründliche Sicherheitsbewertung von Systemen, einschließlich Servern, Computern und Webanwendungen, mit dem Ziel, Schwachstellen zu ermitteln, die von böswilligen Akteuren ausgenutzt werden könnten. Das Hauptziel besteht darin, den Betreiber in die Lage zu versetzen, diese Schwachstellen zu beheben und möglichen Schaden zu verhindern. Während ein Pentest einen Angriff durch einen Hacker mit böswilligen Absichten simuliert, wird er von einem qualifizierten Experten, dem sogenannten Pentester, durchgeführt. Ein wesentliches Merkmal von Penetrationstests ist der manuelle Ansatz, der die Wahrscheinlichkeit erhöht, Sicherheitsmängel zu entdecken, die von automatisierten Tools übersehen werden könnten.

Warum ist ein Penetrationstest notwendig?

Ein Penetrationstest (Pentest) ist nicht einfach irgendeine routinemäßige Überprüfung – er ist ein entscheidender, fortlaufender Prozess, der in regelmäßigen Abständen durchgeführt werden sollte. Software ist dynamisch, und täglich werden neue Bibliotheken und Updates entwickelt, insbesondere solche, die in den Systemen Ihres Unternehmens integriert sind. Wie Menschen altert auch Software mit der Zeit, wobei häufig Updates vorgenommen werden, um entdeckte Schwachstellen zu beheben. Da diese Schwachstellen immer wieder auftauchen, müssen sie umgehend identifiziert und behoben werden. Ein bekanntes Beispiel für eine solche Schwachstelle ist das Log4J-Problem in der Logging-Bibliothek von Java, das aufgrund seiner Sicherheitsimplikationen breite Aufmerksamkeit erhielt.

Schwachstellen entstehen jedoch nicht nur durch Bibliotheken. In vielen Fällen liegt der Ursprung von Sicherheitslücken darin, dass während der Entwicklung eines Produkts nicht ausreichend auf Sicherheit geachtet wird. Oft wird behauptet, dass keine Zeit für Sicherheitsaspekte bleibt oder dass die Entwickler nie an Sicherheit gedacht haben. Es geht nicht darum, jemanden zu beschuldigen, aber Unternehmen sollten der Sicherheit mehr Beachtung schenken, selbst wenn dies zusätzliche Ressourcen erfordert. In robusten Sicherheitsmaßnahmen zu investieren, ist entscheidend, denn die Kosten zur Behebung von Reputationsschäden sind weitaus höher als die eines Penetrationstests.

Das übergeordnete Ziel eines Penetrationstests ist es, so viele kritische und nicht-kritische Schwachstellen wie möglich zu identifizieren, um das Risiko größeren Schadens zu minimieren. Dieser proaktive Ansatz kann langfristig erhebliche Kosten sparen, da die Folgen eines Sicherheitsvorfalls viel teurer sein können als regelmäßige Penetrationstests. Zudem ist zu beachten, dass mehrere nicht-kritische Schwachstellen, wenn sie kombiniert werden, eine sogenannte “Killchain” bilden können, die zu einem schwerwiegenden Sicherheitsvorfall führen kann.

Hier sind weitere Gründe, warum Penetration Testing notwendig ist:

  1. Frühe Entdeckung von versteckten Schwachstellen: Schwachstellen vor dem Exploitieren durch böswillige Hacker aufzudecken, ist entscheidend, um Sicherheitsverletzungen zu verhindern.
  2. Reduzierung von Fehlermeldungen und Ausfallzeiten: Ausgenutzte Schwachstellen können zu Infrastruktur-Ausfällen führen, was zu erheblichen Umsatzverlusten führen kann. Penetration Testing hilft, das Risiko solcher Vorfälle zu verringern.
  3. Schutz von Kunden- und Mitarbeiterdaten: Datenlecks untergraben das Vertrauen und können zu rechtlichen Problemen führen. Die Sicherung sensibler Daten ist entscheidend für den Erhalt des Unternehmensrufs und die Einhaltung gesetzlicher Vorschriften.
  4. Einsparung von “Wiederherstellungskosten”: Ein erfolgreicher Angriff kann so großen Schaden anrichten, dass die Infrastruktur gar nicht mehr wiederhergestellt werden kann. In diesem Fall müssen hoffentlich vorhandene Backups auf den einzelnen Servern wiederhergestellt werden, was Zeit und somit Geld kostet. Und wenn keine Backups verfügbar sind, muss möglicherweise alles von Grund auf neu aufgebaut werden.

Arten von Penetrationstests

Penetrationstests können auf drei verschiedenen Ebenen durchgeführt werden, die jeweils einen anderen Ansatz und Umfang bieten. Diese werden als Black-Box-, Grey-Box- und White-Box-Tests klassifiziert, wie im folgenden Beispiel dargestellt:

1. Black-Box Penetrationstest: Ein Black-Box-Test simuliert ein Angriffsszenario aus der realen Welt, bei dem der Pentester keinerlei Vorabinformationen über das zu testende System erhält. Der Fokus liegt auf der Bewertung der externen und internen Infrastrukturen mit minimalem organisatorischen Aufwand. Der Pentester agiert wie ein externer Angreifer und versucht, kritische Schwachstellen zu identifizieren und so viel simulierten Schaden wie möglich zu verursachen. Diese Art von Test ist besonders wertvoll, um zu verstehen, wie ein tatsächlicher Angreifer potenzielle Sicherheitslücken ausnutzen könnte.

2. Grey-Box Penetrationstest: Ein Grey-Box-Test wird in einem definierten Rahmen, auch als Scope bezeichnet, durchgeführt. Das bedeutet, dass der Pentester über begrenzte Informationen über das Zielsystem verfügt. Dies kann den Zugang zu bestimmten Anmeldedaten oder Teilsystemen umfassen, sodass der Pentester gezielt auf bestimmte Aspekte der Infrastruktur fokussiert arbeiten kann. Der Vorteil dieses Ansatzes liegt darin, dass der Pentester sich auf bestimmte Bereiche konzentrieren und tiefere Schwachstellen aufdecken kann, die bei einer breiteren Untersuchung möglicherweise übersehen worden wären.

3. White-Box Penetrationstest: Der White-Box-Test stellt das umfassendste Niveau dar, bei dem der Pentester vollen Zugang zu allen relevanten internen Ressourcen erhält, wie beispielsweise Quellcode, Dokumentation und Systemarchitekturen. Mit vollständiger Einsicht in die Struktur des Systems kann der Pentester sowohl technische als auch logische Schwachstellen identifizieren. Ein Beispiel für eine logische Schwachstelle wäre die Möglichkeit, eine Bestellung auf einer Marktplattform für eine andere Person zu tätigen, ohne als diese Person eingeloggt zu sein. Dieser tiefgreifende Zugang ermöglicht es dem Pentester, komplexe Probleme zu identifizieren, die durch andere Testmethoden möglicherweise nicht erkannt werden.

Schritt 1: Wichtige Mitarbeiter informieren

Ethical Hackers finding a zero day exploit

Informieren Sie die IT-Abteilung über den bevorstehenden Penetrationstest, um unangenehme Überraschungen zu vermeiden und die Bereitschaft sicherzustellen. Bestimmen Sie ein Mitglied des IT-Teams als Hauptansprechpartner für die Penetrationstester. Achten Sie darauf, dass das gesamte IT-Team während des Tests verfügbar ist und bereitsteht, um den notwendigen Systemzugang und technische Unterstützung zu gewähren.

Risiken bei Nichteinhaltung:

Schritt 2: Zusammenstellung eines Reaktionsteams

Business People sitting with an ethical hacker.

Bilden Sie ein interdisziplinäres Reaktionsteam, das aus Mitgliedern der IT-Abteilung, der Sicherheitsabteilung, der Geschäftseinheiten und der Compliance-Management-Teams besteht. Dieses Team sollte die Testergebnisse sorgfältig überprüfen und analysieren. Achten Sie darauf, dass Vertreter aus verschiedenen Unternehmensbereichen – einschließlich Sicherheit, Geschäftsführung und Compliance – bereitstehen, um zeitnah auf die Testergebnisse zu reagieren.

Risiken bei Nichteinhaltung:

Schritt 3: Vorbereitung auf mögliche Ausfallzeiten

Manager who is deciding to secure its company.

Planen Sie den Penetrationstest während verkehrsärmerer Zeiten, um Betriebsunterbrechungen auf ein Minimum zu reduzieren. Entwickeln Sie Notfallpläne und erstellen Sie Backups für den Fall, dass kritische Systeme während der Tests ausfallen. Informieren Sie alle relevanten Teams und Stakeholder rechtzeitig über den Testplan und die Möglichkeit von Unterbrechungen.

Risiken bei Nichteinhaltung:

Schritt 4: Vermeiden Sie Last-Minute Sicherheitsanpassungen

Workers building foundation of a house to illustrate security needs a good foundation

Vermeiden Sie Änderungen in letzter Minute an den Systemen, die Gegenstand des Penetrationstests sind, um die Genauigkeit der Testergebnisse sicherzustellen. Beheben Sie bekannte, kritische Probleme, wie ungepatchte Software oder veraltete Systeme, rechtzeitig vor dem Testtermin.

Risiken bei Nichteinhaltung:

Schritt 5: Definieren Sie die Ziele der Penetrationstests

Highway to 2027

Definieren Sie klar die Ziele des Penetrationstests, um sicherzustellen, dass er sowohl effektiv als auch den Anforderungen des Unternehmens gerecht wird.

  1. Compliance-Anforderungen: Überprüfen Sie, dass der Test die relevanten Standards, wie z. B. PCI DSS oder HIPAA, erfüllt, falls dies erforderlich ist.
  2. Schwerpunktbereiche: Identifizieren Sie spezifische Systeme, Dienste oder Funktionen, die besondere Aufmerksamkeit benötigen.
  3. Stealth-Tests: Bestimmen Sie, ob der Test Elemente des Stealth-Ansatzes beinhalten soll, um zu prüfen, wie Ihr Sicherheitsteam auf Angriffe reagiert, ohne im Voraus benachrichtigt zu werden.
  4. Empfindliche Systeme: Klären Sie, ob besonders kritische Systeme, wie medizinische Geräte oder Infrastrukturkomponenten, in den Test einbezogen werden sollen.
  5. Pivotierung: Legen Sie fest, inwieweit die Tester in der Lage sein sollen, zwischen Systemen zu wechseln (Pivoting), wenn Schwachstellen identifiziert werden.

Risiken bei Nichteinhaltung:

Schritt 6: Umfang des Penetrationstests

Security measures are visualized and people working on it security

Definieren Sie den Umfang des Penetrationstests klar und präzise, um eine effektive Durchführung zu gewährleisten.

  1. In-Scope-Systeme: Erstellen Sie eine detaillierte Liste aller Netzwerke, Systeme, Anwendungen und Segmente, die Teil des Tests sind.
  2. Ausgeschlossene Systeme: Geben Sie alle Systeme oder Netzwerke an, die vom Test ausgeschlossen sind, um versehentliche Störungen oder Datenverluste zu vermeiden.
  3. Testart: Entscheiden Sie, ob ein Gray-Box-Test (mit begrenztem Insider-Zugriff) oder ein Black-Box-Test (ohne vorherige Kenntnisse) durchgeführt werden soll.
  4. Testumgebung: Bestätigen Sie, ob der Test in einer Produktions- oder Staging-Umgebung stattfinden soll.

Risiken bei Nichteinhaltung:

Schritt 7: Testzugang und Berechtigungen

Stellen Sie sicher, dass der Zugang zu den Testsystemen und die entsprechenden Berechtigungen klar definiert sind, um einen reibungslosen Ablauf des Penetrationstests zu gewährleisten.

  1. Netzwerk-Zugang: Geben Sie an, wie die Tester auf das Netzwerk zugreifen werden, z. B. über VPN oder spezielle Benutzerkonten.
  2. Bereitgestellte Anmeldeinformationen: Sorgen Sie dafür, dass geeignete Benutzerkonten für den Test bereitgestellt werden, einschließlich administrativer und benutzerdefinierter Zugriffsrechte.
  3. Firewall- und WAF-Anpassungen: Stellen Sie sicher, dass die IP-Adressen der Tester in Ihrer Firewall oder Web Application Firewall (WAF) als zulässig eingestuft sind, um unerwartete Blockierungen während des Tests zu vermeiden.
  4. Systeme von Drittanbietern: Wenn die getesteten Systeme von Dritten gehostet werden, stellen Sie sicher, dass eine schriftliche Genehmigung für die Durchführung des Penetrationstests im vorgesehenen Zeitraum eingeholt wird.

Risiken bei Nichteinhaltung:

Schritt 8: Vorbereiten von Webanwendungen und -diensten

Connected World Image

Bereiten Sie die Webanwendungen und -dienste gründlich vor, um die Effektivität des Penetrationstests zu maximieren.

  1. Benutzerkonten: Stellen Sie für jede relevante Rolle mindestens zwei Benutzerkonten bereit (z. B. für normale Benutzer und Administratoren), um die Eskalation von Rechten umfassend zu testen.
  2. Administrativer Zugang: Vergewissern Sie sich, dass ein administratives Konto für die Tests zur Verfügung steht, um die vollständige Funktionalität der Anwendungen zu überprüfen.
  3. Testumgebung: Bestätigen Sie, ob der Test in der Produktionsumgebung oder in einer Testumgebung durchgeführt wird und ob das Testteam exklusiven Zugriff auf die benötigten Ressourcen hat.
  4. Webdienste: Stellen Sie Projektdateien für SOAP UI oder Postman zur Verfügung oder zumindest Beispiele für gültige Dienstanforderungen (HTTP), um den Testern den Zugriff auf die Webdienste zu erleichtern.

Risiken bei Nichteinhaltung:

Schritt 9: Festlegung zeitlicher Einschränkungen und Kommunikationsstrategien

showing a meeting room with it security team presenting to a group of business executives.

Definieren Sie alle zeitlichen Einschränkungen für den Penetrationstest, um sicherzustellen, dass der Test reibungslos abläuft und potenzielle Störungen minimiert werden.

  1. Zeitliche Einschränkungen: Legen Sie die Geschäftszeiten und geplante Ausfallzeiten fest, innerhalb derer der Test durchgeführt werden darf.
  2. Notfallkontakte: Benennen Sie zwei Notfallkontakte (einen Haupt- und einen Ersatzkontakt), die während des Tests rund um die Uhr erreichbar sind, um im Bedarfsfall sofortige Unterstützung zu gewährleisten.
  3. Sicherer Kommunikationskanal: Richten Sie einen sicheren Kommunikationskanal ein, der den Austausch von Test-Updates und sensiblen Informationen ermöglicht, um die Vertraulichkeit zu wahren.
  4. Aktualisierungsfrequenz: Legen Sie fest, wie oft und in welchem Format das Testteam Fortschrittsberichte über den Test bereitstellen soll, um eine transparente Kommunikation sicherzustellen.

Risiken bei Nichteinhaltung:

Schritt 10: Überprüfen und Abschließen der Rules of Engagement

People who are reaching their set security goals.

Definieren Sie die „Rules of Engagement“ (RoE) für den Penetrationstest, um sicherzustellen, dass alle Beteiligten klare Richtlinien haben und kritische Probleme angemessen behandelt werden.

  1. Handlungsanweisungen bei kritischen Problemen: Legen Sie fest, wie die Tester bei der Entdeckung kritischer Sicherheitsprobleme vorgehen sollen, beispielsweise durch sofortige Benachrichtigung der verantwortlichen Ansprechpartner.
  2. Verwendung von Exploit-Code: Stellen Sie sicher, dass ausschließlich stabiler und bewährter Exploit-Code während des Tests verwendet wird, um unerwünschte Auswirkungen auf die Systeme zu vermeiden.
  3. Umgang mit sensiblen Daten: Falls sensible Daten entdeckt werden, müssen die Tester darauf achten, nur so viele Informationen zu extrahieren, wie unbedingt erforderlich sind, um das Risiko zu demonstrieren, ohne die Vertraulichkeit der Daten zu gefährden.
  4. Dokumentation von Ausnahmen: Halten Sie alle Ausnahmen von den standardmäßigen Einsatzregeln schriftlich fest, um Missverständnisse zu vermeiden und den Test transparent zu gestalten.

Risiken bei Nichteinhaltung: