Anteriormente he escrito un par de artículos sobre algunas pautas para redactar documentos de auditoría que puedes consultar en los siguientes enlaces:

¿Cómo crear un informe de pentesting? Parte 1 de 2
¿Cómo crear un informe de pentesting? Parte 2 de 2

En dichos posts mencionaba recomendaciones que suelo tener en cuenta cuando tengo que presentar un informe y he compartido algunas plantillas que me parecen interesantes y se encuentran disponibles públicamente. En esta ocasión hablaré sobre una herramienta que pretende dar soporte a la creación de informes de una manera interactiva y con algunas ayudas para el pentester, se trata de PWNDoc

Creación de informes con PWNDoc

Tal como describe en el proyecto, se trata de una utilidad que pretende acelerar el proceso de elaboración de informes para que el pentester o equipo de auditores puedan dedicarse a otras cosas más apasionantes, como detectar y explotar vulnerabilidades. La aplicación se encuentra desarrollada con Node.js y permite gestionar cada detalle del informe y aunque al principio puede resultar un poco confuso su uso, con un poco de paciencia se consigue dominar y aprovechar sus funcionalidades.
En primer lugar, el proceso de instalación es sencillo ya que se basa en 3 contenedores Docker que se despliegan fácilmente utilizando Docker-compose, tal como se indica en la guía de instalación disponible aquí. Lo que sí hay que tener en cuenta es que la construcción es un proceso lento y puede tardar algunos minutos. A continuación, solo hace falta acceder con un navegador web por HTTPS al puerto 8443 y lo primero que enseñará la aplicación web es un formulario para crear un usuario, algo bastante simple y directo. Una vez registrado en el sistema, aparecerán los mensajes que se aprecian en la siguiente imagen.

Tal como se puede ver es necesario configurar el lenguaje que se utilizará y el tipo de auditoría.
El lenguaje es algo bastante simple, se debe indicar el nombre del lenguaje y su locale, este segundo valor tal como se indica en la documentación será necesario en el caso de usar la API Rest que tiene el proyecto.
Lo otro que se debe configurar es el tipo de auditoría en la sección “Audit Types” y aquí es en donde se complica un poco el uso de la herramienta ya que es necesario subir una plantilla en formato Docx, pero no cualquier plantilla. Tal como se indica en la documentación la herramienta utiliza una librería en Node.js llamada Docxtemplater que es precisamente la que permite realizar las modificaciones y generación dinámica del documento Docx. Esta librería y por ende, la herramienta, requiere que la plantilla tenga una serie de tags que identifican exactamente en qué parte del documento se debe incluir un contenido o texto y por lo tanto se deben definir dichas tags en el documento. Afortunadamente, en PWNDoc existe una plantilla en formato DOCX llamada Default template.docx que se puede usar para generar informes. Aclarado esto, lo siguiente antes de poder crear un “Audit Type” es precisamente subir dicha plantilla en formato DOCX. Para ello hay que dirigirse a Data -> Templates -> Create template tal como se enseña en la siguiente imagen.

Ahora es posible dirigirse a Data -> Custom data -> Audit Types y cumplir este último requisito de configuración para empezar a usar la herramienta.

Ahora es el momento de empezar a confeccionar el informe como tal, para ello se pueden introducir cada uno de los campos que aparecen en el menú lateral izquierdo: “Colaboradores”, “Compañías” y “Clientes”. La información que se introduzca en estas secciones aparecerá en el informe final, aunque como es evidente el documento generado es editable y se puede cambiar a posteriori si hace falta.

 

Si se pretende trabajar en equipo la herramienta permite crear colaboradores y asignarle a cada uno de ellos diferentes tipos de roles y permisos. Es algo que de momento se debe hacer manipulando directamente las estructuras JS del programa pero probablemente será una función que se incorporará al Frontend en un futuro (espero). En todo caso, en la documentación oficial explica cómo asignar permisos a los usuarios creados desde la sección de colaboradores.

Ahora, se puede proceder a crear un objeto auditoría en la herramienta introduciendo los detalles básicos:

Como se puede apreciar se han introducido los datos básicos de la auditoría y además, permite definir el alcance de la misma para que luego sea incluido en el reporte final.
A partir de este punto, se procede a redactar el informe y a configurar otros elementos de la herramienta que son extremadamente útiles. Esto lo explicaré en el siguiente post.

Un saludo y Happy Hack!
Adastra.