Zum Hauptinhalt springen
Starter Kit · Pläne & Berichte

Pentest-Bericht

Aktualisiert am 2 Min. Geprüft von: Cenedril-Redaktion
A.8.8A.8.29 ISO 27001OWASP WSTGPTES

Ein Pentest ohne ordentlichen Bericht ist nur halb so viel wert. Der Bericht dokumentiert, was getestet wurde, was gefunden wurde und ob die Behebung funktioniert hat. Für Auditor:innen, die Geschäftsleitung und das Entwicklungsteam ist er gleichermaßen relevant — allerdings aus unterschiedlichen Perspektiven. Die Vorlage weiter unten liefert die Struktur für einen professionellen Bericht mit allen Bestandteilen.

ISO 27001 (A.8.8) verlangt das Management technischer Schwachstellen, A.8.29 fordert Sicherheitstests im Entwicklungsprozess. OWASP WSTG und PTES liefern die methodischen Standards. Unsere Vorlage verbindet alle Perspektiven.

Was die Vorlage abdeckt

Engagement Summary legt die Rahmenbedingungen fest: Wer hat getestet? Was war im Scope? Welche Methodik wurde angewandt? Welcher Testtyp (Black-box, Grey-box, White-box)? Welche Einschränkungen galten (z. B. kein DoS, keine Social-Engineering-Tests)?

Executive Summary fasst die Ergebnisse für die Geschäftsleitung zusammen: Wie viele Findings je Schweregrad? Was war das kritischste Finding? Wie ist die Gesamtbewertung der Sicherheitslage? Dieser Abschnitt ist bewusst kurz und frei von technischen Details.

Findings-Übersicht listet alle Findings in einer Tabelle: ID, Titel, Schweregrad, CVSS-Score und Status. Das gibt einen schnellen Gesamtüberblick.

Detaillierte Findings gehen in die Tiefe. Für jedes Finding: betroffenes Asset, Beschreibung der Schwachstelle, Reproduktionsschritte, Proof of Concept, Schadensausmass und Empfehlung. Die Vorlage enthält drei vollständig ausgearbeitete Beispiele — darunter eine kritische IDOR-Schwachstelle mit CVSS 9.1, eine Stored-XSS-Lücke und ein fehlendes Rate Limiting.

Retest-Ergebnisse dokumentieren, ob die Behebungen tatsächlich wirksam sind. Maßnahmen-Tracking verknüpft offene Findings mit dem Schwachstellenregister und dem Risikobehandlungsplan.

Vorlage: Pentest-Bericht

Vollständige Richtlinie

Pentest-Bericht

Dokumentenkontrolle
Eigentümer: Informationssicherheitsbeauftragte
Genehmigt von: CEO
Version: 1.0
Gültig ab: 2026-03-18
Klassifizierung: Vertraulich — beschränkt auf ISMS-Team und Geschäftsleitung

1. Engagement-Zusammenfassung

Feld Wert
Auftraggeber Nordwind Logistics GmbH
Testanbieter Cobalt Alliance Security GmbH, Berlin
Testleitung M. Tanaka (OSCP, OSWE)
Engagement-ID PT-2026-01
Scope Externer Perimeter (4 IPs) + Kundenportal (portal.nordwind-logistics.com) + authentifizierte API
Methodik OWASP WSTG v4.2, PTES, OWASP API Security Top 10
Testzeitraum 2026-02-24 bis 2026-03-07
Testmodus Grey-Box (Testkonto + Architektur-Briefing)
Rules of Engagement Kein DoS, kein Social Engineering, Testfenster 07:00–19:00 MEZ
Berichtsdatum 2026-03-10
Retest-Datum 2026-03-17

2. Management Summary

Das Engagement bewertete die externe Angriffsfläche und das kundenseitige Portal, das für ungefähr 450 Kunden die Sendungsverfolgung abwickelt. Die Tester identifizierten 11 Feststellungen: 1 kritisch, 2 hoch, 4 mittel, 3 niedrig und 1 informativ.

Die schwerwiegendste Feststellung ist eine Insecure Direct Object Reference (IDOR) in der Sendungs-API (PT-2026-01-001), die einem authentifizierten Kunden ermöglichte, Sendungsdaten anderer Kunden durch Hochzählen einer internen ID zu lesen. Das Problem war ohne Rate Limiting reproduzierbar und betraf rund 60.000 Datensätze.

