Introducción a Nuclei: automatización avanzada en pentesting y bug bounty
En el campo de la ciberseguridad, la eficiencia y precisión en la detección de vulnerabilidades son fundamentales. Nuclei surge como una herramienta poderosa diseñada para facilitar esta tarea a profesionales de pentesting y bug bounty, automatizando la búsqueda y confirmación de fallos en infraestructuras digitales mediante el uso de templates o plantillas. Este artículo ofrece un análisis exhaustivo sobre el uso de Nuclei y la creación de templates personalizados, detallando su funcionamiento, buenas prácticas y recomendaciones para que puedas optimizar tus auditorías de seguridad.
¿Qué es Nuclei y por qué es relevante en seguridad informática?
Nuclei es una herramienta de código abierto desarrollada para el escaneo rápido y escalable de vulnerabilidades específicas en sistemas, aplicaciones y servicios web. A diferencia de herramientas que ejecutan pruebas globales e indiscriminadas, Nuclei permite definir con precisión qué vulnerabilidades evaluar mediante el uso de templates, reduciendo el ruido en los resultados y aumentando la efectividad en la identificación de fallos concretos.
Su relevancia radica en la automatización que brinda y la posibilidad de integrarse fácilmente en flujos de trabajo de bug bounty y pentesting, facilitando tareas que tradicionalmente requerían intervención manual o el uso de múltiples herramientas independientes.
Características principales de Nuclei
- Detección rápida de vulnerabilidades usando templates estructurados.
- Soporte para múltiples protocolos: HTTP, DNS, TCP, entre otros.
- Compatibilidad con integraciones CI/CD y pipelines automatizados.
- Plantillas mantenidas por una comunidad activa y posibilidad de crear las propias.
- Flexibilidad para validar respuestas HTTP, contenido en el body, códigos de estado, cabeceras y más.
Funcionamiento básico de Nuclei
Para comenzar a usar Nuclei, es necesario contar con la salida de un reconocimiento previo, como puede ser un listado de subdominios o endpoints, los cuales serán el objetivo de los templates aplicados. La herramienta se ejecuta con un comando sencillo que apunta a un archivo de entrada con objetivos y utiliza una colección específica de templates acorde con las vulnerabilidades a analizar.
Por ejemplo, un flujo típico en un pentest podría tener esta secuencia:
- Recolectar subdominios con una herramienta dedicada como Subfinder.
- Detectar servicios activos y puertos con herramientas como HTTPX.
- Aplicar Nuclei con una selección de templates para vulnerabilidades específicas.
- Analizar resultados y validar hallazgos para confirmar vulnerabilidades.
Ejemplo de ejecución de Nuclei
Para ejecutar Nuclei contra un listado de dominios utilizando templates por defecto, se usa:
nuclei -l dominios.txt -t cves/
Donde -l dominios.txt
especifica el archivo con objetivos y -t cves/
indica la carpeta con los templates de vulnerabilidades conocidas.
Comprendiendo los templates de Nuclei
Los templates son la esencia de Nuclei. Son archivos YAML que definen la lógica, condiciones y patrones que la herramienta usará para identificar vulnerabilidades. Cada template incluye detalles como el método HTTP, path a escanear, condiciones sobre el código de respuesta, patrones de búsqueda en el cuerpo, firmas específicas y metadata como el nombre, autor y severidad.

