Saltar al contenido
Lección 4 de 8

Escaneo y Enumeración

8 min read

Del Reconocimiento al Escaneo

Una vez que tienes un mapa de los activos del objetivo, el escaneo confirma qué hosts están vivos, qué puertos están abiertos y qué servicios corren detrás de ellos. Si el reconocimiento responde "¿qué existe?", el escaneo responde "¿qué está activo y accesible?". Esta fase transforma un inventario teórico en una superficie de ataque concreta.

El escaneo es inherentemente activo: envías paquetes a los sistemas del objetivo y observas sus respuestas. Por eso es detectable y debe realizarse siempre dentro del scope autorizado y respetando las ventanas de testing acordadas. Un escaneo agresivo puede saturar servicios frágiles, así que ajustar la intensidad según el entorno es parte de la profesionalidad.

La herramienta dominante para esta fase es Nmap, un escáner de red flexible y potente que es prácticamente un estándar de la industria. Dominarla es esencial para cualquier pentester.

Marco ético: el escaneo es activo y detectable. Ejecútalo solo dentro del alcance autorizado y respetando las ventanas de testing acordadas.

Escaneo y Enumeración en MITRE ATT&CK

Para hablar el mismo idioma que los defensores conviene ubicar esta fase en MITRE ATT&CK. El escaneo activo cae bajo la táctica de Reconnaissance (TA0043), y en particular en la técnica Active Scanning (T1595), que cubre el sondeo de rangos IP, el escaneo de puertos y el barrido de servicios expuestos. Una vez dentro del entorno, la enumeración de hosts, servicios y usuarios se mapea contra la táctica de Discovery (TA0007).

Referenciar estas tácticas en tu informe conecta cada hallazgo con el marco que usa el equipo azul, facilita construir detecciones y demuestra que tu trabajo no es una colección de comandos sueltos sino un ejercicio estructurado y trazable.

Descubrimiento de Hosts

Antes de escanear puertos conviene saber qué hosts están vivos dentro de un rango. El descubrimiento de hosts evita perder tiempo sondeando direcciones inexistentes. Nmap ofrece el flag -sn (ping scan) que identifica hosts activos sin escanear puertos, usando combinaciones de ICMP, ARP y sondas TCP/UDP según el contexto de red.

# Ping scan: descubre qué hosts responden en la subred de laboratorio,
# sin tocar ningún puerto todavía.
nmap -sn 10.0.0.0/24

En redes locales, el descubrimiento por ARP es muy fiable porque opera a nivel de enlace. En redes remotas, donde el firewall puede bloquear ICMP, conviene usar sondas a puertos comunes para inferir si un host responde. Comprender cómo el objetivo filtra el tráfico te ayuda a interpretar correctamente qué hosts están realmente vivos versus simplemente filtrados.

El resultado de esta etapa es una lista depurada de objetivos vivos sobre la cual concentrar el escaneo de puertos detallado, ahorrando tiempo y reduciendo ruido innecesario.

Escaneo de Puertos con Nmap

El escaneo de puertos identifica qué servicios escuchan en un host. El TCP SYN scan (-sS), también llamado "half-open scan", es el método por defecto y más eficiente: envía un SYN, observa la respuesta y no completa el handshake, lo que lo hace rápido y relativamente discreto. El TCP connect scan (-sT) completa la conexión y se usa cuando no tienes privilegios de root.

# SYN scan de los 65 535 puertos TCP de un solo host autorizado.
nmap -sS -p- 10.0.0.5

# UDP scan de los 20 puertos más comunes: más lento, pero descubre
# servicios como DNS, SNMP o DHCP que el TCP scan no ve.
nmap -sU --top-ports 20 10.0.0.5

Para servicios UDP, el UDP scan (-sU) es más lento e impreciso por la naturaleza del protocolo, pero es importante porque muchos servicios críticos — DNS, SNMP, DHCP — corren sobre UDP y suelen pasarse por alto. Un escaneo que ignora UDP deja puntos ciegos significativos en la superficie de ataque.

Nmap permite controlar el rango de puertos (-p), la velocidad mediante plantillas de timing (-T0 a -T5) y el nivel de detalle. Empezar con un escaneo rápido de los puertos más comunes y luego profundizar en los hallazgos interesantes es una estrategia eficiente y respetuosa con los sistemas del cliente.

Detección de Servicios y Versiones

Saber que un puerto está abierto es solo el principio; lo valioso es saber qué corre ahí y en qué versión. El flag -sV activa la detección de versiones: Nmap interroga el servicio, analiza sus respuestas y las compara con una base de datos de firmas para identificar el producto y la versión exacta.

# Detección de versión (-sV) más los scripts por defecto (-sC),
# un conjunto seguro y muy informativo para el primer pase.
nmap -sV -sC 10.0.0.5

