Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
writehat — Ein Pentest-Berichtstool, geschrieben in Python. Befreien Sie sich von Microsoft Word. | Kitploit
Tools/GitHubGitHub/blacklanternsecurity/writehat
PenetrationstestsDienstprogramme & FrameworksLernen & Bildung
GitHubblacklanternsecurity/writehat

writehat

Ein Pentest-Berichtstool, geschrieben in Python. Befreien Sie sich von Microsoft Word.

Repository anzeigen
1.5k25312vor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

WriteHat WriteHat ist ein Berichtswerkzeug, das Microsoft Word (und viele Stunden Leid) aus dem Berichterstellungsprozess entfernt. Markdown --> HTML --> PDF. Entwickelt von Penetrationstestern, für Penetrationstester – kann aber zur Erstellung jeder Art von Bericht verwendet werden. Geschrieben in Django (Python 3).

Funktionen:

  • Mühelos schöne Pentest-Berichte erstellen
  • Drag-and-Drop-Berichtsersteller in Echtzeit
  • Markdown-Unterstützung – inklusive Codeblöcke, Tabellen, etc.
  • Bilder zuschneiden, annotieren, beschriften und hochladen
  • Anpassbarer Berichtshintergrund / Fußzeile
  • Bearbeiter zuweisen und Status für einzelne Berichtsabschnitte verfolgen
  • Möglichkeit, Berichte zu klonen und als Vorlagen zu verwenden
  • Ergebnisdatenbank
  • Unterstützt mehrere Bewertungstypen (CVSS 3.1, DREAD)
  • Kann einfach mehrere Berichte aus demselben Satz von Ergebnissen erstellen
  • Erweiterbares Design ermöglicht Power-Usern die Erstellung hochgradig angepasster Berichtsabschnitte
  • LDAP-Integration

writehat_report

Installationsvoraussetzungen:

  • Installieren Sie docker und docker-compose
    • Diese können in der Regel mit apt, pacman, dnf, usw. installiert werden.
    $ sudo apt install docker.io docker-compose
    

WriteHat bereitstellen (Der schnelle und einfache Weg, zum Testen):

WriteHat kann mit einem einzigen Befehl bereitgestellt werden:

$ git clone https://github.com/blacklanternsecurity/writehat && cd writehat && docker-compose up

Melden Sie sich unter https://127.0.0.1 an (Standard: admin / PLEASECHANGETHISFORHEAVENSSAKE)

WriteHat bereitstellen (Der richtige Weg):

  1. Installieren Sie Docker und Docker Compose

  2. Klonen Sie das WriteHat-Repository nach /opt

    $ cd /opt
    $ git clone https://github.com/blacklanternsecurity/writehat
    $ cd writehat
    
  3. Erstellen Sie sichere Passwörter in writehat/config/writehat.conf für:

    • MongoDB (auch in docker-compose.yml eintragen)
    • MySQL (auch in docker-compose.yml eintragen)
    • Django (wird zum Verschlüsseln von Cookies usw. verwendet)
    • Admin-Benutzer Hinweis: Außer den Passwörtern muss bei Verwendung der Standardkonfiguration nichts weiter geändert werden. Hinweis: Vergessen Sie nicht, die Berechtigungen für writehat/config/writehat.conf und docker-compose.yml einzuschränken: (chown root:root; chmod 600)
  4. Fügen Sie Ihren gewünschten Hostnamen zu allowed_hosts in writehat/config/writehat.conf hinzu

  5. (Optional) Ersetzen Sie die selbstsignierten SSL-Zertifikate in nginx/:

    • writehat.crt
    • writehat.key
  6. Testen Sie, ob alles funktioniert:

    $ docker-compose up --build
    

    Hinweis: Wenn Sie ein VPN verwenden, müssen Sie beim ersten Start der Dienste mit docker-compose vom VPN getrennt sein. Dies ist notwendig, damit Docker das virtuelle Netzwerk erfolgreich erstellen kann.

  7. Installieren und aktivieren Sie den Systemd-Dienst:

    Dadurch wird WriteHat automatisch beim Booten gestartet.

    $ sudo cp writehat/config/writehat.service /etc/systemd/system/
    $ sudo systemctl enable writehat --now
    
  8. Verfolgen Sie die Dienstprotokolle:

    $ sudo journalctl -xefu writehat.service
    
  9. Benutzer erstellen

    Navigieren Sie nach dem Einloggen mit dem in writehat/config/writehat.conf angegebenen Admin-Benutzer zu https://127.0.0.1/admin. Hinweis: Es gibt einige Aktionen, die nur ein Administrator ausführen kann (z. B. Datenbanksicherungen). Ein Admin-Benutzer wird automatisch aus dem Benutzernamen und Passwort in writehat/config/writehat.conf erstellt, aber Sie können auch einen LDAP-Benutzer zum Admin befördern:

    # In den App-Container einsteigen
    $ docker-compose exec writehat bash
    
    # Benutzer befördern und beenden
    $ ./manage.py ldap_promote <ldap_username>
    $ exit
    

