Ghost AcademySecLearn// Seguridad Informática
🔬 Nuclei v3 · ProjectDiscovery · Ubuntu 24.04 · YAML Templates
Nuclei
// Escáner de vulnerabilidades basado en plantillas YAML — cero falsos positivos

Instala y configura Nuclei v3 en Ubuntu 24.04, actualiza las miles de plantillas de la comunidad y aprende la sintaxis básica para escanear objetivos por severidad, etiqueta o protocolo. Incluye escenarios de laboratorio con Ubuntu/Kali y consejos de hacker ético.

go install · snap install go · GOPATH nuclei -ut · nuclei-templates · ~/.local -u · -list · -t · -tags · -severity · -o critical · high · CVE · exposure Jira · Splunk · GitHub · GitLab · CI/CD
🔬
¿Qué es Nuclei?
Escáner de vulnerabilidades moderno de ProjectDiscovery que usa plantillas YAML para simular condiciones del mundo real — cero falsos positivos por diseño.
📄
Plantillas YAML
Formato simple para crear y personalizar escenarios de detección. Miles de plantillas de la comunidad.
🎯
Cero falsos positivos
Simula los pasos reales de explotación para verificar que la vulnerabilidad existe antes de reportarla.
⚡
Escaneo paralelo
Procesamiento ultrarrápido con agrupación de solicitudes para escanear cientos de hosts a la vez.
🌐
Multi-protocolo
TCP, DNS, HTTP, SSL, WHOIS, JavaScript, Code y más — un solo motor para todos los vectores.
🔗
CI/CD Ready
Integración nativa en pipelines para detección continua de vulnerabilidades y pruebas de regresión.
👥
Comunidad activa
Miles de profesionales contribuyen plantillas para las vulnerabilidades más recientes y CVEs.

Protocolos soportados

HTTP / HTTPS DNS TCP / UDP SSL / TLS WHOIS JavaScript Code WebSocket
📦
Instalación en Ubuntu 24.04
Nuclei v3 se instala con go install. Primero necesitas Go disponible en el sistema — la forma más sencilla en Ubuntu es via Snap.
0
Instalar Go (via Snap)
sudo snap install go --classic — el flag --classic es necesario para que Go tenga acceso completo al sistema de archivos.
1
Compilar e instalar Nuclei
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest — descarga dependencias y compila el binario. Espera a que vuelvas a ver el prompt antes de continuar.
2
Verificar que el binario existe
ls ~/go/bin/nuclei — si devuelve la ruta en verde (o sin error), el binario está listo. Si la carpeta está vacía, ejecuta go env GOPATH para localizar la ruta real.
3
Añadir Go/bin al PATH
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc y luego source ~/.bashrc para que el cambio sea permanente en todas las sesiones.
4
Verificar la instalación
nuclei -version — debe mostrar Nuclei v3.x.x. Si el comando no se encuentra, comprueba el PATH con el paso anterior.
bash — instalación completa paso a paso
# Paso 0: Instalar Go con Snap
sudo snap install go --classic

# Paso 1: Compilar e instalar Nuclei v3
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Paso 2: Verificar binario
ls ~/go/bin/nuclei

# Paso 3: Añadir al PATH de forma permanente
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrc

# Paso 4: Prueba final
nuclei -version
🗺️
Diagnóstico de PATH — Si el Binario No Aparece
Si ~/go/bin/nuclei no existe tras la instalación, puede que Snap esté usando una ruta de GOPATH diferente.
problema Snap de Go puede instalar los binarios en una ruta distinta a ~/go/bin/. El comando go install respeta la variable GOPATH, que puede diferir.
solución Ejecuta go env GOPATH para ver la ruta real. El binario estará en <GOPATH>/bin/nuclei. Añade esa ruta al PATH.
bash — localizar GOPATH dinámicamente
# Ver dónde Go guarda los binarios instalados
go env GOPATH
# Ejemplo de salida: /home/atu/go

# Añadir la ruta correcta al PATH
echo "export PATH=\$PATH:\$(go env GOPATH)/bin" >> ~/.bashrc
source ~/.bashrc

