0
Escaneo de Vulnerabilidades con Nessus en Kali Linux, uso local (On-Prem / Lab / VM Kali) y Despliegue en nube (cloud pentesting)

Escaneo de Vulnerabilidades con Nessus en Kali Linux

Uso local (On-Prem / Lab / VM Kali) y Despliegue en nube (cloud pentesting)

📌 Contexto en Pentesting – Uso local (On-Prem / Lab / VM Kali)

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

Laboratorio Práctico: Nessus desde Kali Linux – Pentesting por Línea de Comandos
Nessus en Kali Linux – Pruebas de Penetración desde Línea de Comandos en nube (cloud pentesting)

📌 Contexto en Pentesting – Nube (Cloud Pentesting)

Se reproduce un escenario realista de pruebas de penetración en el que el consultor dispone únicamente de una instancia Kali Linux desplegada en la nube (por ejemplo, AWS) como plataforma atacante. En este contexto no se asume acceso a infraestructura interna del cliente ni a consolas administrativas adicionales; el pentester opera exclusivamente desde el host asignado.

El objetivo no es “administrar” Nessus como una solución permanente, sino utilizarlo de forma puntual y controlada como herramienta de apoyo dentro del flujo ofensivo, para validar hallazgos, confirmar versiones vulnerables y respaldar técnicamente el análisis manual.

La operación se controla bajo el principio: mínima exposición. Por ello, la consola de Nessus se consulta mediante 127.0.0.1 y/o túneles (cuando aplica) para evitar publicar el puerto 8834 en la red.

Enfoque profesional: Nessus acelera el análisis (detección de versiones, misconfigurations, evidencia CVE), pero el pentester decide qué validar, cómo priorizar y cómo explotar de forma controlada.

1. Preparación de la Instancia Kali (CLI Only)

Antes de instalar y ejecutar el motor, el pentester valida su contexto operativo: usuario actual, hostname, interfaces y trazabilidad de la IP atacante.

whoami hostname ip a pwd
  • Privilegios: idealmente root o sudo para instalar y controlar servicios.
  • Interfaz activa: confirma qué NIC sale a la red objetivo.
  • IP atacante: útil para correlación en logs y reporte técnico.
En consultoría, esta sección suele documentarse como “Punto de Ejecución / Host de Prueba” para demostrar origen de tráfico y reproducibilidad.

2. Instalación de Nessus desde Línea de Comandos

Nessus se instala desde paquete .deb para mantener control total de versión y componentes. En tu evidencia, el instalador ejecuta múltiples pruebas de integridad criptográfica (KAT/DRBG/Hash), lo que confirma que el motor quedó preparado para operar.

dpkg -i Nessus-10.11.1-debian10_amd64.deb
Lectura técnica: al finalizar verás “INSTALL PASSED” y la recomendación de iniciar nessusd. Esto significa que el motor, librerías y estructura en /opt/nessus quedaron listas.
Instalación de Nessus
Figura 1: Instalación de Nessus y verificación de integridad del motor de escaneo

3. Arranque Controlado del Servicio Nessus

Nessus opera como servicio nessusd. En un enfoque ofensivo, esto permite encender el motor únicamente cuando la ventana de pruebas lo requiere, reduciendo exposición, consumo de CPU y ruido operativo.

systemctl start nessusd
systemctl start nessusd
Figura 2: Inicio del servicio Nessus (nessusd) desde terminal
Regla de oro: si el servicio no está arriba, el puerto 8834 no responderá y la UI quedará inaccesible. Siempre valida el estado antes de continuar.

4. Validación del Estado (Evidencia de Ejecución)

Este paso confirma que el servicio está activo y que el proceso principal (nessus-service) se está ejecutando. En tu captura se observa claramente: active (running), lo cual valida que el motor está listo para cargar plugins y correr scans.

systemctl status nessusd
Qué revisar aquí: estado, PID, consumo básico y ruta de ejecución. Si hay fallos, revisa logs con:
journalctl -u nessusd –no-pager -n 200
Estado del servicio Nessus
Figura 3: Servicio Nessus activo (running) y proceso principal identificado

5. Acceso Seguro a la Consola mediante Túnel (PuTTY)

Si el pentester opera desde otra estación (por ejemplo, Windows) o requiere un canal seguro, se usa un túnel SSH que redirige el puerto 8834 hacia 127.0.0.1. Esto evita exponer Nessus en la red y mantiene la administración contenida.

Parámetro clave: L8834 → 127.0.0.1:8834
Significa: “abre 8834 en mi máquina local y envíalo por SSH hacia el 8834 local del servidor”.
PuTTY Tunnel 8834
Figura 4: Túnel SSH en PuTTY para acceder a Nessus por 127.0.0.1:8834
Error típico: si el destino no es 127.0.0.1:8834 o el túnel no está “UP”, la UI no cargará correctamente o quedará en blanco.

6. Inicialización de Nessus y Carga de Plugins

Al acceder a https://127.0.0.1:8834, Nessus puede mostrar “Initializing”. Esto ocurre cuando el motor está preparando su base de plugins, reglas de detección y catálogos internos. En un pentest real esto debe contemplarse dentro de la ventana de ejecución.

Interpretación ofensiva: mientras Nessus inicializa, el pentester puede ejecutar recon paralelo (Nmap, enumeración de servicios, fingerprinting) para optimizar tiempo.
Nessus Initializing
Figura 5: Nessus inicializando (carga de plugins y componentes)

7. Selección de Plantillas de Escaneo (Pentesting-Driven)

Una vez cargado, se habilita la sección de Scan Templates. Aquí se selecciona el tipo de escaneo según el objetivo del pentest y el nivel de autorización. Elegir correctamente evita ruido, reduce falsos positivos y mejora la calidad del reporte.

  • Host Discovery: descubrir hosts vivos y puertos abiertos con mínimo impacto.
  • Basic Network Scan: baseline general para vulnerabilidades comunes.
  • Advanced Scan: control fino de puertos, performance, plugins y exclusiones.
  • Credential Validation / Credentialed Patch Audit: mejor cobertura si hay credenciales autorizadas.
  • Web Application Tests: detección web (si el alcance lo permite) como complemento a Burp/manual.
Regla práctica: en pentesting, primero “descubres y entiendes” (Nmap/enum) y luego “confirmas y evidencias” (Nessus). Nessus sirve para acelerar el “evidence-building”, no para reemplazar la metodología.
Plantillas Nessus
Figura 6: Plantillas de escaneo disponibles para discovery y vulnerabilidades

Valor del Enfoque CLI en Pentesting

  • Menor huella: menos exposición de servicios administrativos.
  • Más control: el pentester inicia/detiene motor según ventana de pruebas.
  • Operación reproducible: comandos y evidencias documentables.
  • Mejor reporting: correlación de hallazgos manuales con evidencia de scanner.
Buenas prácticas: limita el alcance, controla timing, define puertos y prioriza targets. Un scan agresivo sin control puede afectar disponibilidad o disparar detecciones innecesarias.

Consulta adicional y referencias

Recursos técnicos para profundizar en Nessus y su uso dentro de pruebas de penetración:

Leave a Reply

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