Según el SANS Institute, el Escáner de Puerto (o Port Scanning en inglés) es una de las técnicas más populares—especialmente entre los hackers—para buscar servicios vulnerables y explorarlos para entrar a los sistemas. Aunque el Escáner de Puerto no sea inherentemente hostil, normalmente es el primer paso que toman los hackers para infiltrarse a una red y robar o destruir datos confidenciales. En este artículo, discutiremos algunas de las mejores estrategias que puede emplear para defenderse de hackers y prevenir posibles violaciones a su red.
¿Dónde empezamos?
Para escanear puertos, tiene que tener una lista de hosts (o anfitriones de red) activos. Un escaneo de red es un proceso que busca hosts activos y los mapea con sus direcciones IP respectivas. Con una lista de hosts activos, se puede realizar un escaneo de puertos—un proceso que consiste en el envió de paquetes a puertos específicos en un host, y el análisis de respuestas para conocer detalles sobre los servicios en ejecución o identificar posibles vulnerabilidades.
Un poco más sobre el escaneo de red para el Host Discovery
El proceso para determinar qué sistemas están en funcionamiento en una red se conoce como Host Discovery. Cuando los hackers planean hacer un ataque hostil, este tiende ser su primer paso. Hay dos protocolos principales utilizados para el Host Discovery: escaneo del Protocolo de resolución de direcciones (ARP) y otras formas de escaneo del Protocolo de mensajes de control de Internet (ICMP).
El escaneo ARP es un proceso que asigna direcciones IP a direcciones MAC en una subred local. Las solicitudes ARP se pueden enviar a direcciones IP en una Red de área local (LAN) para determinar qué hosts están activos, según la respuesta ARP. Debido a que las solicitudes ARP solo funcionan dentro de una LAN, esto requiere que el hacker esté conectado a su red interna.
Hay varios paquetes ICMP que se pueden usar para realizar un escaneo de red fuera de la LAN. Por ejemplo, puede usar peticiones eco, registro de tiempo (timestamp) y solicitudes de dirección de máscara. Las peticiones eco y ping se utilizan para determinar si un host está al alcance, mientras que los paquetes timestamp determinan la latencia entre hosts. Puede usar solicitudes de dirección de máscara para averiguar la máscara subred utilizada en la red.
El descubrimiento de hosts por medio de mensajes ICMP, depende de la respuesta correspondiente de hosts específicos. Si no se recibe una respuesta, podría significar que no hay un host en la dirección de destino o que el tipo de mensaje ICMP no es compatible con el host de destino. También podría significar que la solicitud original fue bloqueada por un cortafuego o un filtro de paquetes (Packet Filter). En general, las solicitudes de eco ICMP (ping) no originadas por la misma red son bloqueadas por firewalls, pero es menos probable que las solicitudes de marca de tiempo y de dirección de máscara sean bloqueadas.
Continuemos con el escáner de puertos
Ahora que se ha completado el escaneo de la red y se ha compilado una lista de hosts disponibles, puede usar un escáner de puerto para identificar el uso de los puertos de hosts disponibles. El escaneo de puertos típicamente clasificará los puertos en una de tres categorías:
Abierto: el host deseado responde con un paquete que indica que está activo en ese puerto. También indica que el servicio que se usó para el escaneo (típicamente TCP o UDP) también está en uso.
Cerrado: el host de destino recibe el paquete de solicitud e indica que no hay ningún servicio activo en ese puerto.
Filtrado: un escáner de puertos categorizará un puerto como filtrado cuando se envié un paquete de solicitud, pero no se reciba una respuesta. Esto generalmente indica que el paquete de solicitud ha sido filtrado y eliminado por un firewall.
Métodos de escaneo de puertos
Como se mencionó anteriormente, generalmente se utilizan Protocolos de control de transmisión (TCP) y Protocolos de datagramas de usuario (UDP)—existen varios métodos para realizar un escaneo de puertos con estos protocolos.
El método más común de escaneo TCP, es el escaneo SYN. Esto implica crear una conexión parcial al host en el puerto de destino por medio de un paquete SYN y luego evaluando la respuesta del host. Si el paquete de solicitud no es filtrado o bloqueado por un firewall, entonces el host responderá enviando un paquete SYN/ACK si el puerto está abierto, de lo contrario enviará un paquete RST.
Otro método de escaneo TCP es el escaneo de conexión TCP. Esto implica que el escáner intente conectarse a un puerto en el host de destino utilizando una llamada de sistema de conexión TCP e iniciando el proceso de enlace TCP entero. Este proceso crea una gran cantidad de sobrecarga en términos de paquetes y es mucho más fácil de detectar, por lo que es un método menos utilizado.
Otros tipos de escaneos de puertos TCP son NULL, FIN y Xmas. Estos tres tipos de escaneos implican la manipulación de indicadores de encabezado TCP. Los escaneos NULL envían paquetes sin bits en sus encabezados, mientras que los escaneos FIN solo tienen el bit FIN establecido. Los paquetes de escaneo de Xmas tienen activados los bits FIN, PSH y URG, lo que hace que parezcan iluminados como un árbol de Navidad—razón por la que se llama Xmas scan.
Los escáneres UDP, como los TCP, envían un paquete UDP a varios puertos en el host de destino y evalúan los paquetes de respuesta para determinar la disponibilidad del servicio en el host. Al igual que con los escaneos TCP, recibir un paquete de respuesta indica que el puerto está abierto.
Cómo prepararse
Hoy en día, los sistemas de detección de intrusos y los firewalls suelen estar preconfigurados para detectar actividades maliciosas. Sin embargo, los hackers han averiguado maneras de esquivar las reglas alterando la frecuencia de los escaneos, cambiando el orden de los puertos y falsificando su dirección de origen. La mejor manera de protegerse contra escaneos de red maliciosos, es asegurarse de que no existan puntos débiles en su red.
Entender las vulnerabilidades del host es crítico para la seguridad general de su red. Como ingeniero de redes, es responsable de proteger su infraestructura de malware, gusanos informáticos u iWorm (su nombre en inglés), hackers, troyanos y virus. Su misión es disminuir—o mejor erradicar—puntos de ataque.
En este caso, la mejor práctica es combatir fuego con fuego: escanee sus propias redes en busca de vulnerabilidades antes de que los malos puedan encontrarlas.