Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
writehat — Uno strumento di reporting per pentest scritto in Python. Liberati da Microsoft Word. | Kitploit
Strumenti/GitHubGitHub/blacklanternsecurity/writehat
Penetration TestingUtilità e FrameworkApprendimento e Formazione
GitHubblacklanternsecurity/writehat

writehat

Uno strumento di reporting per pentest scritto in Python. Liberati da Microsoft Word.

Vedi Repository
1.5k253126 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

WriteHat WriteHat è uno strumento di reporting che elimina Microsoft Word (e molte ore di sofferenza) dal processo di redazione dei report. Markdown --> HTML --> PDF. Creato da penetration tester, per penetration tester - ma può essere utilizzato per generare qualsiasi tipo di report. Scritto in Django (Python 3).

Caratteristiche:

  • Genera senza sforzo splendidi report di penetration test
  • Costruttore di report drag-and-drop in tempo reale
  • Supporto Markdown - inclusi blocchi di codice, tabelle, ecc.
  • Ritaglia, annota, didascalia e carica immagini
  • Sfondo / piè di pagina personalizzabile
  • Assegna operatori e monitora lo stato delle singole sezioni del report
  • Possibilità di clonare e creare modelli di report
  • Database dei risultati
  • Supporta più tipi di punteggio (CVSS 3.1, DREAD)
  • Può generare facilmente più report dallo stesso insieme di risultati
  • Il design estensibile consente agli utenti esperti di creare sezioni di report altamente personalizzate
  • Integrazione LDAP

writehat_report

Prerequisiti di installazione:

  • Installa docker e docker-compose
    • Di solito possono essere installati usando apt, pacman, dnf, ecc.
    $ sudo apt install docker.io docker-compose
    

Distribuzione di WriteHat (Il modo rapido e semplice, per test):

WriteHat può essere distribuito con un singolo comando:

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

Accedi su https://127.0.0.1 (predefinito: admin / PLEASECHANGETHISFORHEAVENSSAKE)

Distribuzione di WriteHat (Il modo corretto):

  1. Installa Docker e Docker Compose

  2. Clona il repository WriteHat in /opt

    $ cd /opt
    $ git clone https://github.com/blacklanternsecurity/writehat
    $ cd writehat
    
  3. Crea password sicure in writehat/config/writehat.conf per:

    • MongoDB (inserisci anche in docker-compose.yml)
    • MySQL (inserisci anche in docker-compose.yml)
    • Django (usato per crittografare i cookie, ecc.)
    • Utente amministratore Nota: Nient'altro oltre alle password deve essere modificato se si utilizza la configurazione predefinita Nota: Non dimenticare di impostare i permessi su writehat/config/writehat.conf e docker-compose.yml: (chown root:root; chmod 600)
  4. Aggiungi il nome host desiderato a allowed_hosts in writehat/config/writehat.conf

  5. (Opzionale) Sostituisci i certificati SSL autofirmati in nginx/:

    • writehat.crt
    • writehat.key
  6. Verifica che tutto funzioni:

    $ docker-compose up --build
    

    Nota: Se si utilizza una VPN, è necessario disconnettersi dalla VPN la prima volta che si avviano i servizi con docker-compose. Questo per consentire a docker di creare correttamente la rete virtuale.

  7. Installa e attiva il servizio Systemd:

    Questo avvierà WriteHat automaticamente all'avvio

    $ sudo cp writehat/config/writehat.service /etc/systemd/system/
    $ sudo systemctl enable writehat --now
    
  8. Monitora i log del servizio:

    $ sudo journalctl -xefu writehat.service
    
  9. Crea utenti

    Vai su https://127.0.0.1/admin dopo aver effettuato l'accesso con l'utente amministratore specificato in writehat/config/writehat.conf Nota: Ci sono alcune azioni che solo un amministratore può eseguire (ad esempio i backup del database). Un utente amministratore viene creato automaticamente dal nome utente e dalla password in writehat/config/writehat.conf, ma puoi anche promuovere un utente LDAP ad amministratore:

    # Entra nel container dell'app
    $ docker-compose exec writehat bash
    
    # Promuovi l'utente ed esci
    $ ./manage.py ldap_promote <ldap_username>
    $ exit
    

Terminologia

Ecco le spiegazioni di base per alcuni termini di WriteHat che potrebbero non essere ovvi.

Engagement
 ├─ Customer
 ├─ Finding Group 1
 │   ├─ Finding
 │   └─ Finding
 ├─ Finding Group 2
 │   ├─ Finding
 │   └─ Finding
 ├─ Report 1
 └─ Report 2
     └─ Page Template

Engagement

Un Engagement è il luogo in cui viene creato il contenuto per il cliente. Qui avviene il lavoro: creazione di report e inserimento dei risultati.

Report

Un Report è una disposizione modulare e gerarchica di Componenti che può essere facilmente aggiornata tramite un'interfaccia drag-and-drop, per poi essere renderizzata in HTML o PDF. Un engagement può avere più Report. Un Page Template può essere utilizzato per personalizzare lo sfondo e il piè di pagina. Un Report può anche essere convertito in un Report Template.

Componente del Report

Un Componente del report è una sezione o un modulo del report che può essere trascinato/rilasciato all'interno del creatore di report. Esempi includono "Pagina del titolo", "Markdown", "Risultati", ecc. Ci sono molti componenti predefiniti, ma puoi crearne di tuoi. (Sono solo HTML/CSS + Python, quindi è abbastanza facile. Vedi la guida qui sotto)

Report Template

Un Report Template può essere utilizzato come punto di partenza per un Report (in un Engagement). I Report possono anche essere convertiti in Report Template.

Finding Group

Un Finding Group è una raccolta di risultati che vengono valutati allo stesso modo (ad esempio CVSS o DREAD). Puoi creare più gruppi di risultati per engagement (ad esempio "Risultati tecnici" e "Risultati finanziari"). Quando inserisci i risultati nel Report (tramite il Componente "Risultati", ad esempio), devi selezionare quale Finding Group vuoi popolare in quel Componente.

Page Template

Un Page Template ti permette di personalizzare le immagini di sfondo e i piè di pagina del report. Puoi impostare un Page Template come predefinito e verrà applicato globalmente a meno che non venga sovrascritto a livello di Engagement o Report.

Scrittura di componenti di report personalizzati

report_creation Ogni componente del report è composto da:

  1. Un file Python in writehat/components/
  2. Un template HTML in writehat/templates/componentTemplates/
  3. Un file CSS in writehat/static/css/component/ (opzionale)

Consigliamo di fare riferimento ai file esistenti in queste directory; funzionano bene come punti di partenza / esempi.

Un semplice componente personalizzato sarebbe simile a questo:

components/CustomComponent.py:

from .base import *

class CustomComponentForm(ComponentForm):

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


class Component(BaseComponent):

    default_name = 'Custom Report Component'
    formClass = CustomComponentForm

    # the "templatable" attribute decides whether or not that field
    # gets saved if the report is ever converted into a template
    fieldList = {
        'summary': StringField(markdown=True, templatable=True),
    }

    # make sure to specify the HTML template
    htmlTemplate = 'componentTemplates/CustomComponent.html'

    # Font Awesome icon type + color (HTML/CSS)
    # This is just eye candy in the web app
    iconType = 'fas fa-stream'
    iconColor = 'var(--blue)'

    # the "preprocess" function is executed when the report is rendered
    # use this to perform any last-minute operations on its data
    def preprocess(self, context):
Scarica lo strumento