Clase 071 — Análisis de vulnerabilidades con Nessus y OpenVAS

Parte: 3 — Hacking ético y pentesting: metodología · Fuente: PTES (Penetration Testing Execution Standard) - fase de Vulnerability Analysis; NIST SP 800-115 ⏱️ Duración estimada: 120 min · Nivel: Intermedio


🎯 Objetivo

El alumno aprenderá a operar dos escáneres de vulnerabilidades de clase empresarial —Nessus (edición Essentials) y OpenVAS/Greenbone Vulnerability Management (GVM)— para descubrir, clasificar y priorizar debilidades en sistemas de un laboratorio controlado. Al terminar la clase, el alumno entenderá cómo se construye una política de escaneo, cómo se interpreta un hallazgo con su puntaje CVSS y por qué el analista humano sigue siendo indispensable para separar el ruido de los riesgos reales.

📚 Resultados de aprendizaje

Al finalizar, el alumno podrá:

  1. Instalar y configurar Nessus Essentials y OpenVAS/GVM en un entorno de laboratorio aislado.
  2. Crear políticas de escaneo ajustadas al alcance (scope) definido en un contrato de pentesting.
  3. Ejecutar escaneos de descubrimiento y de vulnerabilidades autenticados y no autenticados.
  4. Interpretar el puntaje CVSS v3.1 (base, temporal, ambiental) de un hallazgo.
  5. Correlacionar un hallazgo del escáner con su entrada correspondiente en CVE/NVD.
  6. Distinguir falsos positivos de riesgos reales y priorizar la remediación según impacto de negocio.

🗺️ Temas

# Tema Por qué importa
1 Arquitectura de un escáner de vulnerabilidades Entender motor de escaneo, plugins/NVTs y base de firmas explica sus límites
2 Nessus Essentials: instalación y activation code Es el estándar de facto en la industria; Essentials permite practicar sin costo hasta 16 IPs
3 OpenVAS/Greenbone (GVM): arquitectura de contenedores Alternativa open source auditable, usada en muchos SOC y auditorías gubernamentales
4 Políticas de escaneo y templates Un escaneo mal configurado puede tumbar servicios frágiles o generar falsos negativos
5 Escaneo autenticado vs no autenticado El autenticado revela vulnerabilidades locales (parches faltantes); el no autenticado simula un atacante externo
6 CVSS v3.1: vectores base, temporal y ambiental Es el lenguaje universal para priorizar remediación entre equipos
7 Correlación con CVE, NVD y CPE Permite verificar manualmente un hallazgo y buscar exploits públicos asociados
8 Gestión de falsos positivos y priorización Un reporte sin depurar pierde credibilidad frente al cliente o al equipo de TI

📖 Definiciones y características

🧰 Herramientas y preparación

bash sudo dpkg -i Nessus-*.deb sudo systemctl start nessusd # Interfaz web en https://localhost:8834

bash sudo apt update && sudo apt install -y openvas sudo gvm-setup sudo gvm-start # Interfaz web en https://localhost:9392

Vía Docker: docker pull greenbone/gvm seguido de un docker-compose con los servicios gvmd, ospd-openvas, redis-server y notus-scanner. - Máquinas víctima: Metasploitable2 y Metasploitable3 (VMs deliberadamente vulnerables de Rapid7), desplegadas en la misma red interna aislada. - Complementos: nmap para descubrimiento previo, navegador para las consolas web de Nessus/GVM, cuenta de NVD (nvd.nist.gov) para consulta manual de CVEs.

⚠️ Nota ética: las técnicas de esta clase (escaneo de vulnerabilidades a escala, algunos plugins intrusivos que pueden reiniciar servicios) se practican exclusivamente en laboratorios propios (VMs propias, Metasploitable, rangos tipo HackTheBox/TryHackMe) o contra sistemas con autorización explícita por escrito (contrato de pentesting con reglas de engagement firmadas). El acceso o escaneo no autorizado de sistemas de terceros es ilegal en la gran mayoría de jurisdicciones, incluso sin llegar a explotar nada.

🧪 Laboratorio guiado

Todo el laboratorio se ejecuta en una red interna aislada (host-only), contra Metasploitable2/3 desplegadas por el propio alumno.

  1. Levantar la red interna en el hipervisor y confirmar que Kali y Metasploitable2 están en el mismo segmento sin salida a producción: ip a en Kali, ping <IP-metasploitable>.
  2. Iniciar el servicio de Nessus (sudo systemctl start nessusd) y acceder a https://localhost:8834, completando el asistente con el activation code.
  3. Crear un nuevo escaneo: New Scan → Basic Network Scan, definir Name: Lab-Metasploitable2, Targets: 192.168.56.101 (IP de la víctima).
  4. Configurar credenciales SSH en la pestaña Credentials para habilitar escaneo autenticado (usuario msfadmin, contraseña msfadmin — credenciales por defecto documentadas de Metasploitable2).
  5. Lanzar el escaneo y esperar finalización; revisar el resumen por severidad (Critical/High/Medium/Low/Info).
  6. Abrir un hallazgo "Critical", leer el Synopsis, Description, Solution y el vector CVSS asociado (ej. AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).
  7. Levantar GVM (sudo gvm-start o docker-compose up -d según la instalación) y esperar sincronización del feed comunitario (puede tardar horas la primera vez).
  8. Acceder a https://localhost:9392 (usuario admin generado en el setup), crear una Target apuntando a la misma IP de Metasploitable2.
  9. Crear una Task con el template Full and fast, asociarla al target y ejecutarla.
  10. Comparar los resultados de Nessus y GVM para el mismo host: identificar coincidencias y discrepancias en severidad.
  11. Tomar un CVE reportado por ambos escáneres y buscarlo manualmente en nvd.nist.gov para confirmar el puntaje CVSS base y consultar su EPSS.
  12. Clasificar al menos tres hallazgos como verdadero positivo, falso positivo o "requiere verificación adicional", documentando el criterio usado.