Estructura de un template
Un template típico se compone de las siguientes secciones:
- Info: Información general como el nombre del template, CVE asociado, descripción, autor y severidad.
- Requests: Detalla el tipo de prueba, método HTTP, url o path, y las condiciones para considerar la vulnerabilidad encontrada.
- Matchers: Patrón de búsqueda en el body, cabecera o código de respuesta.
id: CVE-2020-35489 info: name: WordPress Contact Form 7 Upload Vulnerability author: Comunidad severity: critical requests: - method: GET path: - "{{BaseURL}}/wp-content/plugins/contact-form-7/includes/file-upload.php" matchers: - type: word words: - "vulnerable_string" status: - 200
Cómo crear un template personalizado para Nuclei
Crear un template es un proceso que requiere entender la vulnerabilidad objetivo y cómo identificarla mediante patrones en la respuesta servidor. Los pasos básicos son:
1. Identificar la vulnerabilidad a testear
Requiere analizar la documentación, CVE o reporte que describa el fallo y cómo puede ser detectado por medio de una solicitud HTTP u otro protocolo.
2. Establecer las condiciones de detección
Se definen los métodos (GET, POST), la ruta específica para llamar, las respuestas esperadas (código HTTP, cadenas o regex en body) y cualquier otro criterio relevante.
3. Definir el template YAML
Se edita un archivo que contiene las secciones info
, requests
y matchers
para expresar la lógica.
4. Validar y probar el template
Se ejecuta Nuclei apuntando al objetivo con el template creado para confirmar que la detección funciona correctamente y no produce falsos positivos o negativos.
Consejos prácticos para creación de templates
- Reutiliza templates oficiales para entender estándares y formato.
- Utiliza expresiones regulares para detectar patrones complejos.
- Combina condiciones (AND, OR) para afinar la detección.
- Agrega metadata útil para facilitar gestión y clasificación.
- Comparte y somete pull requests para enriquecer la comunidad.
Integración de Nuclei en flujos de trabajo de pentest y bug bounty
Nuclei es idóneo para integrarse en pipelines automatizados, aumentando la cobertura y rapidez en la identificación de vulnerabilidades durante auditorías o programas de bug bounty.
Ejemplo de pipeline típico
- Descubrimiento de subdominios y endpoints.
- Escaneo de puertos y detección de servicios.
- Aplicación de Nuclei con templates específicos según la tecnología encontrada.
- Validación manual o automatizada de los reportes.
- Reporte al cliente o plataforma bug bounty.
Buenas prácticas en el uso de Nuclei
- Actualizar periódicamente los templates oficiales.
- Personalizar templates para adaptarlos a entornos específicos.
- Usar filtros y limitaciones para evitar falsos positivos masivos.
- Documentar cada hallazgo con contexto relevante.
Comparativa entre Nuclei y herramientas similares
Características | Nuclei | Nikto | OWASP ZAP | Burp Suite |
---|---|---|---|---|
Automatización con plantillas | Avanzada, personalizable y extensible | Limitada, menos actualizadas | Parcial, más orientada al proxy | Limitada, enfoque manual |
Velocidad de escaneo | Muy alta, altamente paralelizable | Media | Lenta en grandes volúmenes | Media a alta |
Facilidad para crear reglas | Alta, usando YAML sencillo | Baja | Media | Baja |
Orientación | Bug bounty / pentesting automatizado | Auditoría web básica | Testing general y proxy | Testing manual avanzado |
Profundizando en las palabras clave relacionadas
Nuclei
Como herramienta, Nuclei es la base sobre la cual se construye un análisis automatizado de seguridad. Entender su funcionamiento y su ecosistema de templates es crucial para maximizar su potencial y evitar interpretaciones erróneas de los resultados.

Templates
Los templates son el núcleo lógico de Nuclei. Conocer su estructura y reglas permite crear análisis específicos que se adaptan al contexto y necesidades particulares, incrementando la efectividad y reduciendo falsos positivos.
Pentest
El pentesting se beneficia de Nuclei porque automatiza parte del trabajo repetitivo y permite enfocar tiempo en análisis manual y profundización de vulnerabilidades críticas.
Bug bounty
En programas bug bounty, donde el tiempo y la precisión son clave, Nuclei acelera la identificación de vulnerabilidades que pueden ser reportadas y monetizadas.
Ejemplo práctico: Detectando la CVE-2020-35489 en WordPress
Tomaremos como ejemplo la vulnerabilidad CVE-2020-35489 relacionada con el plugin Contact Form 7 de WordPress, que permite una ejecución remota de código por la falta de validación en la carga de archivos.
El template detecta la existencia del archivo vulnerable y confirma la presencia de cadenas específicas correlacionadas con la versión vulnerable, verificando el código HTTP 200 en la respuesta.
id: CVE-2020-35489 info: name: Contact Form 7 File Upload Vulnerability author: Comunidad de Seguridad severity: critical requests: - method: GET path: - "{{BaseURL}}/wp-content/plugins/contact-form-7/includes/file-upload.php" matchers: - type: word words: - "Conversion version 2." - "vulnerable_string" status: - 200
Con este tipo de templates podemos automatizar y escalar la detección de fallos críticos a nivel global o dentro de un rango definido, por ejemplo a nivel país.
Si querés complementar esta lectura con un recurso audiovisual, te invitamos a ver este video tutorial donde se explica el uso práctico de Nuclei y la creación de templates desde cero.
Errores comunes al usar Nuclei y cómo evitarlos
- No actualizar templates: Los templates evolucionan con nuevas vulnerabilidades; usar versiones desactualizadas puede resultar en falsos negativos.
- Falta de validación manual: No todo lo que Nuclei detecta es vulnerable; siempre validar hallazgos para evitar reportes imprecisos.
- Ejecutar sin filtrado: Apuntar sin filtros puede generar muchísimo ruido y resultados irrelevantes.
- Manejo incorrecto de paths y URLs: Es vital ajustar los templates y comandos con las URLs correctas para obtener resultados precisos.
- No revisar permisos legales: Ejecutar escaneos sin autorización puede vulnerar leyes y políticas de uso.
Buenas prácticas y consejos avanzados
- Integrar Nuclei en CI/CD para detectar vulnerabilidades en etapas tempranas del desarrollo.
- Colaborar con la comunidad compartiendo templates personalizados para mejorar la base global.
- Implementar filtros y exclusiones para reducir falsos positivos en escaneos grandes.
- Documentar con precisión cada template creado para facilitar su mantenimiento y reutilización.
- Combinar Nuclei con otras herramientas para análisis exhaustivos como fuzzing o pruebas manuales.
Preguntas frecuentes (FAQ)
¿Para qué se utiliza Nuclei?
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 qué tipos de vulnerabilidades quieres probar, así reduces el ruido y localizas los fallos de una forma más precisa.

