Parte: 1 — Redes y seguridad de redes · Fuente: Nmap Network Scanning, G. Lyon ⏱️ Duración estimada: 100 min · Nivel: Intermedio
Ir más allá de "puerto abierto" para saber qué servicio corre, en qué versión y sobre qué sistema operativo. El alumno aprenderá la detección de versiones (-sV), el fingerprinting de OS (-O), su relación con las vulnerabilidades conocidas y cómo interpretar la confianza de cada resultado.
Al finalizar, el alumno podrá:
-sV, -O y scripts en un escaneo integral (-A).| # | Tema | Por qué importa |
|---|---|---|
| 1 | Detección de versión (-sV) |
Convierte puertos en servicios concretos |
| 2 | Intensidad de sondeo (--version-intensity) |
Precisión vs. ruido |
| 3 | nmap-service-probes y CPE | Cómo Nmap identifica y cataloga |
| 4 | OS fingerprinting (-O) |
Adaptar tácticas al sistema |
| 5 | Fiabilidad y --osscan-guess |
Interpretar la confianza |
| 6 | Escaneo agresivo (-A) |
Todo en una pasada |
| 7 | De versión a vulnerabilidad (CVE/CPE) | Priorizar hallazgos |
-sV): Nmap envía sondas específicas y compara las respuestas con la base nmap-service-probes para identificar producto y versión exacta.cpe:/a:apache:http_server:2.4.41) que Nmap emite y que enlaza con bases de vulnerabilidades.-O): analiza detalles de la pila TCP/IP (ISN, opciones, tamaño de ventana, TTL) para inferir el sistema operativo.searchsploit / base local de CVE para correlacionar versiones.⚠️ Nota ética: identificar versiones para localizar vulnerabilidades es legítimo solo con autorización. No explotes nada fuera de tu laboratorio. Correlacionar CVEs es análisis; explotarlos sin permiso es un delito.
bash
sudo nmap -sV 192.168.56.101
bash
sudo nmap -sV --version-intensity 9 192.168.56.101
bash
sudo nmap -O 192.168.56.101
bash
sudo nmap -O --osscan-guess 192.168.56.101
bash
sudo nmap -A 192.168.56.101
bash
sudo nmap -sV -p 22,80,443 192.168.56.101
bash
sudo nmap -sV -oX serv.xml 192.168.56.101
grep -o 'cpe:[^<]*' serv.xml | sort -u
bash
searchsploit "OpenSSH 7.2"
-O con y sin --osscan-guess en un host difícil de identificar.-A y clasifica qué información aporta cada sección de la salida.--version-intensity de 0 a 9 sobre el mismo host y compara resultados y ruido.Genera un inventario de servicios de un host de laboratorio con producto, versión y CPE, y añade una columna "riesgo potencial" citando al menos un CVE público asociado a una de las versiones detectadas (solo referencia, sin explotación). Entrega la salida -oA y la tabla.
Criterio de aceptación: las versiones y CPE coinciden con un reescaneo del revisor, y el CVE citado corresponde realmente a la versión reportada según NVD.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
-O no identifica el OS |
Falta un puerto cerrado o el host filtra; usa --osscan-guess o abre el alcance de puertos |
| Versión aparece como "tcpwrapped" | El servicio cierra la conexión tras el handshake; suele indicar filtrado o control de acceso |
-sV muy lento |
Intensidad alta o muchos puertos; baja intensidad o limita con -p |
| CPE ausente | Nmap no reconoció el producto; sube intensidad o revisa manualmente el banner |
| OS reportado con baja fiabilidad | Pila TCP/IP atípica (NAT, dispositivos embebidos); toma el resultado como conjetura |
❓ ¿-sV explota el servicio?
No. Solo envía sondas benignas y compara banners/respuestas. No intenta comprometer nada.
❓ ¿Puedo confiar al 100% en la versión detectada? No siempre. Los banners pueden estar ofuscados o modificados. Trátalo como una hipótesis fuerte, verificable con más pruebas.
❓ ¿Por qué el OS a veces sale como varias opciones? Cuando ninguna huella supera el umbral de fiabilidad, Nmap lista las candidatas más probables. Dispositivos tras NAT o embebidos complican la identificación.
❓ ¿Qué gano con el CPE? Es la llave para automatizar la búsqueda de vulnerabilidades: se cruza con bases como NVD para saber qué CVEs afectan a esa versión concreta.
Clase 030 — Nmap: escaneo de puertos y tipos de escaneo