PwnDoc es una aplicación de informe de pentest que hace simple y fácil escribir tus hallazgos y generar un informe Docx personalizable.
El objetivo principal es tener más tiempo para Pwn y menos tiempo para Doc mediante la mutualización de datos como las vulnerabilidades entre los usuarios.
Documentation
Características
- Soporte para múltiples idiomas
- Soporte de datos múltiples
- Gran personalización
- Gestionar los datos de auditoría y de vulnerabilidad reutilizables
- Crear secciones personalizadas
- Añadir campos personalizados a Vulnerabilidades
- Gestión de vulnerabilidades
- Presentación de informes de usuarios múltiples
- Generación del informe Docx
- Personalización de la plantilla de Docx
Instalación
PwnDoc utiliza 3 contenedores: el backend, el frontend y la base de datos.
Producción
Los 3 contenedores se pueden ejecutar a la vez utilizando el archivo docker-compose en el directorio raíz.
Para el uso en producción asegúrese de cambiar el secreto JWT en “src/lib/auth.js
” y los certificados en la carpeta “ssl“
- Construir y ejecutar contenedores Docker
docker-compose up -d --build
- Mostrar los registros del contenedor backend
docker-compose logs -f pwndoc-backend
- Detener/arrancar contenedores
docker-compose stop
docker-compose start
- Eliminar contenedores
docker-compose down
- Actualizar
docker-compose down
git pull
docker-compose up -d --build
- La aplicación es accesible a través de https://localhost:8443
- La API es accesible a través de https://localhost:4242/api
Si se utiliza Firefox, hay que añadir una excepción de certificado para el backend. Para ello, ve a https://localhost:4242/api/users/init
Desarrollo
Para propósitos de desarrollo, se puede utilizar un archivo docker-compose específico en cada carpeta (backend/frontend).
El código fuente puede ser modificado en vivo y la aplicación se recargará automáticamente con los cambios.
- Construir y ejecutar contenedores de backend y base de datos
docker-compose -f backend/docker-compose.dev.yml up -d --build
- Mostrar los registros del contenedor de backend
docker-compose -f backend/docker-compose.dev.yml logs -f pwndoc-backend
- Detener/arrancar el contenedor
docker-compose -f backend/docker-compose.dev.yml stop
docker-compose -f backend/docker-compose.dev.yml start
- Eliminar contenedores
docker-compose -f backend/docker-compose.dev.yml down
- La aplicación es accesible a través de http://localhost:8081
- La API es accesible a través de https://localhost:5252/api
Pruebas
Por ahora, sólo se han escrito las pruebas del backend (es un trabajo continuo en progreso)
Los archivos de prueba se encuentran en backend/tests utilizando el framework de pruebas Jest
El script run_tests.sh
en la carpeta raíz se puede utilizar para lanzar las pruebas:
Usage: ./run_tests.sh -q|-f [-h, --help]
Options:
-h, --help Display help
-q Run quick tests (No build)
-f Run full tests (Build with no cache)
No lo utilices en producción, ya que borrará la base de datos de producción
Copia de seguridad
Es posible, e incluso recomendable, hacer regularmente una copia de seguridad de la carpeta backend/mongo-data. Contiene toda la base de datos.
Para restaurar:
- Detener los contenedores
- Reemplaza la carpeta actual de
backend/mongo-data
por la de la copia de seguridad - Iniciar los contenedores
Demostraciones
- Presentación de informes de usuarios múltiples
- Edición de hallazgos
- Flujo de trabajo de gestión de vulnerabilidades
https://github.com/pwndoc/pwndoc