
Los escaneos de puertos representan una de las fases más críticas en la cadena de ataque. Antes de lanzar una explotación o ataque dirigido, los actores maliciosos buscan mapear la superficie de exposición de un sistema.
Los puertos abiertos de un servidor o equipo funcionan como puertas de entrada: permiten la comunicación entre el sistema y el exterior. Si bien muchos de estos servicios son legítimos (HTTP en el puerto 80, HTTPS en el 443, SSH en el 22, etc.), también son una fuente de información para atacantes.
Por ello, comprender cómo funciona un escaneo de puertos y aplicar estrategias para prevenir, detectar y responder es fundamental tanto en entornos empresariales como en equipos personales.
Un escaneo de puertos es el proceso mediante el cual un atacante (o auditor de seguridad) envía paquetes a los distintos puertos de una máquina con el objetivo de identificar:
Qué puertos están abiertos o cerrados.
Qué servicios están escuchando en esos puertos.
Qué versión de software utilizan dichos servicios.
La herramienta más utilizada para esta tarea es Nmap, aunque existen muchas otras (Masscan, Unicornscan, Zmap, etc.).
Un ejemplo básico con Nmap sería:
Ese comando envía solicitudes a todos los puertos de la dirección IP 192.168.1.10 para identificar cuáles están abiertos.
Este tipo de acciones permiten a un atacante construir un perfil detallado del sistema objetivo.
Escaneo TCP Connect
Intenta establecer una conexión completa (3-way handshake).
Fácil de detectar, ya que genera logs en el sistema.
Escaneo SYN (Half-Open)
Envía solo el paquete SYN y espera respuesta.
Más sigiloso que el anterior.
Escaneo UDP
Identifica servicios que funcionan sobre UDP (DNS, SNMP, TFTP).
Más lento y difícil de detectar, ya que muchos servicios no responden.
Escaneos sigilosos (FIN, Xmas, Null)
Se basan en enviar paquetes manipulados que no completan la conexión.
Buscan evadir sistemas de detección.
Fingerprinting de servicios
Permite identificar no solo el puerto, sino también la versión del software (ej. Apache 2.4.49).
Aunque en sí mismo no daña al sistema, un escaneo de puertos:
Expone vulnerabilidades: un puerto abierto con un servicio desactualizado puede ser explotado.
Permite enumeración: el atacante puede identificar qué sistema operativo y servicios utiliza el objetivo.
Prepara ataques posteriores: como fuerza bruta en SSH, explotación de servicios, o inyecciones.
Sirve para reconocimiento pasivo-activo: es el primer paso antes de un ataque más avanzado.
En resumen: si un atacante sabe “qué puertas están abiertas”, podrá elegir mejor dónde atacar.
Cerrar servicios innecesarios: no tener corriendo FTP si no se usa.
Aplicar el principio de mínimo privilegio: solo los puertos y servicios esenciales deben estar activos.
Deshabilitar servicios en desuso: Telnet, Rlogin, etc.
En Linux se pueden listar servicios con:
o con:
El firewall es la primera barrera. Permite definir reglas para bloquear accesos no autorizados.
Ejemplo en Linux con iptables:
Esto permitiría acceso al puerto 22 (SSH) solo desde una IP específica.
En Windows, se puede usar el Firewall de Windows Defender para reglas similares.
Herramientas como Snort, Suricata o Zeek (Bro) pueden detectar patrones de escaneo.
Por ejemplo: múltiples intentos a puertos consecutivos en poco tiempo → alerta de escaneo.
El port knocking es una técnica que mantiene un puerto cerrado hasta que se recibe una secuencia específica de intentos.
Así, un atacante que escanee verá el puerto como cerrado, pero un usuario legítimo podrá “abrirlo” con la secuencia correcta.
Ejemplo con la herramienta knockd en Linux.
Un honeypot es un sistema trampa. Puedes configurar puertos falsos abiertos para que los atacantes los escaneen y tú registres la actividad.
Ejemplo: Honeyd, Cowrie.
Esto no evita el escaneo, pero te permite aprender y reaccionar.
Muchas veces los servicios revelan demasiada información.
Ejemplo: un servidor web que responde con:
Esto ayuda al atacante. Debe configurarse para no mostrar versiones o información del sistema.
Separar servicios internos (intranet, bases de datos) de servicios públicos (web, correo).
Si un atacante escanea una parte de la red, no debería tener acceso a toda.
En Linux: /var/log/auth.log, /var/log/syslog
En Windows: Visor de Eventos → Seguridad
Fail2ban: bloquea IPs tras intentos repetidos.
Netstat o tcpdump: permiten observar conexiones sospechosas.
Ejemplo con tcpdump:
Si ves muchos intentos a puertos consecutivos, probablemente es un escaneo.
Como administrador de sistemas, puedes realizar escaneos controlados contra tu infraestructura para detectar qué información expones.
Ejemplo:
-sS: escaneo SYN
-sV: detecta versión de servicios
-O: intenta identificar sistema operativo
Esto te permitirá ver tu red como la vería un atacante.
Supongamos que tienes un servidor expuesto a Internet con:
Puerto 22 (SSH) abierto.
Puerto 80 (HTTP) abierto.
Puerto 3306 (MySQL) abierto sin restricción.
Un atacante podría usar:
Vería los tres puertos abiertos. Si encuentra que el MySQL permite conexión externa, intentará explotarlo.
Restringir MySQL solo a localhost (bind-address=127.0.0.1).
Permitir SSH solo por VPN o con port knocking.
Usar firewall para bloquear puertos no necesarios.
Así, un nuevo escaneo mostraría únicamente:
Puerto 80 abierto (servicio legítimo).
Los demás filtrados.
Actualizar servicios y sistemas constantemente.
Usar VPNs y túneles seguros para accesos remotos.
Monitorizar métricas de red para detectar comportamientos inusuales.
Educar a usuarios y administradores: un servicio mal configurado puede exponer todo un sistema.
Evitar un escaneo de puertos en sentido absoluto es prácticamente imposible: mientras haya puertos abiertos, existirán formas de detectarlos.
Lo importante es minimizar la superficie expuesta, aplicar controles de seguridad, detectar intentos de reconocimiento y responder de forma proactiva.
Un escaneo de puertos no es un ataque en sí mismo, sino una señal de advertencia. Ignorarlo es abrirle la puerta a ataques más graves.
Con las técnicas vistas —firewalls, IDS, port knocking, honeypots, segmentación y buenas prácticas— es posible reducir drásticamente el impacto y aumentar la seguridad de cualquier infraestructura.