Saltar al contenido
Lectura9 minPreview

Qué es Nuclei y su primer escaneo

Bienvenida

Bienvenido a Nuclei: escaneo de vulnerabilidades con plantillas. Esta píldora es para quien empieza en un SOC, en un equipo de seguridad o en infraestructura y quiere una forma rápida y repetible de revisar sus propios activos en busca de fallas y exposiciones conocidas.

No necesita conocimientos previos de hacking, solo manejar la terminal y una máquina donde pueda instalar programas. Al terminar sabrá qué es Nuclei, cómo funcionan sus plantillas, cómo escanear filtrando por tags y severidad, cómo leer los hallazgos y por qué todo esto es una herramienta defensiva. Son cinco lecciones cortas, un laboratorio sobre un objetivo que usted mismo levanta y un quiz de 4 preguntas: unos 45 minutos.

Qué es Nuclei y por qué importa

Nuclei es un escáner de vulnerabilidades gratuito y de código abierto, creado por ProjectDiscovery. Su idea es sencilla: en lugar de traer el conocimiento metido en el programa, lee plantillas, archivos de texto en formato YAML que describen cómo detectar una falla concreta, una mala configuración o una exposición. Hay miles de plantillas, muchas aportadas por la comunidad, y se actualizan a diario.

El motor es muy rápido porque lanza muchas comprobaciones en paralelo y porque la mayoría de las plantillas solo hacen una petición y comparan la respuesta. No explota nada: comprueba si el problema está presente y lo reporta. Por eso encaja tanto en un pentest autorizado como, sobre todo, en la vigilancia continua de los sistemas propios.

Instalación

La forma recomendada es con Go. Instale Go y luego pida la última versión de Nuclei; el binario queda en la carpeta de binarios de Go.

go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

Si prefiere no usar Go, descargue el binario ya compilado desde la página de versiones de ProjectDiscovery en GitHub y colóquelo en el PATH. En Debian o Ubuntu puede añadir la carpeta de Go al PATH así:

export PATH="$PATH:$(go env GOPATH)/bin"
nuclei -version

Su primer escaneo

La opción -u (url) indica un objetivo. La primera vez, Nuclei descarga el repositorio de plantillas antes de empezar.

nuclei -u https://su-objetivo-propio.example
[INF] Current nuclei version: v3.3.7 (latest)
[INF] Current nuclei-templates version: v10.1.2 (latest)
[INF] Templates loaded for current scan: 8427
[INF] Targets loaded for current scan: 1
[tech-detect:nginx] [http] [info] https://su-objetivo-propio.example
[http-missing-security-headers] [http] [info] https://su-objetivo-propio.example

Cada línea de hallazgo sigue el mismo orden: el id de la plantilla entre corchetes, el protocolo, la severidad y la URL donde se detectó.

Errores frecuentes

could not run nuclei: no templates provided for scan

El repositorio de plantillas no está descargado. Ejecute una vez nuclei -update-templates y vuelva a intentarlo. Si ve command not found, la carpeta de binarios de Go no está en el PATH: repita el export PATH de arriba.