¿Qué significa bug bounty?
Un “Bug Bounty” es una iniciativa en la que empresas invitan a expertos en ciberseguridad a buscar y reportar fallos en su infraestructura digital. A cambio, ofrecen recompensas económicas u otros beneficios, promoviendo así la colaboración abierta para mejorar la seguridad.
¿Cómo seleccionar los templates adecuados para un pentest?
La elección depende del entorno y tecnologías del objetivo. Se recomienda identificar los servicios y versiones presentes para utilizar templates específicos relacionados. Por ejemplo, si se detecta un servidor web Apache con WordPress, se deben usar templates dirigidos a vulnerabilidades conocidas de estas tecnologías.
¿Cómo puedo contribuir con templates a la comunidad?
Después de crear y probar un template, puedes someter un pull request en el repositorio oficial de Nuclei Templates en GitHub. Es importante seguir las guías y estándares establecidos para asegurar la calidad y utilidad del aporte.
¿Nuclei es adecuado para escaneos masivos o solo para objetivos específicos?
Nuclei es altamente escalable y puede realizar escaneos masivos gracias a su diseño multihilo. Sin embargo, siempre es recomendable aplicar filtros y segmentar objetivos para optimizar recursos y evitar ser bloqueado o generar un alto volumen de ruido.
¿Qué hacer si encuentro falsos positivos con Nuclei?
Siempre se deben validar manualmente los hallazgos. Puedes ajustar los templates para mejorar la precisión, por ejemplo combinando condiciones más estrictas o añadiendo verificaciones adicionales en el body o headers de respuesta.
¿Se puede integrar Nuclei con otras herramientas de pentesting?
Sí, Nuclei funciona muy bien en combinación con herramientas como Subfinder, HTTPX, Amass y proxies intermedios para enriquecer la información previa y posterior al análisis.
¿Cómo mantenerse actualizado respecto a nuevas vulnerabilidades?
Además de seguir los feeds oficiales de CVE y alertas de seguridad, es vital actualizar frecuentemente los templates y estar activo en comunidades y repositorios oficiales de Nuclei.
¿Nuclei permite escanear protocolos distintos a HTTP?
Sí, Nuclei soporta otros protocolos como DNS, TCP, etc., ampliando así el alcance de las pruebas que puedes automatizar.

¿Qué precauciones legales debo tener al usar Nuclei?
Es fundamental contar con permisos explícitos del dueño del sistema o red que vas a escanear. Realizar pruebas no autorizadas puede ser ilegal y traer consecuencias jurídicas. Siempre trabaja dentro de un marco ético y legal.
Conclusión y próximos pasos
La adopción de Nuclei en procesos de pentesting y bug bounty representa un salto cualitativo en la automatización y eficiencia de la detección de vulnerabilidades. Su arquitectura basada en templates permite un control granular sobre las pruebas y fomenta la colaboración mediante el intercambio de plantillas personalizadas.
¿Querés mantenerte actualizado con las últimas tendencias en automatización, inteligencia artificial y transformación digital? Visitá nuestro blog de Código6 y descubrí guías, casos de éxito y noticias relevantes para potenciar tu empresa. Ingresá al blog y explorá los recursos más recientes.
Leave A Comment