Terminologie

Hier sind grundlegende Erklärungen für einige WriteHat-Begriffe, die möglicherweise nicht offensichtlich sind.

Engagement
 ├─ Kunde
 ├─ Ergebnisgruppe 1
 │   ├─ Ergebnis
 │   └─ Ergebnis
 ├─ Ergebnisgruppe 2
 │   ├─ Ergebnis
 │   └─ Ergebnis
 ├─ Bericht 1
 └─ Bericht 2
     └─ Seitenvorlage

Engagement

Ein Engagement ist der Ort, an dem Inhalte für den Kunden erstellt werden. Hier findet die Arbeit statt – Berichte erstellen und Ergebnisse erfassen.

Bericht

Ein Bericht ist eine modulare, hierarchische Anordnung von Komponenten, die über eine Drag-and-Drop-Oberfläche einfach aktualisiert und dann in HTML oder PDF gerendert werden kann. Ein Engagement kann mehrere Berichte haben. Eine Seitenvorlage kann verwendet werden, um Hintergrund und Fußzeile anzupassen. Ein Bericht kann auch in eine Berichtsvorlage umgewandelt werden.

Berichtskomponente

Eine Berichts-Komponente ist ein Abschnitt oder Modul des Berichts, der im Berichtsersteller per Drag & Drop an die gewünschte Stelle verschoben werden kann. Beispiele sind „Titelseite“, „Markdown“, „Ergebnisse“ usw. Es gibt viele integrierte Komponenten, aber Sie können auch eigene erstellen. (Es sind nur HTML/CSS + Python, also recht einfach. Siehe die Anleitung unten)

Berichtsvorlage

Eine Berichtsvorlage kann als Ausgangspunkt für einen Bericht (in einem Engagement) verwendet werden. Berichte können auch in Berichtsvorlagen umgewandelt werden.

Ergebnisgruppe

Eine Ergebnisgruppe ist eine Sammlung von Ergebnissen, die auf die gleiche Weise bewertet werden (z. B. CVSS oder DREAD). Sie können mehrere Ergebnisgruppen pro Engagement erstellen (z. B. „Technische Ergebnisse“ und „Finanzergebnisse“). Beim Einfügen der Ergebnisse in den Bericht (z. B. über die Komponente „Ergebnisse“) müssen Sie auswählen, welche Ergebnisgruppe diese Komponente füllen soll.

Seitenvorlage

Eine Seitenvorlage ermöglicht es Ihnen, Berichtshintergrundbilder und Fußzeilen anzupassen. Sie können eine Seitenvorlage als Standard festlegen, die dann global angewendet wird, es sei denn, sie wird auf Engagement- oder Berichtsebene überschrieben.

Eigene Berichtskomponenten schreiben

report_creation Jede Berichtskomponente besteht aus folgenden Teilen:

  1. Eine Python-Datei in writehat/components/
  2. Eine HTML-Vorlage in writehat/templates/componentTemplates/
  3. Eine CSS-Datei in writehat/static/css/component/ (optional)

Wir empfehlen, die vorhandenen Dateien in diesen Verzeichnissen als Referenz zu verwenden; sie eignen sich gut als Ausgangspunkte/Beispiele.

Eine einfache benutzerdefinierte Komponente würde so aussehen:

components/CustomComponent.py:

from .base import *

class CustomComponentForm(ComponentForm):

    summary = forms.CharField(label='Komponententext', widget=forms.Textarea, max_length=50000, required=False)
    field_order = ['name', 'summary', 'pageBreakBefore', 'showTitle']


class Component(BaseComponent):

    default_name = 'Benutzerdefinierte Berichtskomponente'
    formClass = CustomComponentForm

    # Das Attribut "templatable" entscheidet, ob dieses Feld
    # gespeichert wird, wenn der Bericht jemals in eine Vorlage umgewandelt wird.
    fieldList = {
        'summary': StringField(markdown=True, templatable=True),
    }

    # Stellen Sie sicher, dass die HTML-Vorlage angegeben wird.
    htmlTemplate = 'componentTemplates/CustomComponent.html'
Tool herunterladen