Nuclei es un herramienta diseñada para la búsqueda de vulnerabilidades en aplicaciones y otros servicios expuestos en internet. Lo destacable de esta herramienta es que funciona con un modelo basado en plantillas, cada plantilla tiene una vulnerabilidad específica y en ella se indica a Nuclei qué peticiones y cómo hacerlas y en función de la respuesta recibida se determinará si existe o no esa vulnerabilidad. Este modelo basado en plantillas tiene la ventaja de reducir bastante los falsos positivos.

Las plantillas están diseñadas con un formato de serialización de datos como YAML. Conociendo su estructura cada uno puede crearse sus propias plantillas para realizar prueba sobre un objetivo. Además, Nuclei cuenta con una comunidad detrás en la que colaboran con los desarrolladores de Nuclei no solo en las mejoras de la propia aplicación, si no que también van añadiendo su propias plantillas y toda la comunidad puede usarlas. En el repositorio de plantillas cuenta con casi 4000 plantillas.

Aquí esta el repositorio de plantillas

Para instalar Nuclei basta con acceder a la página de su proyecto en Github, aquí, y seguir unos simples pasos para la instalación. Una vez que se ejecute Nuclei por primera vez, se descargarán todas las plantillas desarrolladas por la comunidad y las va a almacenar en el directorio $HOME/nuclei-templates. Una vez descargadas ya están a disposición del pentester para su uso.

Hay muchos parámetros a la hora de usar Nuclei, así se pueden afinar más las búsquedas de vulnerabilidades, están todos en su ayuda y en la página del proyecto. Estos son los que mas se usan:

  • -target / -u:  URL sobre la que lanzar las plantillas .
  • -templates / -t: Directorio con las plantillas.
  • -et / -exclude-templates: Plantillas que deben de ser excluidas del escaneo.
  • -s / –severity: Severidad de la plantillas, los valores son: info, low, medium, high, critical, unknown.
  • -o / -output: Fichero donde nuclei guarda los resultados.
  • -sresp / -store-resp: Almacena las peticiones y respuestas en el directorio de la opción «-output».
  • -silent: Solo muestra los resultados que Nuclei va encontrando.
  • -config: Fichero de configuración personalizado.
  • -update: Actualizar la herramienta.
  • -up / -update-templates: Actualizar las plantillas.

Nuclei es una herramienta diseñada para pruebas de vulnerabilidades específicas sin tener que lanzar toda una batería de pruebas sobre un objetivo, con las plantillas puedes decidir que tipos de vulnerabilidades quieres probar, así reduces el ruido y localizas los fallos de una forma más precisa.

¿Necesitas asesoramiento en temas de ciberseguridad? ¡Ponte en contacto con nosotros!