Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
writehat — Una herramienta de informes de pentest escrita en Python. Libérate de Microsoft Word. | Kitploit
Herramientas/GitHubGitHub/blacklanternsecurity/writehat
Pruebas de PenetraciónUtilidades y FrameworksAprendizaje y Educación
GitHubblacklanternsecurity/writehat

writehat

Una herramienta de informes de pentest escrita en Python. Libérate de Microsoft Word.

Ver Repositorio
1.5k25312hace 6 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

WriteHat WriteHat es una herramienta de informes que elimina Microsoft Word (y muchas horas de sufrimiento) del proceso de generación de informes. Markdown --> HTML --> PDF. Creada por probadores de penetración, para probadores de penetración, pero puede usarse para generar cualquier tipo de informe. Escrito en Django (Python 3).

Características:

  • Genere sin esfuerzo informes de pentest hermosos
  • Constructor de informes de arrastrar y soltar sobre la marcha
  • Soporte de Markdown - incluidos bloques de código, tablas, etc.
  • Recortar, anotar, subtitular y subir imágenes
  • Fondo / pie de página personalizable del informe
  • Asignar operadores y realizar un seguimiento de los estados de secciones individuales del informe
  • Capacidad de clonar y usar plantillas de informes
  • Base de datos de hallazgos
  • Soporta múltiples tipos de puntuación (CVSS 3.1, DREAD)
  • Puede generar fácilmente múltiples informes a partir del mismo conjunto de hallazgos
  • El diseño extensible permite a los usuarios avanzados crear secciones de informe altamente personalizadas
  • Integración LDAP

writehat_report

Requisitos previos de instalación:

  • Instalar docker y docker-compose
    • Normalmente se pueden instalar usando apt, pacman, dnf, etc.
    $ sudo apt install docker.io docker-compose
    

Desplegar WriteHat (La forma rápida y sencilla, para pruebas):

WriteHat se puede desplegar con un solo comando:

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

Inicie sesión en https://127.0.0.1 (por defecto: admin / PLEASECHANGETHISFORHEAVENSSAKE)

Desplegar WriteHat (La forma correcta):

  1. Instalar Docker y Docker Compose

  2. Clonar el repositorio de WriteHat en /opt

    $ cd /opt
    $ git clone https://github.com/blacklanternsecurity/writehat
    $ cd writehat
    
  3. Crear contraseñas seguras en writehat/config/writehat.conf para:

    • MongoDB (también ingrese en docker-compose.yml)
    • MySQL (también ingrese en docker-compose.yml)
    • Django (usado para cifrar cookies, etc.)
    • Usuario administrador Nota: No es necesario modificar nada más aparte de las contraseñas si está usando la configuración predeterminada Nota: No olvide restringir los permisos en writehat/config/writehat.conf y docker-compose.yml: (chown root:root; chmod 600)
  4. Agregue su nombre de host deseado a allowed_hosts en writehat/config/writehat.conf

  5. (Opcional) Reemplace los certificados SSL autofirmados en nginx/:

    • writehat.crt
    • writehat.key
  6. Pruebe que todo funcione:

    $ docker-compose up --build
    

    Nota: Si está usando una VPN, debe desconectarse de la VPN la primera vez que ejecute los servicios con docker-compose. Esto es para que docker pueda crear con éxito la red virtual.

  7. Instale y active el servicio systemd:

    Esto iniciará WriteHat automáticamente al arrancar

    $ sudo cp writehat/config/writehat.service /etc/systemd/system/
    $ sudo systemctl enable writehat --now
    
  8. Supervise los registros del servicio:

    $ sudo journalctl -xefu writehat.service
    
  9. Cree usuarios

    Navegue a https://127.0.0.1/admin después de iniciar sesión con el usuario administrador especificado en writehat/config/writehat.conf Nota: Hay algunas acciones que solo un administrador puede realizar (por ejemplo, copias de seguridad de la base de datos). Se crea automáticamente un usuario administrador a partir del nombre de usuario y la contraseña en writehat/config/writehat.conf, pero también puede promocionar a un usuario LDAP a administrador:

    # Enter the app container
    $ docker-compose exec writehat bash
    
    # Promote the user and exit
    $ ./manage.py ldap_promote <ldap_username>
    $ exit
    

Terminología

Aquí hay explicaciones básicas para algunos términos de WriteHat que pueden no ser obvios.

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

Engagement

Un Engagement es donde se crea contenido para el cliente. Aquí es donde ocurre el trabajo: crear informes e ingresar hallazgos.

Report

Un Report es un arreglo modular y jerárquico de Componentes que se puede actualizar fácilmente mediante una interfaz de arrastrar y soltar, y luego convertirse en HTML o PDF. Un engagement puede tener múltiples Reports. Se puede usar una Page Template para personalizar el fondo y el pie de página. Un Report también se puede convertir en un Report Template.

Report Component

Un Componente de informe es una sección o módulo del informe que se puede arrastrar/soltar en su lugar dentro del creador de informes. Los ejemplos incluyen "Página de título", "Markdown", "Hallazgos", etc. Hay muchos componentes integrados, pero también puede crear los suyos propios. (Son solo HTML/CSS + Python, así que es bastante fácil. Vea la guía a continuación)

Report Template

Un Report Template se puede usar como punto de partida para un Report (en un Engagement). Los Reports también se pueden convertir en Report Templates.

Finding Group

Un Finding Group es una colección de hallazgos que se puntúan de la misma manera (por ejemplo, CVSS o DREAD). Puede crear múltiples grupos de hallazgos por engagement (por ejemplo, "Hallazgos Técnicos" y "Hallazgos de Tesorería"). Al insertar los hallazgos en el Report (a través del Componente "Hallazgos", por ejemplo), debe seleccionar qué Finding Group desea poblar ese Componente.

Page Template

Una Page Template le permite personalizar las imágenes de fondo y los pies de página del informe. Puede establecer una Page Template como predeterminada, y se aplicará globalmente a menos que se anule a nivel de Engagement o Report.

Escribir Componentes de Informe Personalizados

report_creation Cada componente de informe está compuesto por lo siguiente:

  1. Un archivo Python en writehat/components/
  2. Una plantilla HTML en writehat/templates/componentTemplates/
  3. Un archivo CSS en writehat/static/css/component/ (opcional)

Recomendamos consultar los archivos existentes en estos directorios; funcionan bien como puntos de partida / ejemplos.

Un componente personalizado simple se vería así:

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)'
Descargar herramienta