El análisis de puertos se utiliza para comprobar qué puertos de la red están abiertos y pueden recibir o enviar datos. También se utiliza para enviar paquetes a puertos concretos de un anfitrión y analizar respuestas para identificar vulnerabilidades.
Este análisis no es posible si no se crea una lista de anfitriones activos y se asignan a sus direcciones IP. Esta actividad, llamada descubrimiento de sistemas, empieza por hacer un análisis de la red.
El objetivo del análisis de puertos y de red es identificar la organización de las direcciones IP, los anfitriones y los puertos para determinar correctamente las ubicaciones del servidor vulnerables y diagnosticar los niveles de seguridad. Tanto el análisis de red como el de puertos revelan la presencia de seguridad en el lugar, como un cortafuegos entre el servidor y el dispositivo del usuario.
Tras una análisis de red en profundidad y de que se reúna una lista de anfitriones activos, se puede llevar a cabo un análisis de puertos para identificar los puertos abiertos de la red que podrían habilitar accesos no autorizados.
Es importante destacar que el análisis de red y de puertos lo pueden llevar a cabo tanto administradores de TI como ciberdelincuentes para verificar o comprobar las políticas de seguridad de una red e identificar vulnerabilidades y, en el caso de los atacantes, para explotar los posibles puntos de entrada débiles. De hecho, el descubrimiento de sistemas en el análisis de red a menudo es el primer paso que utilizan los ciberdelincuentes antes de ejecutar un ataque.
Como ambos análisis se siguen utilizando como herramientas clave para los atacantes, los resultados de estos puede proporcionar indicaciones importantes de los niveles de seguridad de red a los administradores de TI que intentan proteger las redes de los ataques.
¿Qué son los puertos y los números de puerto?
En informática, los puertos son el punto de acoplamiento central del flujo de información desde un programa o Internet a un dispositivo u otro equipo de la red y viceversa. Piense en ellos como el lugar de estacionamiento para el intercambio de datos mediante mecanismos electrónicos, de software o vinculados a la programación.
Los números de puerto se utilizan con fines de programación y homogeneidad. Todo proveedor de servicios de Internet debe guardar el número de puerto asociado a una dirección IP para poder responder a las peticiones. Los puertos tienen un rango de 0 a 65 536 y se clasifican por su popularidad.
Los puertos del 0 a 1023 son conocidos por estar diseñados para su uso en Internet, aunque también pueden tener fines especializados. Los administra la Internet Assigned Numbers Authority (IANA). Estos puertos están en manos de empresas de máximo nivel como Apple QuickTime, MSN, servicios SQL y otras organizaciones importantes. Puede que reconozca algunos de los puertos más destacados y los servicios que tienen asignados:
- El puerto 20 (UDP) lo ocupa el Protocolo de transferencia de archivos (FTP), que se usa para transferir datos
- El puerto 22 (TCP) corresponde a Secure Shell (SSH), un protocolo para inicios de sesión seguros, ftp y enrutamiento de puertos
- El puerto 53 (UDP) es el Sistema de nombres de dominio (DNS), que traduce nombres a direcciones IP
- El puerto 80 (TCP) es el HTTP de la World Wide Web
Los números 1024 a 49 151 se consideran «puertos registrados», ya que están registrados por corporaciones de software. Los puertos 49 151 a 65 536 son puertos dinámicos y privados; casi todos pueden usarlos.
¿Qué protocolos se utilizan en el análisis de puertos?
Los protocolos generales utilizados para el análisis de puertos son TCP (Protocolo de control de transmisión) y UDP (Protocolo de datagramas de usuario). Ambos son métodos de transmisión de datos en Internet, pero tienen diferentes mecanismos.
Si bien TCP es una transmisión de datos fiable con conexión bidireccional que depende del estado del destino para completar un envío satisfactorio, el protocolo UDP no tiene conexión y no es de confianza. No importa el destino al que se envían los datos a través del protocolo UDP, por lo que no se garantiza que los datos lleguen a él.
Existen distintas técnicas para llevas a cabo el análisis de puertos utilizando estos dos protocolos.
¿Cuáles son las distintas técnicas de análisis de puertos?
Hay varias técnicas para el análisis de puertos, dependiendo del objetivo específico. Es importante destacar que los ciberdelincuentes también escogerán una técnica de análisis de puertos específica en base a su objetivo o estrategia de ataque.
A continuación, se enumeran algunas de las técnicas y se explica su funcionamiento:
- Análisis de ping Los análisis de puertos más simples se denominan análisis de ping. En una red, un ping se utiliza para verificar si un paquete de datos de red puede distribuirse a una dirección IP sin errores. Los análisis de ping son solicitudes de protocolo de mensajes de control de Internet (ICMP) que envían una ráfaga automática de varias solicitudes ICMP a diferentes servidores para provocar las respuestas. Los administradores de TI pueden usar esta técnica para solucionar problemas o deshabilitar el análisis del ping mediante el uso de un cortafuegos, lo que hace imposible a los atacantes encontrar la red mediante pings.
- Análisis SYN o semiabiertos Un análisis semiabierto o SYN, la abreviatura de sincronizar, es una táctica que utilizan los atacantes para determinar el estado de un puerto sin establecer una conexión completa. Este análisis solo envía un mensaje SYN y no completa la conexión, por lo que el objetivo queda pendiente. Es una técnica rápida y engañosa destinada a encontrar posibles puertos abiertos en los dispositivos de destino.
- Análisis XMAS Los análisis XMAS son aún más silenciosos y menos perceptibles por los cortafuegos. Por ejemplo, los paquetes FIN suelen enviarse desde el servidor o cliente para terminar una conexión tras establecer un protocolo de enlace de 3 vías TCP y una transferencia de datos con éxito. Esto se indica a través del mensaje «no hay más datos disponibles del emisor». Los paquetes de FIN a menudo no son perceptibles por los cortafuegos porque lo primero que se busca son los paquetes de SYN. Por esta razón, los análisis XMAS envían paquetes con todos los indicadores, incluido FIN, sin esperar una respuesta, lo que significa que el puerto está abierto. Si el puerto está cerrado, se recibiría una respuesta RST. El análisis XMAS raramente muestra los registros de seguimiento y es simplemente una forma más sigilosa de conocer la protección y el cortafuegos de una red.
¿Qué tipo de resultados se pueden obtener del análisis de puertos?
Los resultados del análisis de puertos muestran el estado de la red o el servidor y se describen en una de estas tres categorías: abiertos, cerrados o filtrados.
- Puertos abiertos Los puertos abiertos indican que el servidor o la red de destino acepta activamente conexiones o datagramas y ha respondido con un paquete que indica que está escuchando. También indica que el servicio utilizado para el análisis (normalmente TCP o UDP) está en uso.
El objetivo general del análisis de puertos suele ser encontrar puertos abiertos, y supone una victoria para el ciberdelincuente que busca una vía de ataque. El reto para los administradores de TI es intentar bloquear los puertos abiertos instalando cortafuegos para protegerlos sin tener que limitar el acceso a los usuarios legítimos.
- Puertos cerrados: Los puertos cerrados indican que el servidor o la red ha recibido la solicitud, pero no hay ningún servicio «escuchando» en ese puerto. Un puerto cerrado sigue siendo accesible y puede ser útil para mostrar que hay un anfitrión en una dirección IP. Los administradores de TI deben vigilar los puertos cerrados ya que podrían cambiar de estado a abiertos y crear posibles vulnerabilidades. Los administradores de TI deberían optar por bloquear los puertos cerrados con un cortafuegos, donde luego se convertirían en puertos «filtrados».
- Puertos filtrados: Los puertos filtrados indican que se ha enviado un paquete de solicitud, pero el anfitrión no ha respondido y no está escuchando. Esto generalmente significa que un cortafuegos ha filtrado y/o bloqueado el paquete de solicitud. Si los paquetes no alcanzan su objetivo, los atacantes no encuentran más información. Los puertos filtrados a menudo responden con mensajes de error tales como «destino inalcanzable» o «comunicación prohibida».
¿Cómo pueden los ciberdelincuentes utilizar el análisis de puertos como método de ataque?
Según el Instituto SANS, el análisis de puertos es una de las tácticas más populares de búsqueda de servidores vulnerables utilizadas por los atacantes.
Estos ciberdelincuentes suelen usar el análisis de puertos como paso preliminar al ataque de redes. Lo utilizan para analizar los niveles de seguridad de las organizaciones y descubrir quién dispone de un cortafuegos potente y quién tiene un servidor o una red vulnerable. Existen varias técnicas de protocolo TCP que hacen posible que los atacantes oculten su ubicación de red y utilicen «tráfico señuelo» para realizar análisis de puertos sin revelar ninguna dirección de red al objetivo.
Los atacantes sondean redes y sistemas para comprobar la reacción de cada puerto, ya sean abiertos, cerrados o filtrados.
Por ejemplo, las respuestas abiertas y cerradas alertan a los hackers de que su red está en el extremo receptor del análisis. Estos ciberdelincuentes pueden determinar el tipo de sistema operativo y el nivel de seguridad de su operación.
Como el análisis de puertos es una técnica antigua, requiere cambios de seguridad e inteligencia de amenazas actualizada, ya que los protocolos y las herramientas de seguridad evolucionan a diario. Como práctica recomendada, las alertas de análisis de puertos y los cortafuegos deberían utilizarse para controlar el tráfico de sus puertos y garantizar que los ciberdelincuentes no detecten posibles oportunidades para el acceso no autorizado a su red.