0
Escaneo de Vulnerabilidades con Nessus en Kali Linux

Escaneo de Vulnerabilidades con Nessus en Kali Linux

Instalación, activación y primer escaneo — guía práctica paso a paso con contexto profesional

📌 Contexto en Pentesting

Nessus identifica vulnerabilidades (CVE), configuraciones débiles y software sin parches. En un proyecto real, su objetivo es priorizar riesgos (CVSS), documentar evidencia y guiar remediaciones, no “tirar alertas”.

⚠️ Ética y alcance: solo escanea con autorización escrita, define ventanas de cambio y listas de exclusión (IPs críticas, SCADA, impresoras médicas, controladores PLC, etc.).
Resultado esperado: inventario de servicios, mapa de severidades, evidencias reproducibles y plan de mitigación con responsables y fechas.

0. ✅ Prerrequisitos

  • Kali con privilegios sudo y conexión a Internet.
  • Navegador para acceder a https://127.0.0.1:8834/ (certificado autofirmado).
  • Acceso a objetivos dentro del alcance (rutas, VLAN, VPN, rutas estáticas si aplica).
  • Tiempo de ventana para el primer plugin sync (descarga inicial puede tardar).

1. ⬇️ Descarga del instalador

En la página oficial de Tenable elige la plataforma Linux – Debian – amd64 y descarga el .deb. Opcional: copia la URL para usarla con wget/curl desde terminal.

Página oficial de descargas de Nessus (selección de versión y plataforma)
1) Tenable Downloads: selecciona versión y plataforma Debian/amd64.
💡 Tip: guarda el hash (SHA256) y verifica integridad si el entorno lo exige.

2. 🧩 Instalación del paquete .deb

Instala el paquete descargado con dpkg (ajusta el nombre del archivo si difiere):

sudo dpkg -i Nessus-10.9.2-debian10_amd64.deb
# Si dpkg reporta dependencias:
sudo apt --fix-broken install -y
Instalación con dpkg mostrando tests criptográficos OK
2) Instalación correcta del paquete y verificación interna de módulos.

3. 🚀 Habilitar y arrancar el servicio

sudo systemctl enable nessusd
sudo systemctl start nessusd
sudo systemctl status nessusd   # Debe verse active (running)
Systemctl enable/start/status de nessusd activo
3) Servicio nessusd habilitado y corriendo.
Puertos por defecto: 8834/tcp (UI). Verifica conectividad desde tu equipo auditor.

4. 🌐 Asistente inicial en el navegador

Abre https://127.0.0.1:8834/ (acepta el certificado). Elige edición: para práctica, Nessus Essentials. Para empresas: Nessus Professional.

Pantalla de bienvenida del asistente de Nessus
4) Bienvenida: elige la edición que usarás.

5. 🔑 Activación

Ingresa el Activation Code (lo recibes por correo al registrarte). La primera sincronización descarga los plugins.

Pantalla para introducir el Activation Code de Nessus
5) Registro de licencia/clave de activación.

6. 👤 Crear cuenta administrativa local

Define usuario y contraseña para administrar Nessus.

Creación del usuario administrador de Nessus
6) Usuario administrador para la consola web.
🛠️ Alternativa CLI: /opt/nessus/sbin/nessuscli adduser (útil en servidores sin UI).

7. 📚 Plantillas de escaneo

Tras sincronizar plugins verás la librería de plantillas. Para comenzar, usa Basic Network Scan o Advanced Scan. Otras plantillas cubren malware, configuración, cumplimiento, etc.

Vista de plantillas de escaneo en Nessus
7) Catálogo de plantillas: descubrimiento, vulnerabilidades, malware, etc.

8. 🎯 Configurar un Advanced Scan

Asigna nombre y objetivo (p. ej., 192.168.6.11). En Discovery elige puertos (Common All (1-65535) Custom). Guarda en My Scans.

Nueva política Advanced Scan con objetivos definidos
8) Ajustes generales del escaneo avanzado.
💡 Recomendación: empieza con “Common ports” y escala a “All ports” si el tiempo/ventana lo permite.

9. 🌐 (Opcional) Escaneo de aplicaciones web

En Assessment → Web Applications activa el rastreador, define punto de inicio, profundidad y exclusiones (regex). Úsalo solo si el alcance incluye web; coordina con el equipo DevSecOps.

Configuraciones de Web Application Settings y crawler
9) Activación del crawler y límites de rastreo.

10. ▶️ Lanzar y revisar resultados

