Zum Inhalt springen

Services, Wiki-Artikel, Blog-Beiträge und Glossar-Einträge durchsuchen

↑↓NavigierenEnterÖffnenESCSchließen
Penetration Testing Glossar

Penetrationstest-Bericht

Strukturiertes Dokument, das Methoden, Befunde und Handlungsempfehlungen eines Penetrationstests dokumentiert. Ein professioneller Pentest-Bericht enthält Executive Summary, technische Befunde mit CVSS-Scores, Proof-of-Concept, Risikobewertung und priorisierte Maßnahmen.

Ein Penetrationstest-Bericht ist das finale Lieferobjekt eines Penetrationstests - und oft das wichtigste. Er muss zwei völlig verschiedene Zielgruppen bedienen: die Geschäftsführung (Executive Summary, Risikobewertung) und das technische Team (reproduzierbare Befunde, Proof-of-Concept).

Aufbau eines professionellen Pentest-Berichts

1. Deckblatt und Metadaten

PENETRATIONSTEST-BERICHT

Auftraggeber:   Mustermann GmbH, Hauptstraße 1, 12345 Berlin
Auftragnehmer:  AWARE7 GmbH, Gelsenkirchen
Testtyp:        Web Application Penetration Test
Scope:          https://app.mustermann.de (Produktionssystem)
Testmethodik:   Black Box / Gray Box (gemischt)
Testzeitraum:   2026-02-10 bis 2026-02-14
Bericht-Datum:  2026-02-20
Version:        1.0 (Final)
Klassifizierung: VERTRAULICH - Nur für Auftraggeber

Erstellt von:   Max Mustermann, OSCP, OSCE3
Geprüft von:    Anna Schmidt, Lead Penetration Tester

2. Executive Summary (für die Geschäftsführung)

Das Executive Summary sollte KEINE technischen Details enthalten.
Es beantwortet: "Was haben wir gefunden? Was bedeutet das? Was tun?"

Struktur:
  ┌────────────────────────────────────────┐
  │ GESAMTRISIKO: KRITISCH                 │
  │ Kritische Befunde: 2                   │
  │ Hohe Befunde:      5                   │
  │ Mittlere Befunde:  8                   │
  │ Niedrige Befunde: 12                   │
  └────────────────────────────────────────┘

  "Während des Penetrationstests konnten wir als externer Angreifer
  ohne vorherige Kenntnisse vollständigen Datenbankzugriff auf die
  Kundendatenbank mit 50.000 Einträgen erlangen. Zwei kritische
  Schwachstellen ermöglichten dies innerhalb von 4 Stunden.

  Wir empfehlen die sofortige Behebung der kritischen und hohen
  Befunde (Befund 1-7) vor Weiterentwicklung neuer Features."

Gefunden Befunde (Zusammenfassung):
  Risk Level | Anzahl | Beispiel
  KRITISCH   | 2      | SQL Injection im Login-Formular
  HOCH       | 5      | IDOR auf /api/users/{id}
  MITTEL     | 8      | Fehlende Rate Limiting
  NIEDRIG    | 12     | Missing Security Headers

3. Technischer Teil - Befundkarten

Jeder Befund wird als eigenständige Befundkarte dokumentiert:

══════════════════════════════════════════════
BEFUND #01: SQL Injection im Benutzerformular
══════════════════════════════════════════════

Schweregrad:      KRITISCH (CVSS v3.1: 9.8)
CVSS Vector:      AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE:              CWE-89: Improper Neutralization of SQL Commands
CVE:              N/A (custom application)
Status:           Offen / In Behebung / Behoben

Betroffene URL:   POST https://app.mustermann.de/api/v1/users/login
Betroffener       Parameter: `username`
Parameter:

BESCHREIBUNG:
  Der Parameter `username` im Login-Formular wird ohne Validierung
  oder Parametrisierung direkt in eine SQL-Abfrage eingefügt.
  Dies ermöglicht es einem Angreifer, beliebige SQL-Befehle
  im Kontext der Datenbankverbindung auszuführen.

PROOF OF CONCEPT:
  1. POST-Request an Login-Endpoint:
     username=admin'--&password=anything

  2. Manipulierte SQL-Abfrage:
     SELECT * FROM users WHERE username='admin'--' AND password='...'
     → Kommentar (--) entfernt Passwort-Prüfung

  3. Anmeldesuccess als admin ohne Passwort bestätigt.

  4. Datenbankexfiltration (sqlmap):
     sqlmap -u "https://app.mustermann.de/api/v1/users/login" \
       --data="username=test&password=test" \
       --dbs --dump

  5. Extrahierte Daten (Auszug):
     Database: production_db
     Table: customers (52.347 rows)
     [email, name, address, iban, ...]