✍️ Ejercicios

  1. Instalar Nessus Essentials y realizar un escaneo de descubrimiento (host discovery) sobre el rango 192.168.56.0/24.
  2. Configurar un escaneo autenticado completo contra Metasploitable2 y exportar el reporte en formato PDF/HTML.
  3. Instalar GVM y ejecutar una tarea "Full and fast" contra la misma víctima, comparando tiempos de ejecución con Nessus.
  4. Tomar los cinco hallazgos "Critical" de Nessus, buscar su CVE en NVD y documentar el vector CVSS y el EPSS de cada uno.
  5. Identificar al menos un falso positivo en los resultados y justificar por escrito por qué no representa riesgo real.
  6. Redactar una tabla de priorización de remediación (Critical → Info) considerando explotabilidad (EPSS), exposición e impacto de negocio simulado.

📝 Reto verificable

Reto: Ejecutar escaneos autenticados con Nessus y GVM contra Metasploitable2 y producir un informe consolidado que incluya: (a) total de hallazgos por severidad de cada herramienta, (b) al menos 5 CVEs verificados manualmente en NVD con su vector CVSS y EPSS, y (c) una tabla de priorización con al menos 3 hallazgos marcados como falso positivo con justificación.

Criterio de aceptación: El informe debe listar como mínimo un hallazgo "Critical" (ej. vsftpd 2.3.4 backdoor, CVE-2011-2523) detectado por ambas herramientas, con su vector CVSS transcrito correctamente y una recomendación de remediación coherente con la solución sugerida por el escáner.

⚠️ Errores comunes

Síntoma / mensaje Causa y cómo arreglar
Nessus queda en "Activating..." indefinidamente Falta conexión a internet para validar el activation code la primera vez; verificar DNS/proxy y reintentar
GVM: "No suitable feed found" o tarea nunca inicia El feed comunitario aún no terminó de sincronizar; esperar con sudo greenbone-feed-sync y revisar logs de notus-scanner
Escaneo autenticado marcado como "Credentialed checks: no" Credenciales SSH incorrectas o servicio SSH deshabilitado en el target; validar con ssh msfadmin@<IP> manualmente
El escáner tumba un servicio de la víctima Política demasiado agresiva (plugins de DoS habilitados); usar plantilla "Basic Network Scan" sin plugins destructivos en labs frágiles
Reporte lleno de "Info" sin hallazgos accionables Escaneo no autenticado contra un host bien parchado externamente; complementar con escaneo autenticado y revisión manual de servicios
Discrepancia grande entre Nessus y GVM para el mismo host Feeds de plugins/NVTs distintos y con distinta fecha de actualización; documentar la discrepancia en vez de descartarla sin análisis

❓ Preguntas frecuentes

❓ ¿Es legal usar Nessus u OpenVAS contra cualquier IP que yo elija? No. Solo es legal contra sistemas propios o con autorización explícita por escrito (contrato de pentesting con reglas de engagement). Escanear activos de terceros sin permiso puede constituir un delito informático incluso sin explotación posterior.

❓ ¿Un escáner de vulnerabilidades reemplaza el pentest completo? No. El escáner detecta vulnerabilidades conocidas por firma, pero no encadena ataques, no valida impacto real ni encuentra fallos de lógica de negocio. Es una herramienta dentro del proceso de pentest, no un sustituto.

❓ ¿Un puntaje CVSS alto significa que debo remediar primero esa vulnerabilidad? No necesariamente. CVSS base no considera si el activo es crítico para el negocio ni si el exploit está siendo usado activamente; para eso existen el vector temporal, el ambiental, EPSS y fuentes como CISA KEV.

❓ ¿Nessus Essentials sirve para un pentest profesional real? Essentials está limitado a 16 IPs y licenciamiento personal/educativo; para engagements comerciales se usa Nessus Professional o Tenable.io bajo licencia adecuada.

🔗 Referencias

📥 Material descargable

⬅️ Clase anterior

Clase 070 — Enumeración: SMB, SNMP, SMTP y LDAP

➡️ Siguiente clase

Clase 072 — Metasploit Framework: arquitectura y uso