Inicia el escaneo. Monitorea progreso y, al finalizar, revisa vulnerabilidades por severidad (CVSS), evidencia y recomendaciones. Usa filtros por CVE, Plugin ID, familia o host.

Vista de progreso/resultados con desglose por severidad
10) Resultados por host y severidad (crítico, alto, medio, bajo, info).
🧠 Pro tip: exporta el reporte (HTML/PDF) y adjunta evidencias clave para remediación.

11. 📋 Revisar vulnerabilidades detectadas

Ve a Vulnerabilities para ver el listado por severidad, CVSS, familia y recuento. Úsalo como “backlog técnico” de corrección.

Listado de vulnerabilidades halladas en el escaneo
11) Vista de vulnerabilidades por severidad y familia.

12. 🔎 Profundizar en un hallazgo crítico

En el detalle verás Descripción, Solución, Output, CVEs, fechas del plugin, familia, etc. Valida reproducibilidad y posibles falsos positivos.

Detalle de una vulnerabilidad crítica en Nessus
12) Detalle de plugin crítico con evidencia y recomendación.

13. 🧠 Resumen del escaneo

En Scan Summary revisa totales por severidad, SO detectados, autenticación y duración. Base para el resumen ejecutivo.

Resumen del escaneo en Nessus
13) Panel con conteos, CVSS base y tiempos del escaneo.

14. 📝 Generar reportes

Usa Report → Generate Report y elige formato HTML, PDF o CSV. Plantillas por host, por plugin o de Remediations (muy útil para equipos de TI).

Generar reportes en Nessus
14) Plantillas de reporte y filtros aplicables.

15. 📄 Ejemplo de Reporte Avanzado

Vista interactiva.

16. 🔐 Escaneo autenticado en Linux (SSH + sudo)

Los escaneos autenticados elevan la precisión (menos falsos positivos) y descubren vulnerabilidades locales.

  1. Crear usuario dedicado (mínimos privilegios):
    sudo adduser nessusscan
    # (Opcional) Dar permisos sudo temporales para chequeos locales:
    echo "nessusscan ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/nessusscan
    En producción, restringe comandos permitidos en sudoers a inventario/lectura. Quita el usuario al finalizar.
  2. Configurar autenticación: genera clave en Kali y distribúyela al objetivo.
    ssh-keygen -t ed25519 -f ~/.ssh/nessus_ed25519 -N ""
    ssh-copy-id -i ~/.ssh/nessus_ed25519.pub nessusscan@192.168.6.11
  3. En Nessus → Credentials → SSH:
    • Authentication method: Public key (pega la privada o súbela de forma segura).
    • Elevate privileges: sudo (especifica si requiere contraseña).
    • Port: 22 (o el custom).
  4. Validar: ejecuta un Credentialed Patch Audit o revisa en resultados la bandera Credentialed Checks: yes.

17. 🪟 Escaneo autenticado en Windows (SMB/WMI/WinRM)

  1. Requisitos previos en host Windows:
    • Usuario con rol Administrators local o permisos equivalentes.
    • Servicios habilitados: Remote Registry (Automático), WMI o WinRM.
    • Firewall: habilitar reglas de File and Printer Sharing, WMI y/o WinRM (5985/5986).
    • (Opcional) LocalAccountTokenFilterPolicy=1 para cuentas locales remotas con UAC.
  2. Configurar credenciales en Nessus: Credentials → Windows.
    • Authentication method: SMB (NTLM) o WinRM.
    • Username: DOMINIO\usuario o .\Administrador para local.
    • SMB Signing/NTLMv1: mantener políticas seguras; si hay fallas, validar compatibilidad.
  3. Verificación: en resultados, revisa Credentialed Checks y evidencias de consultas del registro.
💡 Sugerencia: crea targets sets separados por SO (Linux/Windows) con políticas ajustadas por familia.

18. ⚙️ Rendimiento y estabilidad del escaneo

Paralelismo

  • Max hosts per scan: límite simultáneo de hosts (p.ej., 10–30 en redes medianas).
  • Max checks per host: 2–5 para entornos sensibles.
  • Network timeout/rate: sube timeouts en enlaces con latencia.

Puertos y descubrimiento

  • Port scan (TCP/UDP): inicia con TCP común; agrega UDP específico (53,123,161,500,4500).
  • Ping/ARP: desactiva ICMP si la red lo bloquea y usa ARP/TCP-SYN.
  • Safe Checks: mantener activo para reducir impacto en servicios frágiles.
⚠️ Evita “All ports + agresivo” en horario productivo. Programa en ventanas de mantenimiento.