RISIKOBEWERTUNG:
  Ohne Authentifizierung vollständiger Datenbankzugriff.
  DSGVO-Meldepflicht bei Ausnutzung (Art. 33 DSGVO).
  Reputationsschaden bei Öffentlichwerden.

EMPFEHLUNG:
  SOFORTMASSNAHME (bis 24h):
    → Prepared Statements / Parameterized Queries implementieren
    → KORREKT: cursor.execute("SELECT * FROM users WHERE username=%s", (username,))
    → FALSCH:  cursor.execute("SELECT * FROM users WHERE username='" + username + "'")

  MITTELFRISTIG (bis 7 Tage):
    → WAF aktivieren (virtueller Patch)
    → Datenbankzugriff auf least-privilege beschränken
    → SQL-Injection in Code Review und SAST-Tools einbeziehen

4. Angriffsszenarien / Attack Chains

Neben Einzel-Befunden dokumentiert ein guter Bericht
die reale Angriffskette - wie ein echter Angreifer vorgeht:

Attack Chain #1: Von der SQL Injection zur vollständigen Übernahme

  Schritt 1: SQL Injection (Befund #01)
    → Dump aller Nutzerdaten inkl. Passwort-Hashes (bcrypt)

  Schritt 2: Passwort-Cracking
    → 12% der Hashes geknackt (schwache Passwörter)
    → Admin-Account kompromittiert

  Schritt 3: Admin-Panel Zugriff
    → Backup-Download möglich (Befund #05 - unsichere Admin-Funktion)

  Schritt 4: Backup enthält DB-Credentials
    → Datenbankzugriff direkt möglich

  Ergebnis: Vollständige Datenbankexfiltration in <2 Stunden
  Betroffene Daten: 52.347 Kundendatensätze (DSGVO-relevant!)

5. Maßnahmenplan

Priorisierter Maßnahmenplan:

Prio | Befund | Aufwand | Verantwortlich | Frist
─────────────────────────────────────────────────
  1  | SQL Injection        | 2h    | Dev-Team      | 24h
  2  | IDOR /api/users      | 4h    | Dev-Team      | 48h
  3  | XXE in XML-Upload    | 2h    | Dev-Team      | 48h
  4  | Fehlende MFA-Admin   | 4h    | IT-Ops        | 7 Tage
  5  | Veraltetes jQuery    | 1h    | Dev-Team      | 7 Tage
  ...
 20  | Missing HSTS Header  | 30min | IT-Ops        | 30 Tage

6. Anhang und Methodik

Anhang A: Testmethodik
  → Verwendete Tools: Burp Suite Professional, sqlmap, Nmap, ffuf
  → Standards: OWASP Testing Guide v4.2, PTES
  → Testbeginn/ende mit Zeitstempeln

Anhang B: Scope
  → In-Scope: app.mustermann.de, api.mustermann.de
  → Out-of-Scope: mustermann.de (Hauptwebsite), interne Systeme

Anhang C: Tool-Output (Rohdaten)
  → Nmap-Scan-Output
  → Nikto-Report
  → OWASP ZAP Baseline-Report

Anhang D: Kommunikationsprotokoll
  → Wer wurde informiert?
  → Kritische Findings: sofortige Eskalation an CTO (02.02.2026, 14:32)

Was einen guten Bericht ausmacht

Guter Bericht:                    Schlechter Bericht:
  ✓ Executive Summary verständlich   ✗ Nur technischer Kauderwelsch
  ✓ Reproduzierbare PoC-Schritte     ✗ "Found SQLi" ohne Details
  ✓ Business Impact beschrieben      ✗ Nur CVSS ohne Kontext
  ✓ Priorisierte Maßnahmen           ✗ Unsortierte Befundliste
  ✓ Screenshots / Tool-Output        ✗ Keine Nachweise
  ✓ Angriffsketten dokumentiert      ✗ Isolierte Einzelbefunde
  ✓ Retest-Ergebnisse (wenn möglich) ✗ Kein Follow-up vorgesehen
  ✓ 2-4 Wochen nach Test geliefert   ✗ Monatelange Wartezeit

Retest - Befunde verifizieren

Nach Behebung der Befunde:
  → Dedizierter Retest der behobenen Schwachstellen
  → Neues Bericht-Kapitel: "Behobene Befunde"
  → Status-Update: "Offen" → "Behoben" / "Teilweise behoben"

Status-Optionen:
  Behoben (Closed):             Schwachstelle nicht mehr vorhanden
  Teilweise behoben (Partial):  Hauptproblem behoben, Rest noch offen
  Akzeptiert (Accepted Risk):   Bewusste Entscheidung kein Fix
  Offen (Open):                 Noch keine Behebung

Cookielose Analyse via Matomo (selbst gehostet, kein Tracking-Cookie). Datenschutzerklärung