# Verificar
nuclei -version
📚
Actualizar Plantillas — Paso Obligatorio
Nuclei sin plantillas no detecta nada. El primer uso siempre debe ser nuclei -ut para descargar miles de reglas de la comunidad.
bash
# Descargar/actualizar todas las plantillas de la comunidad
nuclei -ut
# Las plantillas se guardan en: ~/.local/nuclei-templates/
# Contiene miles de reglas: CVEs, exposures, misconfigurations, etc.
✅ Buena práctica: Ejecuta nuclei -ut regularmente para tener siempre las plantillas más recientes. La comunidad añade nuevas detecciones cada día, especialmente para CVEs recientes.

Las plantillas se organizan en categorías dentro de ~/.local/nuclei-templates/: cves/, exposures/, misconfiguration/, network/detection/, technologies/, vulnerabilities/ y más.

⌨️
Sintaxis Básica
El uso fundamental de Nuclei es muy sencillo: objetivo (-u o -list) + filtros opcionales de plantillas, severidad o etiquetas.
Comando Qué hace
nuclei -u http://objetivo.com Escaneo completo de un objetivo usando todas las plantillas disponibles.
nuclei -list objetivos.txt Escanea una lista de objetivos guardados en un archivo .txt (uno por línea).
nuclei -u URL -t exposures/ Usa solo un grupo específico de plantillas (carpeta o archivo YAML).
nuclei -u URL -severity critical,high Filtra para buscar solo vulnerabilidades de severidad critical o high.
nuclei -u URL -tags wp-plugin Solo plantillas etiquetadas con wp-plugin — ideal para WordPress.
nuclei -u URL -o resultados.txt Guarda todos los hallazgos en un archivo de texto para auditoría.
nuclei -version Muestra la versión instalada. Confirma que el binario es accesible.
nuclei -ut Actualiza todas las plantillas de la comunidad a la última versión.
bash — ejemplos de uso básico
# Escaneo básico (usa TODAS las plantillas — puede ser lento)
nuclei -u http://objetivo.com

# Escanear lista de hosts
nuclei -list hosts.txt

# Solo plantillas de exposición de datos
nuclei -u http://objetivo.com -t exposures/

# Solo vulnerabilidades críticas y altas
nuclei -u http://objetivo.com -severity critical,high

# Guardar resultados en archivo
nuclei -u http://172.26.0.143 -o resultados_escaneo.txt
🚨
Niveles de Severidad
Nuclei clasifica cada hallazgo por severidad. En auditorías reales, empieza siempre por critical y high.
critical
RCE, SQLi, auth bypass — acción inmediata
high
XSS, SSRF, IDOR — acción prioritaria
medium
Misconfigurations, info leaks
low
Versiones expuestas, headers faltantes
info
Detección de tecnología, fingerprinting
bash — filtrar por severidad
# Solo vulnerabilidades críticas
nuclei -u http://objetivo.com -severity critical

# Críticas y altas juntas
nuclei -u http://objetivo.com -severity critical,high

# Guardar solo hallazgos críticos
nuclei -u http://objetivo.com -severity critical -o criticos.txt
🧪
Escenarios de Laboratorio
Práctica real con entorno Ubuntu + Kali. Detecta tecnologías, busca archivos expuestos y escanea tu servidor local.
🔭 Detección de Tecnologías (muy rápido)
Detecta qué software corre en el objetivo: versiones de servidor, frameworks, CMS detectados. Usa solo las plantillas de network/detection.

nuclei -u http://172.26.0.192 -t network/detection
📂 Fuzzing y Archivos Expuestos
Busca archivos de configuración expuestos, directorios sensibles y credenciales. Ideal si tienes un servidor web activo en el laboratorio.

nuclei -u http://localhost:8000 -tags config,exposure
🔴 WordPress — Plugins Vulnerables
Si el objetivo tiene WordPress, el tag wp-plugin activa cientos de plantillas específicas para plugins con CVEs conocidos.