Das Gesamt-Sicherheitsniveau ist mittel. Infrastruktur-Hardening und TLS-Konfiguration entsprechen dem Branchenstandard. Die Hauptschwäche liegt in der anwendungsseitigen Autorisierung. Alle kritischen und hohen Feststellungen wurden während des Engagements behoben und im Retest am 2026-03-17 verifiziert.

3. Übersicht der Feststellungen

ID Titel Schweregrad CVSS Status
PT-2026-01-001 IDOR in Sendungs-API — horizontaler Zugriff über Kunden hinweg Kritisch 9,1 Behoben
PT-2026-01-002 Stored XSS im Kommentarfeld der Sendung Hoch 8,2 Behoben
PT-2026-01-003 Fehlendes Rate Limit auf Login-Endpunkt Hoch 7,5 Behoben
PT-2026-01-004 Veraltetes jQuery (3.4.1) mit bekannter XSS Mittel 6,1 Behoben
PT-2026-01-005 HTTP-Security-Header unvollständig (kein CSP, kein HSTS-Preload) Mittel 5,3 Behoben
PT-2026-01-006 Verbose Error Messages zeigen Stack-Traces Mittel 5,0 Behoben
PT-2026-01-007 Session-Cookie ohne SameSite-Attribut Mittel 4,8 Behoben
PT-2026-01-008 Informationsoffenlegung über /api/health-Endpunkt Niedrig 3,1 Akzeptiert (Risiko dokumentiert)
PT-2026-01-009 TLS 1.1 auf einem Edge-Node noch aktiviert Niedrig 3,1 Behoben
PT-2026-01-010 Benutzername-Enumeration über Passwort-Reset Niedrig 3,7 In Bearbeitung — fällig 2026-04-30
PT-2026-01-011 Fehlende robots.txt (informativ) Info Akzeptiert

4. Detailfeststellungen (Auszug)

PT-2026-01-001 — IDOR in Sendungs-API

Schweregrad: Kritisch — CVSS 9,1 — CWE-639

Betroffen: GET /api/v1/shipments/{id}

Beschreibung: Die Sendungs-API verwendet fortlaufende Integer-IDs und prüft nicht, ob der authentifizierte Benutzer Eigentümer der angeforderten Sendung ist. Ein Kunde mit gültigem API-Token konnte durch Iteration der IDs beliebige Sendungsdaten anderer Kunden abrufen.

Reproduktion:

  1. Mit dem Testkonto testcustomer@cobalt.dev authentifizieren.
  2. GET /api/v1/shipments/102834 — liefert die eigene Sendung (HTTP 200).
  3. GET /api/v1/shipments/102833 — liefert die Sendung eines anderen Kunden (HTTP 200) inklusive Empfängername, Adresse und Trackingstatus.

Auswirkung: Vertraulichkeitsverletzung für alle Kunden des Portals. Betroffen sind Namen, Lieferadressen und Sendungsinhaltsbeschreibungen für rund 60.000 Datensätze. Potenzielle Verletzung nach DSGVO Art. 32/33.

Empfehlung:

  • Serverseitige Eigentümerprüfung durchsetzen (shipment.customer_id == current_user.customer_id).
  • Fortlaufende IDs durch UUIDs für externe Referenzen ersetzen.
  • Automatisierten Autorisierungstest in die CI-Pipeline aufnehmen.

Behebung: Eigentümerprüfung am 2026-03-04 ausgerollt. UUID-Migration für Q2 geplant. Im Retest verifiziert — Versuche, fremde Sendungen abzurufen, liefern jetzt HTTP 403.

PT-2026-01-002 — Stored XSS im Kommentarfeld der Sendung

Schweregrad: Hoch — CVSS 8,2 — CWE-79

Betroffen: POST /api/v1/shipments/{id}/comments

Beschreibung: Das Kommentarfeld sanitisierte oder kodierte HTML nicht. Ein Angreifer konnte eine Payload speichern, die im Browser jeder Person ausgeführt wird, die die Sendung ansieht.

Proof of Concept: <img src=x onerror=alert(document.cookie)> wurde gespeichert und beim Ansehen ausgeführt.

Auswirkung: Session-Hijacking von Kundenservice-Mitarbeitenden, die Kommentare ansehen.

Behebung: Output-Encoding über Auto-Escape der Template-Engine. Input-Validierung mit Allowlist. Im Retest verifiziert.

