Pentest-Bericht — was ihn professionell macht
Der Auftrag ist nicht beendet, wenn der letzte Exploit funktioniert. Er ist beendet, wenn eine Führungskraft Ihre Schlussfolgerung im Vorstand wiederholen kann, ein Entwickler ohne Rückfrage korrigieren kann und ein Auditor jeden Nachweis zurückverfolgen kann. Der Bericht ist das Liefergut. Der Rest ist Rohmaterial.
Ein Nessus-Export, ein sqlmap-Dump oder ein Ordner voller Screenshots lässt sich nicht liefern. Ohne Behebung pro Feststellung, ohne wiederholbaren Nachweis, ohne vertretbare Reihenfolge haben Sie ein Inventar. Der Kunde hat für eine Entscheidung bezahlt.
Was Sie nach dieser Lektion können
- Die sechs Teile eines Berichts benennen und wissen, welches Missverständnis jeder davon verhindert.
- Für drei Zielgruppen schreiben, ohne ihre Sprachen zu vermischen.
- Die Vorlage einer Feststellung von Schwachstelle zu Schwachstelle identisch ausfüllen.
- Eine Priorität P1 bis P4 anhand der geschäftlichen Auswirkung festlegen, nicht allein anhand des CVSS-Scores.
- Formulierungen erkennen, die Angst machen, lügen oder nicht reproduzierbar sind.
1. Der Bericht ist das Produkt
In zehn Modulen haben Sie gesammelt: ein Zielprofil, Ports, CVE-Tickets, eine SQL-Injection, ein gestohlenes Token, einen BloodHound-Pfad. Keines dieser Objekte ist für die Person lesbar, die den Scheck für die Behebung unterschreibt.
Der Bericht leistet drei Umwandlungen, immer dieselben:
| Rohmaterial | Was der Bericht daraus macht | Was das verhindert |
|---|---|---|
| Tool-Ausgabe | Ein datierter, nachvollziehbarer Nachweis | „Wir haben nicht verstanden, was Sie da gestartet haben." |
| CVSS-Score | Eine geschäftliche Priorität P1–P4 | „Alles ist kritisch, also ist nichts kritisch." |
| Funktionierender Exploit | Eine testbare Korrekturmaßnahme | „Danke, das sehen wir uns im nächsten Sprint an." |
Ein Pentester, der „nicht gerne schreibt", liefert unvollendete Arbeit. Der Kunde kauft nicht Ihr Kali. Er kauft einen Satz, den er vor seinem Vorstand vertreten kann: hier ist das Risiko, hier ist die Frist, hier sind die Kosten des Nichtstuns.
2. Drei Zielgruppen, drei Lesarten
Dasselbe PDF zirkuliert. Es wird nicht auf dieselbe Weise gelesen.
Die Geschäftsleitung liest zwei Seiten. Sie will das Fazit an erster Stelle, die Anzahl der P1, die drei Risiken, die den Umsatz oder die Compliance bedrohen, und was diese Woche entschieden werden muss. Sie will weder UNION SELECT noch CWE noch den Namen sqlmap.
Das technische Team öffnet die Feststellungen. Es will die genaue Anfrage, die beobachtete Antwort, die zu ändernde Datei, den Test, der beweist, dass es behoben ist. Es ignoriert die Zusammenfassung, wenn die Fiches unklar sind.
Das Audit (intern, Endkunde, Versicherer, ISO 27001) prüft, ob Sie sich an die RoE gehalten haben, ob die Methode einen Namen trägt, ob jeder Nachweis datiert ist, ob die Referenzen existieren. Es liest die Anhänge, die sonst niemand öffnet.
Die Executive Summary wird verfasst, nachdem die Feststellungen geordnet sind. Sonst erzählen Sie die Geschichte in der Reihenfolge der Entdeckung — interessant für Sie, unlesbar für eine Führungskraft. Zuerst das Fazit, dann die Erzählung.
Die Schreibregel: Eine Information erscheint nur auf der Ebene, die etwas damit anfangen kann. Der MD5-Hash von admin@juice-sh.op gehört in die Feststellung und in den Anhang. In der Zusammenfassung schreibt man: Das Administratorkonto des Shops ist ohne Authentifizierung aus dem Internet abrufbar.
3. Die Referenzstruktur — sechs Teile, nicht sieben
Sie behalten exakt diese Reihenfolge bei. Die Lesbarkeit entsteht durch die Wiederholung, von Auftrag zu Auftrag, von Dienstleister zu Dienstleister.
3.1. Executive Summary — ein bis zwei Seiten
Sie steht für sich allein. Ein Leser, der auf Seite 2 aufhört, muss entscheiden können.
Verpflichtender Inhalt:
- Kontext in drei Zeilen — wer hat beauftragt, welches Ziel, welcher Zeitraum.
- Fazit an erster Stelle — Sicherheitslage unzureichend, akzeptabel mit Vorbehalten, oder beherrscht. Ein einziges Adjektiv, begründet durch die P1.
- Zählung — wie viele P1, P2, P3, P4.
- Drei geschäftliche Risiken — Sätze ohne Fachjargon, jeder mit einer nummerierten Feststellung verknüpft.
- Entscheidungen der Woche — Rotation von Geheimnissen, Schließung eines Endpunkts, Abschaltung eines vergessenen Admin-Zugangs.
Was hier niemals steht: eine Werkzeugliste, eine CVSS-Tabelle, ein Screenshot, eine Drohung („ein russischer Angreifer könnte…"). Sie dokumentieren, was Sie getan haben, kein Filmszenario.
3.2. Umfang und Methodik
Das ist der im Nachhinein noch einmal gelesene Vertrag. Er schützt den Kunden (Sie haben dies nicht angerührt) und Sie (man wirft Ihnen nicht vor, jenes vergessen zu haben).
| Rubrik | Was hineingehört |
|---|---|
| Eingeschlossener Umfang | Domänen, IPs, Anwendungen, bereitgestellte Konten. |
| Ausgeschlossener Umfang | SaaS-Drittanbieter, Tochtergesellschaften, DoS, Phishing, sofern nicht autorisiert. |
| RoE | Zeitfenster, begrenzte Extraktion, Verbot der Datenänderung. |
| Methode | OWASP Testing Guide, PTES, oder der interne Leitfaden des Kunden — ein Name. |
| Werkzeuge | Kurze Liste, mit der Rolle jedes Werkzeugs. Kein Kali-Lebenslauf. |
| Grenzen | Was Sie nicht die Zeit oder das Recht hatten zu testen. |
Eine schriftlich festgehaltene Grenze ist besser als eine „vergessene" Schwachstelle, die der Kunde sechs Monate später entdeckt. „Die authentifizierten APIs wurden nicht getestet: Es wurde kein Konto bereitgestellt" ist ein professioneller Satz.
3.3. Gesamtüberblick
Zwei Objekte, kein Roman.
Heatmap — Feststellungen nach Thema und Priorität gekreuzt. Der Blick fällt auf die dunklen Felder.
| Thema | P1 | P2 | P3 | P4 |
|---|---|---|---|---|
| Anwendung | 2 | 1 | 1 | 0 |
| Identität | 0 | 1 | 1 | 0 |
| Netzwerk | 0 | 0 | 1 | 1 |
| Cloud | 0 | 0 | 0 | 1 |
Haltungsindikator — ein Satz, kein Marketing-Score. „Sicherheitslage unzureichend: Zwei P1 sind ohne Konto aus dem Internet ausnutzbar."
Ein Angriffsabsatz verbindet die Feststellungen: von der öffentlichen Suche zur Administratorsitzung und dann zu den Bestellungen. Hier wird der in Modul 10 (laterale Bewegungen) oder Modul 7 (OWASP) gesehene Pfad zu einer geschäftlichen Geschichte. Nicht in der Zusammenfassung.
3.4. Detaillierte Feststellungen
Eine Feststellung pro Schwachstelle und pro Angriffsfläche. Zwei SQL-Injections auf zwei Endpunkten = zwei Fiches. Dieselbe Injection, gesehen durch sqlmap und durch Burp = eine Fiche, zwei Nachweise.
Die Vorlage steht in Abschnitt 4. Sie erfinden sie nicht. Sie füllen sie aus.
3.5. Priorisierte Empfehlungen
Die Feststellungen sagen, was hier zu korrigieren ist. Dieses Kapitel sagt, in welcher Reihenfolge das System saniert wird.
Man gruppiert nach Thema, nicht nach Fiche-Nummer:
- Identität (Passwörter, MFA, Servicekonten);
- Anwendung (Injections, Zugriffskontrolle, Sitzung);
- Netzwerk (Exposition, Segmentierung);
- Cloud (Rollen, Geheimnisse, Speicher).
Eine strukturelle Korrektur — alle SQL-Abfragen laufen über parametrisierte Abfragen — ist besser als sechs kopierte Flickschustereien. Der Plan über 3, 6 und 12 Monate wird hier verfasst; der Workshop bringt ihn in Form.
3.6. Anhänge
Protokolle, vollständige Anfragen, datierte Screenshots, Tool-Exporte. Der Hauptteil des Berichts verweist auf den Anhang. Er kopiert ihn nicht ab.
Namenskonvention, ab der ersten Datei:
C01-2026-04-18-recherche-union-select.png
C01-2026-04-18-req-search.txt
ANNEXE-A-nmap-10.10.10.0-24.txt
Ein Screenshot ohne Datum und ohne Feststellungs-ID beweist nichts an dem Tag, an dem der Kunde sagt: „Das war nicht mehr da."
4. Die Vorlage einer Feststellung — sieben Felder, immer
Jede Feststellung folgt exakt derselben Struktur. Ein technischer Leser muss von Fiche 2 zu Fiche 6 springen können, ohne suchen zu müssen, wo der Nachweis steht.
## C-01 — SQL-Injection auf /api/recherche
- Schweregrad: P1 — geschäftliche Begründung in einem Satz
- Kontext: was das Ziel tut, in einem Satz
- Nachweis: Anfrage, Antwort, datierter Screenshot
- Geschäftliche Auswirkung: was ein Angreifer konkret erlangt
- Behebung: präzise Maßnahme, Abschlusstest, Aufwand
- Referenzen: CWE, OWASP, Kundendokument
4.1. Kurztitel — Aktion + Angriffsfläche
Der Titel wird in einem Inhaltsverzeichnis und in einem Jira-Ticket gelesen. Er beginnt mit dem Verb des Defekts, nicht mit dem Werkzeug.
| Unlesbar | Lesbar |
|---|---|
| SQLi sqlmap kritisch !!! | SQL-Injection auf /api/recherche |
| Auth-Problem | Fehlende Zugriffskontrolle bei GET /api/commandes/{id} |
| CVE-2017-0144 | Remotecodeausführung via SMBv1 auf SRV-FICHIERS |
Kein Ausrufezeichen. Kein „kritisch" im Titel: Die Priorität ist ein eigenes Feld.
4.2. Schweregrad — P1 bis P4, nicht die Zahl allein
Der Kurs verwendet vier Liefer-Prioritäten. Der CVSS informiert, er entscheidet nicht.
| Priorität | Richtwert Frist | Entscheidendes Kriterium |
|---|---|---|
| P1 | 24 Stunden bis 7 Tage | Nachgewiesene Kompromittierung, oder sensible Daten ohne Authentifizierung offengelegt. |
| P2 | 30 bis 90 Tage | Realistische Ausnutzung, klare Auswirkung, höhere Voraussetzungen (Konto, internes Netzwerk). |
| P3 | 3 bis 6 Monate | Härtung, technische Schuld, unvollständige Angriffskette. |
| P4 | Backlog | Informativ, offengelegte Version ohne Exploit, Best Practice. |
Der CVSS 3.1 wird trotzdem berechnet. Man schreibt ihn mit dem Vektor in die Fiche. Man ergänzt, warum man davon abweicht, wenn die geschäftliche Priorität divergiert.
Bereits in Modul 7 gesehenes Beispiel: eine nicht authentifizierte SQL-Injection, die den Hash des Administrators liefert, ergibt oft 7,5 (hohe Vertraulichkeit, keine Integrität, wenn Sie nur gelesen haben). Das ist High, nicht Critical. Es ist trotzdem ein P1: Das Konto, das den Shop steuert, ist von Internet aus, mit einer einzigen Anfrage, gefallen.
Das Gegenteil gibt es auch. Ein CVSS 9,8 auf einem isolierten Dienst, ohne Daten, gefiltert durch einen Sprung, den Sie nicht überwunden haben, kann auf P2 zurückfallen, wenn die RoE Sie vor der Auswirkung gestoppt hat. Sie schreiben das. Sie blähen nicht auf.
4.3. Kontext — ein Satz zur Funktion
„/api/recherche versorgt den öffentlichen Katalog des Shops, ohne Sitzung."
Dieser Satz verhindert folgenden Dialog: Der Entwickler glaubt, Sie hätten das interne Admin-Panel getestet, der IT-Leiter glaubt, es sei die Vitrine-Website. Der Kontext verankert die Angriffsfläche im Geschäftsbetrieb.
4.4. Nachweis — wiederholbar, nicht dekorativ
Ein Screenshot illustriert. Er genügt nicht. Der minimale Nachweis ist die Anfrage, die, wenn man sie kopiert, das Ergebnis reproduziert.
Drei akzeptierte Formen, in dieser Präferenzreihenfolge:
- ein kopierbares
curl; - eine rohe HTTP-Anfrage (Burp);
- eine Schritt-für-Schritt-Tastaturanleitung, wenn der Angriff rein grafisch ist.
Die beobachtete Antwort steht daneben: HTTP-Code, nützlicher Auszug, nicht die 200 KB JSON. Wenn die RoE die Extraktion begrenzt — --stop=3 in Modul 7 —, erinnern Sie im Nachweis daran. Das zeigt, dass Sie entschieden haben, die Datenbank nicht zu leeren.
4.5. Geschäftliche Auswirkung — was sich für das Unternehmen ändert
Die Auswirkung ist nicht „Verlust der Vertraulichkeit". Es ist ein Satz, den ein Jurist oder ein IT-Leiter zitieren kann.
| Technisch | Vertretbare Auswirkung |
|---|---|
Dump von Users | Lesen der Kunden-E-Mails und des Administrator-Geheimnisses; Übernahme des Back-Office. |
| Gespeicherte XSS bei einer Bewertung | Diebstahl der Sitzung eines Administrators, der Bewertungen moderiert. |
DMARC auf p=none | Ein Dritter versendet Nachrichten, die scheinbar von der Domäne stammen. |
| Offene SMB-Freigabe | Lesen von HR-Ordnern vom Rechner eines Praktikanten aus. |
Sie bleiben bei dem, was Sie erlangt haben, nicht bei dem, was ein Angreifer „anschließend könnte". Die weiterführende Kette gehört in den Gesamtüberblick, nicht in jede einzelne Fiche.
Loi 25 (Québec), DSGVO, PCI-DSS: Man nennt sie nur, wenn die betroffenen Daten ihnen unterliegen. Der Hash eines Test-Shop-Administrators ist kein „PCI-Verstoß". E-Mails echter Kunden hingegen schon, und der Bericht sagt das.
4.6. Behebung — eine Maßnahme, ein Test, ein Aufwand
Ohne Empfehlung ist die Fiche eine Anklage. Die Behebung hat drei Eigenschaften:
- Präzise — parametrisierte Abfragen für den Parameter
q, nicht „die Anwendung absichern". - Testbar — das
curlaus der Feststellung muss eine leere Liste oder ein 400 liefern, keineUsers-Zeile mehr. - Begrenzt — Aufwand in Personentagen, Kompetenz (Dev, Ops, IAM), Abhängigkeit (Produktionsfenster).
Eine WAF, die UNION SELECT blockiert, ist eine Kompensation. Sie ist nicht die Korrektur. Sie können sie empfehlen, bis der Fix vorliegt, verkaufen sie aber nicht als Schließung des P1.
4.7. Referenzen
| Typ | Beispiel | Wozu es dient |
|---|---|---|
| CWE | CWE-89 | Der Entwickler findet das Korrekturmuster. |
| OWASP | A03:2021 Injection | Der CISO ordnet die Feststellung seinem Programm zu. |
| CVE | nur wenn es eine gibt | Der Hersteller-Patch hat eine Kennung. |
| Kundendokument | „Passwortrichtlinie v3" | Sie zeigen die Abweichung von ihrer Regel. |
Eine selbst entwickelte Injection hat oft keine CVE. Sich CVE-2024-XXXX auszudenken ist ein Fehler. CWE + OWASP genügen.
5. Priorisieren: Der CVSS informiert, das Geschäft entscheidet
Modul 5 hat es bereits gesagt: Der Basis-Score kennt Ihren Kunden nicht. Der Bericht ist der Ort, an dem dieser Satz zu einer Entscheidung wird.
Was Sie berechnen
- CVSS-3.1-Vektor (AV, AC, PR, UI, S, C, I, A);
- Basis-Score;
- gegebenenfalls den Umgebungs-Score, falls der Kunde gesagt hat, dass die Vertraulichkeit dieser Anwendung mehr wiegt als ihre Verfügbarkeit.
Was Sie entscheiden
- Erreichbarkeit aus dem Internet oder nur intern;
- Authentifizierung erforderlich oder nicht;
- Art der Daten (Admin-Konto, personenbezogene Daten, Cloud-Geheimnisse);
- Einfachheit: eine
curl-Zeile oder eine Kette aus drei Voraussetzungen; - Existenz eines öffentlichen Exploits (EPSS, KEV-Katalog) — nützlich für eine CVE, nutzlos für eine selbstgebaute SQLi.
Vier klassische Abweichungen, schwarz auf weiß in der Fiche festzuhalten:
| Situation | Typischer CVSS | Gelieferte Priorität | Warum |
|---|---|---|---|
| Öffentliche SQLi, Konten-Dump | 7,5 | P1 | Admin + E-Mails, ohne Konto. |
| Theoretische RCE, isolierter Dienst | 9,8 | P2 | Kein nachgewiesener Zugriff auf Daten. |
| Reflektierte XSS auf internem Tool | 6,1 | P3 | Voraussetzung: Konto und klickendes Opfer. |
Banner Server: nginx/1.18.0 | 5,3 | P4 | Kein Exploit gezeigt. |
„Eine kriminelle Gruppe wird heute Nacht Ihre Kasse leeren" ist keine Auswirkung. Das ist Werbung. Sie schreiben, was der Nachweis zeigt. Der Kunde entscheidet über das Budget. Wenn Sie aufblähen, wird der nächste Bericht — Ihrer oder der eines Kollegen — nicht mehr geglaubt.
6. Was einen Amateur-Bericht von einem bezahlbaren Bericht trennt
Vier Kriterien, aus dem Index der Woche übernommen. Sie dienen als gedankliches Raster, bevor das PDF versendet wird.
Eine Behebung pro Feststellung. Jede Fiche endet mit einer Maßnahme und einem Test. Übergreifende Maßnahmen leben im Empfehlungskapitel, zusätzlich, nicht anstelle davon.
Reproduzierbare Nachweise. Ein Dritter — ein Entwickler, ein Auditor, Sie selbst in sechs Monaten — spielt das curl erneut ab und sieht dieselbe Ergebnisklasse. Echte Geheimnisse werden maskiert (adm***@…, gekürzter Hash im Hauptteil, vollständig im Anhang unter NDA).
Eine vertretbare Priorisierung. Der IT-Leiter kann das P1 der Geschäftsleitung vorlegen, ohne dass Sie im Raum sind. Wenn Sie die Abweichung vom CVSS nicht in einem Satz begründen können, ist die Priorität schlecht.
Keine implizite Drohung. Man dokumentiert. Man verkauft keine Angst. Man vergleicht den Kunden nicht mit „dem, was man üblicherweise bei Billiganbietern sieht": Sie sind nicht sein Konkurrent.
Dazu kommen drei Berufsgewohnheiten:
- Stabile Nummerierung —
C-01ändert sich nicht mehr, sobald der Entwurf feststeht. Die Tickets des Kunden verweisen darauf. - Eine Stimme — nicht „wir haben gefunden" in einer Fiche und „das Offensiv-Team schätzt" in der nächsten.
- Fakten im Feststellungspräsens, Ratschläge im Imperativ — die Anfrage liefert drei Konten; parametrisieren Sie die Anfrage.
7. Verwechslungen, die eine Woche Umschreiben kosten
- Den Auftrag chronologisch erzählen. Der Kunde muss nicht Ihren Dienstagabend nacherleben. Er muss zuerst das Schlimmste sehen.
- Zwei Angriffsflächen in einer Fiche zusammenführen. Nicht wiedergutzumachen: Das Ticket landet im falschen Git-Repository.
- Einen Tool-Export als Feststellung einfügen.
sqlmapirrt sich. Modul 7 hat daran erinnert. Die Fiche nennt das Werkzeug als sekundären Nachweis, dascurlals primären. - Fachjargon in die Zusammenfassung packen. Sie verlieren die Geschäftsleitung ab Satz zwei; sie liest nicht weiter.
- Die RoE im PDF vergessen. Ohne Erinnerung an Zeitfenster und Verbote glaubt ein externer Leser, Sie hätten alles getestet.
- Eine Softwareversion zum P2 befördern. Eine Version ohne nachgewiesenen Exploit ist ein P4 oder eine Zeile im Gesamtüberblick.
- „Kritisch" elfmal schreiben. Das Wort verliert seinen Sinn. P1, P2, P3, P4 genügen.
- Personenbezogene Daten im Klartext im per E-Mail versendeten PDF liefern. Der Bericht darf nicht selbst zum Vorfall werden. Maskieren Sie, verschlüsseln Sie das Repository, halten Sie die Extraktionsklausel ein.
Was Sie sich merken sollten
Ein professioneller Bericht hat sechs Teile, immer in derselben Reihenfolge, und Feststellungen, immer nach derselben Vorlage. Er spricht zur Geschäftsleitung, zu den Technikern und zum Audit, ohne ihre Sätze zu vermischen. Die Priorität wird durch die geschäftliche Auswirkung begründet; der CVSS bleibt ein Vektor in der Fiche, kein Urteil. Jede Feststellung trägt einen wiederholbaren Nachweis und eine testbare Behebung. Ohne das haben Sie eine Liste. Die nächste Lektion nimmt die Rohnotizen einer SQL-Injection aus Modul 7 und verwandelt sie, Feld für Feld, in eine lieferbare Fiche.