nuclei -u https://es.wordpress.org/ -tags wp-plugin
bash — escenarios de laboratorio Ubuntu/Kali
# 1. Detección de tecnologías en la red del lab
nuclei -u http://172.26.0.192 -t network/detection

# 2. Buscar archivos expuestos en servidor local
nuclei -u http://localhost:8000 -tags config,exposure

# 3. Escaneo WordPress completo
nuclei -u http://objetivo-wp.local -tags wp-plugin

# 4. Escaneo completo guardando resultados
nuclei -u http://172.26.0.143 -o resultados_escaneo.txt
💾
Guardar Resultados
En cualquier auditoría de seguridad, los hallazgos deben documentarse. Nuclei ofrece varios formatos de salida.
bash — guardar y filtrar resultados
# Guardar en texto plano
nuclei -u http://objetivo.com -o resultados.txt

# Guardar en JSON (más fácil de procesar con scripts)
nuclei -u http://objetivo.com -json-export resultados.json

# Solo críticos y altos → guardar en archivo
nuclei -u http://objetivo.com -severity critical,high -o auditoria.txt

# Escanear lista y guardar
nuclei -list hosts.txt -severity critical,high -o hallazgos.txt
🏷️
Tags — Escaneos Focalizados
Las etiquetas (-tags) son la forma más inteligente de usar Nuclei. En lugar de lanzar miles de plantillas, activas solo las relevantes para el objetivo.
⚠️ Consejo de Hacker Ético: Nuclei puede ser muy ruidoso. Lanzar todas las plantillas a la vez puede hacer que el servidor te bloquee o generar miles de logs en el objetivo. Empieza siempre filtrando por etiquetas o severidad.
Tag Cuándo usarlo
wp-pluginObjetivo con WordPress — detecta plugins con CVEs
config,exposureBuscar archivos de configuración y datos expuestos
cveSolo plantillas asociadas a CVEs catalogados
misconfigConfiguraciones erróneas en servicios web
sqliInyección SQL en parámetros web
xssCross-Site Scripting reflejado o almacenado
lfiLocal File Inclusion
rceRemote Code Execution — solo en entornos controlados
networkDetección de servicios y tecnologías de red
sslCertificados expirados, configuraciones débiles TLS
bash — escaneos por etiqueta
# WordPress plugins
nuclei -u http://objetivo.com -tags wp-plugin

# Solo CVEs conocidos
nuclei -u http://objetivo.com -tags cve

# Archivos expuestos y misconfigs
nuclei -u http://objetivo.com -tags config,exposure,misconfig

# CVEs críticos de red
nuclei -u http://objetivo.com -tags cve -severity critical
🔗
Integraciones
Nuclei se integra de forma nativa con las plataformas más comunes de DevSecOps para automatizar la detección en pipelines CI/CD.
🐛 Jira
📊 Splunk
🐙 GitHub
🔍 Elastic
🦊 GitLab
⚙️ CI/CD
ℹ️ CI/CD: Nuclei puede integrarse en pipelines de GitHub Actions, GitLab CI o Jenkins para ejecutar escaneos automáticos en cada pull request o despliegue — detectando vulnerabilidades antes de llegar a producción.
bash — flujo de trabajo completo de auditoría
# 1. Actualizar plantillas
nuclei -ut

# 2. Reconocimiento: detectar tecnologías
nuclei -u http://objetivo.com -t technologies/ -o tech_detect.txt

# 3. Buscar vulnerabilidades críticas y altas
nuclei -u http://objetivo.com -severity critical,high -o vulns_criticas.txt

# 4. Buscar archivos y configuraciones expuestas
nuclei -u http://objetivo.com -tags exposure,config,misconfig -o exposures.txt

# 5. CVEs específicos del stack detectado
nuclei -u http://objetivo.com -tags cve,wp-plugin -o cves.txt
⚠️ Uso ético: Nuclei es una herramienta de seguridad ofensiva. Úsala únicamente en sistemas sobre los que tengas autorización explícita — tu propio laboratorio, máquinas de CTF o entornos con contrato de auditoría. Escanear sistemas ajenos sin permiso es ilegal.