Back to: BHPX – Black Hat Pentesting eXpert Network & Web Exploitation
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”.
0. ✅ Prerrequisitos
- Kali con privilegios
sudoy 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.
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
3. 🚀 Habilitar y arrancar el servicio
sudo systemctl enable nessusd sudo systemctl start nessusd sudo systemctl status nessusd # Debe verse active (running)
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.
5. 🔑 Activación
Ingresa el Activation Code (lo recibes por correo al registrarte). La primera sincronización descarga los plugins.
6. 👤 Crear cuenta administrativa local
Define usuario y contraseña para administrar Nessus.
/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.
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.
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.
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.
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.
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.
13. 🧠 Resumen del escaneo
En Scan Summary revisa totales por severidad, SO detectados, autenticación y duración. Base para el resumen ejecutivo.
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).
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.
- 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. - 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
- 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).
- Authentication method:
- Validar: ejecuta un Credentialed Patch Audit o revisa en resultados la bandera Credentialed Checks: yes.
17. 🪟 Escaneo autenticado en Windows (SMB/WMI/WinRM)
- 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.
- Configurar credenciales en Nessus: Credentials → Windows.
- Authentication method: SMB (NTLM) o WinRM.
- Username:
DOMINIO\usuarioo.\Administradorpara local. - SMB Signing/NTLMv1: mantener políticas seguras; si hay fallas, validar compatibilidad.
- Verificación: en resultados, revisa Credentialed Checks y evidencias de consultas del registro.
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.
19. 🎯 Alcance, exclusiones y listas
- Define objetivos con IP, rangos,
CIDRo 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
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
- Resumen ejecutivo: 1 página con Top 5 riesgos, impacto y esfuerzo de mitigación.
- Metodología: alcance, ventanas, limitaciones, políticas (Safe Checks), autenticado/no autenticado.
- Hallazgos: por severidad (Crítico→Bajo) con: descripción, evidencia, CVE/CVSS, riesgo, referencia y cómo reproducir.
- Plan de remediación: “Quick wins” (parches, deshabilitar servicios) + tareas de mediano plazo (hardening, segmentación, IAM).
- 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
- 🔗 Descarga oficial de Nessus (Tenable) (instaladores por SO)
- 🔗 Getting Started con Nessus (primeros pasos, UI)
- 🔗 NIST NVD (consulta de CVEs y métricas CVSS)
📌 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.
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.
- 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.
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.
nessusd. Esto significa que el motor, librerías y estructura en /opt/nessus quedaron listas.
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.
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.
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.
L8834 → 127.0.0.1:8834Significa: “abre 8834 en mi máquina local y envíalo por SSH hacia el 8834 local del servidor”.
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.
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.
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.
Consulta adicional y referencias
Recursos técnicos para profundizar en Nessus y su uso dentro de pruebas de penetración:
- 🔗 Tenable Nessus Documentation (Instalación, configuración y escaneos.)
- 🔗 Nmap Reference Guide (Reconocimiento previo para definir targets y puertos.)
- 🔗 MITRE ATT&CK (Mapeo de técnicas ofensivas para respaldar hallazgos.)
- 🔗 OWASP Top 10 (Priorización de riesgos y contexto de impacto.)
Leave a Reply