Escaneo y Enumeración
Del Reconocimiento al Escaneo
Una vez que tenés 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: enviás paquetes a los sistemas del objetivo y observás 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.
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.
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 tenés privilegios de root.
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.
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 dosificá según el contexto.
Banner Grabbing
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.
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 debés confiar ciegamente en ellos. Corroborá 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.
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 reunís de forma estructurada, más sólida será la fase de análisis de vulnerabilidades que sigue.
Documentá 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.