Escaneo de puertos: técnicas y herramientas

En la sesión anterior definimos el concepto de escaneo. Hagamos un recuento del concepto: el escáner de puertos o escaneo de puertos designa la acción de analizar, por medio de un programa, el estado de los puertos de una máquina conectada a una red: detecta si un puerto está abierto, cerrado o protegido por un cortafuegos, qué servicios ofrece la máquina y, a veces, qué sistema operativo ejecuta.

Técnicas de escaneo de puertos

Las técnicas básicas, que todo escáner moderno implementa, son:

  • TCP connect: completa el saludo TCP (SYN, SYN/ACK, ACK) contra cada puerto. Es el más ruidoso y el más fácil de registrar.
  • TCP SYN (sigiloso): envía solo el SYN y no completa la conexión: si llega SYN/ACK, el puerto está abierto; si llega RST, está cerrado. Es más rápido y deja menos rastro en los registros de la aplicación.
  • UDP: envía datagramas a puertos UDP y deduce el estado por la respuesta o por el mensaje ICMP de puerto inalcanzable. Es más lento e impreciso, porque muchos servicios UDP no responden nada.
  • Detección de versiones y sistema operativo: una vez hallado un puerto abierto, el escáner interroga al servicio (banner, respuestas características) para identificar qué software y versión lo atiende, y deduce el sistema operativo por el comportamiento de su pila TCP/IP.

La herramienta actual: Nmap

La referencia para todo esto es Nmap: un escaneo típico combina descubrimiento de hosts, escaneo SYN, detección de servicios y versiones y detección de sistema operativo en una sola orden, y sus scripts (NSE) cubren casos como FTP anónimo o recursos compartidos expuestos. Las contramedidas siguen siendo las mismas: cerrar puertos innecesarios, filtrar con el cortafuegos, y no exponer servicios que nadie usa. El escaneo solo se practica contra sistemas propios o con autorización explícita.