19. 🎯 Alcance, exclusiones y listas

  • Define objetivos con IP, rangos, CIDR o FQDN.
  • Agrega Exclude Hosts (equipos críticos, BMS, PLC, impresoras de tickets, etc.).
  • Usa Tagging o carpetas (Servers, Workstations, ATM, DMZ) para gestionar políticas por segmento.

20. 🔗 Correlación con Nmap (pre/post)

Utiliza Nmap para hipótesis iniciales y valida con Nessus:

# Descubrimiento inicial (cauto)
nmap -sS -sV -O -T3 -Pn -p- 192.168.6.11 -oA pre_scan_192.168.6.11

# Enfoque en servicios detectados
nmap -sC -sV -p 22,80,139,445,3389 192.168.6.11 -oA focus_192.168.6.11
💡 Nessus confirmará CVEs y configuración; Nmap te da contexto de exposición y banners.

21. 🧯 Solución de problemas frecuentes

  • UI no carga / 503: la sincronización inicial de plugins puede tardar. Revisa logs.
    sudo journalctl -u nessusd -f
  • 8834 no escucha: servicio caído o firewall.
    ss -tulpen | grep 8834
    sudo systemctl restart nessusd
  • Dependencias rotas tras dpkg:
    sudo apt --fix-broken install -y
  • Reset duro (último recurso):
    sudo /opt/nessus/sbin/nessuscli fix --reset
    sudo systemctl restart nessusd
  • Registro/actualización vía CLI:
    # Registrar (online)
    sudo /opt/nessus/sbin/nessuscli fetch --register TU-CODIGO
    
    # Actualización offline de plugins
    sudo /opt/nessus/sbin/nessuscli update /ruta/nessus-plugins.tar.gz
  • Certificado propio:
    sudo /opt/nessus/sbin/nessuscli mkcert
  • Checks autenticados fallan: valida credenciales, puertos, políticas de UAC/WinRM y que “Credentialed Checks” aparezca como yes.

22. 🧾 Estructura del reporte profesional

  1. Resumen ejecutivo: 1 página con Top 5 riesgos, impacto y esfuerzo de mitigación.
  2. Metodología: alcance, ventanas, limitaciones, políticas (Safe Checks), autenticado/no autenticado.
  3. Hallazgos: por severidad (Crítico→Bajo) con: descripción, evidencia, CVE/CVSS, riesgo, referencia y cómo reproducir.
  4. Plan de remediación: “Quick wins” (parches, deshabilitar servicios) + tareas de mediano plazo (hardening, segmentación, IAM).
  5. Anexos: inventario de hosts/servicios, timeline de escaneos, parámetros clave.

23. ✅ Checklist previo al escaneo

  • Autorización firmada y alcance claro (incluye exclusiones).
  • Ventana y contactos on-call por si hay incidentes.
  • Accesos de red (VPN, rutas, DNS).
  • Credenciales listas (Linux SSH + sudo; Windows SMB/WMI/WinRM).
  • Plan de rollback si un servicio se degrada.

24. ⚖️ Riesgos, seguridad y buenas prácticas

  • Usa Safe Checks y Rate Limits en entornos frágiles.
  • No ejecutes “ataques” destructivos: Nessus no es un exploit framework.
  • Coordina con Blue Team para que los IDS/IPS esperen tráfico de auditoría.
  • Resguarda reportes: contienen información sensible (PII, versiones vulnerables, rutas).

25. 📚 Glosario rápido

  • CVE: identificador público de vulnerabilidad.
  • CVSS: métrica estandarizada de severidad (base, temporal, ambiental).
  • Plugin: chequeo específico de Nessus (tiene ID, familia y lógica).
  • Credentialed check: verificación con acceso autenticado al host.

🔧 Comandos útiles (servicio, red y CLI)

# Servicio Nessus
sudo systemctl stop nessusd
sudo systemctl start nessusd
sudo systemctl restart nessusd
sudo journalctl -u nessusd -f      # logs en vivo

# Verificar puerto
ss -tlnp | grep 8834

# Registrar/actualizar por CLI
sudo /opt/nessus/sbin/nessuscli fetch --register TU-CODIGO
sudo /opt/nessus/sbin/nessuscli update /ruta/nessus-plugins.tar.gz

# Crear usuario admin por CLI
sudo /opt/nessus/sbin/nessuscli adduser

# Certificado self-signed
sudo /opt/nessus/sbin/nessuscli mkcert

🔗 Consulta Adicional y Referencias

Leave a Reply

Your email address will not be published. Required fields are marked *