# Detección de SO (-O) y modo agresivo (-A): más rico, pero más
# ruidoso y lento. Reservalo para hosts prioritarios.
nmap -O -A 10.0.0.5

Esta información es oro para las fases siguientes. Conocer que un servidor corre, por ejemplo, una versión específica de OpenSSH o de un servidor web te permite buscar vulnerabilidades conocidas asociadas a esa versión exacta. El flag -O añade detección de sistema operativo mediante fingerprinting de la pila TCP/IP, completando el perfil del host.

La combinación -sV -O, o el modo agresivo -A que añade además scripts y traceroute, ofrece una visión rica de cada objetivo. Eso sí, cuanto más profundo el escaneo, más ruidoso y lento, así que dosifica según el contexto.

El banner grabbing consiste en capturar la información de identificación que muchos servicios anuncian al conectarse. Un banner puede revelar el nombre del software, su versión e incluso detalles de configuración. Herramientas simples como netcat permiten conectarse a un puerto y leer el banner manualmente, mientras que Nmap lo automatiza con su detección de versiones.

# Banner grabbing manual con netcat contra el puerto SMTP (25):
# la conexión suele devolver el software y versión del MTA.
nc -nv 10.0.0.5 25

Por ejemplo, conectarse a un servidor de correo SMTP suele devolver un banner con el software y versión del MTA. Un servidor web responde con cabeceras HTTP que pueden incluir el campo Server. Estos detalles, aunque aparentemente menores, orientan la búsqueda de vulnerabilidades hacia versiones concretas y configuraciones específicas.

Vale aclarar que algunos administradores ofuscan o falsifican banners como medida defensiva, así que no debes confiar ciegamente en ellos. Corrobora la información con múltiples técnicas antes de sacar conclusiones.

Enumeración Profunda con Scripts

Nmap incluye el Nmap Scripting Engine (NSE), una biblioteca de cientos de scripts que automatizan enumeración avanzada: enumerar shares SMB, listar usuarios, detectar configuraciones débiles, consultar registros DNS o identificar vulnerabilidades conocidas. La categoría --script default (o -sC) corre un conjunto seguro de scripts útiles.

# Enumeración de shares SMB con un script NSE puntual sobre el puerto 445.
nmap -p445 --script smb-enum-shares 10.0.0.5

# Enumeración SMB complementaria con herramientas dedicadas.
enum4linux -a 10.0.0.5
smbclient -L //10.0.0.5

# Descubrimiento de contenido web contra un servicio HTTP de laboratorio.
gobuster dir -u http://10.0.0.5 -w wordlist.txt
ffuf -u http://10.0.0.5/FUZZ -w wordlist.txt

La enumeración profunda extrae detalle de cada servicio descubierto: usuarios de un servidor, directorios de un servicio web, versiones de bases de datos, o políticas de una configuración. Cuanta más información reúnes de forma estructurada, más sólida será la fase de análisis de vulnerabilidades que sigue.

Documenta cada hallazgo asociándolo a su host y servicio. Una enumeración ordenada y completa es la base sobre la que se construye un pentest exitoso, y evita tener que repetir escaneos más adelante.

Mini-escenario: un Escaneo Dosificado

Imagina que tienes autorización para evaluar la subred 192.168.50.0/24 durante una ventana nocturna de dos horas. En lugar de lanzar un -A masivo contra todo el rango, dosificas el trabajo: primero corres nmap -sn 192.168.50.0/24 para quedarte solo con los hosts vivos. Sobre esa lista depurada aplicas un SYN scan de puertos comunes con timing moderado, y recién sobre los pocos hosts con servicios interesantes profundizas con -sV -sC.

Este enfoque escalonado respeta la ventana acordada, mantiene el ruido bajo control y produce resultados trazables. Si un servicio parece frágil, bajas el timing (-T2) y avisas al punto de contacto antes de insistir. La profesionalidad no está en el escaneo más agresivo, sino en el más preciso y respetuoso con el entorno del cliente.

Checklist de Buenas Prácticas

  • Confirma el alcance: verifica que cada IP y rango esté dentro del scope firmado antes de enviar un solo paquete.
  • Respeta las ventanas: ejecuta los escaneos ruidosos solo dentro de los horarios acordados con el cliente.
  • Empieza suave: descubre hosts vivos primero y sube la intensidad de forma escalonada, no de golpe.
  • Cuida los servicios frágiles: ajusta el timing (-T) cuando detectes sistemas que puedan saturarse.
  • No ignores UDP: incluye un pase UDP para no dejar puntos ciegos en la superficie de ataque.
  • Corrobora los banners: contrasta la identificación de servicios con más de una técnica antes de concluir.
  • Documenta todo: asocia cada hallazgo a su host, puerto y servicio, y guarda la salida cruda de Nmap.
  • Mapea a ATT&CK: referencia Reconnaissance (T1595) y Discovery (TA0007) para conectar los hallazgos con el equipo defensor.