PT-2026-01-003 — Fehlendes Rate Limit auf Login

Schweregrad: Hoch — CVSS 7,5 — CWE-307

Beschreibung: Der Login-Endpunkt akzeptiert unbegrenzte Versuche ohne CAPTCHA oder Sperrung. Der Tester führte 2.000 Anfragen in 60 Sekunden ohne Drosselung durch.

Empfehlung: Rate Limit pro IP und pro Konto. Temporäre Kontosperre nach 10 Fehlversuchen.

Behebung: Rate Limiting (10 Anfragen/min pro IP, 5 Fehlversuche/15 min pro Konto) am 2026-03-06 ausgerollt. Im Retest verifiziert.

(Feststellungen 004–011 folgen derselben Struktur; für diese Vorlage gekürzt.)

5. Außerhalb des Scope / Einschränkungen

  • Internes Netzwerk und Active Directory waren nicht im Scope.
  • Die Mobile App (iOS + Android) war nicht im Scope.
  • Last- und Denial-of-Service-Tests waren ausdrücklich ausgeschlossen.
  • Der Test erfolgte während der Geschäftszeiten mit im SIEM sichtbarem Traffic — keine verdeckte Bewertung.

6. Retest-Ergebnisse (2026-03-17)

Cobalt Alliance führte einen Retest für die 10 behobenen Feststellungen durch. Alle retesteten Feststellungen wurden als behoben bestätigt. Feststellung PT-2026-01-010 (Benutzername-Enumeration) war zum Retest noch nicht behoben und bleibt offen mit Fälligkeit 2026-04-30.

7. Maßnahmen und Nachverfolgung

Alle Feststellungen sind im Schwachstellenregister und wo zutreffend im RTP erfasst:

  • Offen: PT-2026-01-010 (im Register als VUL-2026-PT01 verfolgt).
  • Akzeptiert: PT-2026-01-008, PT-2026-01-011 — akzeptiert durch die ISB mit dokumentierter Begründung.
  • Geschlossen: alle übrigen.

8. Fazit

Das Engagement hat seine Ziele erreicht. Die kritische IDOR-Feststellung war die schwerwiegendste und wurde innerhalb des Engagement-Fensters behoben, wodurch eine wahrscheinlich DSGVO-meldepflichtige Offenlegung verhindert wurde. Die Gesamt-Autorisierungslogik des Portals sollte in der nächsten Entwicklungsiteration ganzheitlich überprüft und ein automatisierter Autorisierungstest in die CI-Pipeline aufgenommen werden.

Nächster Pentest: geplant für 2026-Q3 (internes Netzwerk + Active Directory).


Unterschrift: M. Tanaka, Lead Penetration Tester, Cobalt Alliance Security GmbH — 2026-03-10. Zur Kenntnis genommen: Anna Weber, ISB, Nordwind Logistics GmbH — 2026-03-18.

Quellen

Abgedeckte ISO-27001-Kontrollen

Häufig gestellte Fragen

Wie oft muss ein Pentest durchgeführt werden?

ISO 27001 schreibt keine feste Frequenz vor, aber A.8.8 erwartet technische Schwachstellenprüfungen. In der Praxis hat sich ein jährlicher Rhythmus bewährt, ergänzt durch anlassbezogene Tests nach größeren Änderungen. Viele Zertifizierungsstellen erwarten mindestens einen Pentest pro Jahr.

Was gehört in einen professionellen Pentest-Bericht?

Engagement Summary (Scope, Methodik, Testdaten), Executive Summary für die Geschäftsleitung, Findings-Übersicht mit Schweregrad und Status, Detailbeschreibungen mit Reproduktionsschritten, Retest-Ergebnisse und eine Maßnahmentabelle. Unsere Vorlage deckt alle Teile ab.

Wer sollte den Bericht erhalten?

Der Bericht ist vertraulich. Er geht an die ISB, die Geschäftsleitung und das Entwicklungsteam (soweit betroffen). Auditor:innen erwarten Einsicht in den Bericht und die Nachverfolgung der Findings.

Was passiert mit Findings, die nicht sofort behoben werden können?

Sie werden im Schwachstellenregister erfasst, mit einem SLA versehen und nachverfolgt. Die Vorlage enthält eine Status-Spalte (Remediated, In Progress, Accepted) und eine Verknüpfung zum Risikobehandlungsplan für akzeptierte Risiken.