3.3.1. Escaneo de actividad de dispositivo
Tabla de contenidos:
Escaneo de actividad de dispositivo
Antes de realizar un escaneo sobre los puertos que ofrecen servicios en alguna máquina, es recomendable comprobar si esta está activa o no. Para realizar esta comprobación se recurre al protocolo de red ICMP, de las siglas en inglés Internet Control Message Protocolo (Protocolo de control de mensajes en Internet).
En términos de protocolo ICMP, activo significa que la máquina responde a las verificaciones de estado en la red mediante este protocolo. Es común que los administradores de redes decidan bloquear las peticiones de un cliente ICMP a través un firewall, pues puede ralentizar el rendimiento del equipo, así como tratar de evitar vectores de ataque del tipo Denegación de Servicio, que dejarían a la máquina destinataria inoperativa. No obstante, esto no quiere decir que la máquina haya dejado de operar en la red y ofrecer sus servicios. Esta práctica de bloquear las peticiones ICMP es común en routers y servidores con alguna importancia estratégica.
Las comprobaciones de actividad pueden realizarse con un cliente ICMP sobre cualquier dispositivo que esté identificado por una IP, ya sea en una red local como en Internet, y por lo tanto hay que tener en cuenta si se está efectuando sobre un router, un servidor o host específico, etc. Este protocolo se emplea particularmente para las técnicas del trazado de ruta y PING.
3.3.1.1. Protocolo ICMP
El protocolo de red ICMP forma parte de la suit de protocolos TCP/IP, y como se ha indicado permite establecer un diagnóstico sobre la actividad de un dispositivo o máquina en una red basándose en la comunicación entre dos equipos. Este protocolo opera en la capa 3 del modelo OSI, descartando por completo la utilización de la capa 4.
El software de este protocolo es de tipo núcleo (kernel en inglés), lo que significa que forma parte del software esencial del sistema operativo y por lo tanto, contando que no actúa en la capa 4 del modelo OSI, no es del todo correcto decir que funciona bajo la arquitectura cliente-servidor. Por este motivo, también los administradores de redes recurren al uso de un firewall para evitar esta función en las máquinas.
El protocolo ICMP opera con encapsulamiento. En concreto, compone la parte del segmento dentro de un paquete de red o datagrama, utilizando IP para el enrutamiento de datos. Dentro de estos datos, se encuentra la cabecera ICMP, que contiene información del tipo de mensaje (type), código para especificar la naturaleza de la comunicación (code) y finalmente un campo de validación (checksum) e información adicional dependiendo del tipo de comunicación (contents).
La etiqueta type define el tipo de mensaje a enviar de un dispositivo a otro, sirviendo para efectuar los diagnósticos y comprobación de estado o actividad de un dispositivo a través del valor que tome (método PING). Los principales valores para el tipo son:
Valor | Tipo | Descripción |
0 | Echo Request | Establece pedido de respuesta al equipo destinatario (eco). |
8 | Echo Reply | Envía un eco, después de recibir un mensaje con tipo 0 del otro equipo. |
3 | Destination unreachable | Indica que el destinatario no pudo ser enrutado. |
5 | Redirect | Determina una ruta nueva para enviar el paquete. |
11 | Time Exceeded | Indica que el mensaje ha excedido el tiempo de vida máximo (TTL). |
12 | Parameter Problem | Indica la presencia de algún error de composición del paquete IP. |
13 | Timestamp | Solicitud para sincronizar el horario entre dos dispositivos. |
14 | Timestamp reply | Respuesta a la solocitiud de sincronización horaria. |
3.3.1.3. Ping ICMP
PING es una utilidad que permite realizar el diagnóstico de disponibilidad de una máquina conectada a una red local o Internet, basándose en el protocolo ICMP. La técnica empleada es muy sencilla: una máquina emite paquetes de red con el protocolo ICMP con la etiqueta de cabecera ICMP type Echo Request hacia una máquina destinataria, esperando recibir la contestación. Si la máquina destinataria está disponible y el uso del protocolo ICMP no es impedido por algún Firewall, responderá con un paquete de red con la cabecera ICMP con la etiqueta tipo Echo Reply. Su funcionamiento es similar a un eco.
La consola de comandos de todos los sistemas operativos debería incorporar algún software para realizar esta técnica. Tanto Windows como Linux incorporan en su consola el clásico comando que se ejecuta siguiente este patrón:
ping
Las opciones se controlan mediante parámetros que pueden variar en función del sistema operativo, aunque todas las versiones incluyen la opción de parametrizar el número de paquetes a enviar, el parámetro TTL, el tamaño del paquete, etc., todo ello de enorme utilidad para un administrador de red, cuyo objetivo es ver la rapidez con que circulan los datos y detectar algún problema en la red.
Sin añadir opciones, al utilizar el comando PING, el número de paquetes a enviar, el valor de TTL y el tamaño de estos, así como la información que se va a mostrar, variará según el software del sistema operativo. Las utilidades del método PING son principalmente ver si una máquina está activa, realizar barridos de ping (PING Sweep) sobre una red a fin de establecer un mapa de máquinas disponibles sobre un sector de Internet y resolver de forma rápida dominios en IP. Por ejemplo, el SO Windows envía por defecto 4 paquetes de 32 bytes cada uno con un valor TTL de 128. Los resultados de cada paquete recibido serían (si hay respuesta…):
Para terminar, como ya se ha comentado en otras secciones, la técnica de PING es empleada para hacer trazados de ruta. Además, a través de Wireshark, también se puede realizar una aproximación más profunda al funcionamiento de este método (filtro de protocolo icmp).
3.3.1.3. Firewall: Bloqueo de ping
Como ya se ha comentado, una forma de bloquear los paquetes ICPM echo request entrantes consiste en usar un Firewall. Un Firewall en un software que determina a partir de reglas de entrada y salida, que tipo de conexiones son permitidas en un entorno de red o en dispositivo. Se puede tener un Firewall de red que haga de perímetro de seguridad para varios dispositivos a la vez, o bien configurar el Firewall de un dispositivo local a través del software del equipo (el del Sistema Operativo o alguna versión comercial).
Dependiendo de la marca del Firewall este se puede configurar mediante consola de comandos o con panel de control. Como se ha comentado, su funcionamiento se basa en reglas que se configuran, pudiendo bloquear o admitir casi cualquier noción de red: rangos de IP, uso de puertos, sistemas autónomos, protocolos, etc.
Para explicar de forma exhaustiva todas las reglas y formas de configurar un Firewall se necesitaría un curso entero. No obstante, solo para ver de forma rápida, en el ejemplo de abajo se bloquea la regla de entrada para la recepción de PING de una máquina en Windows con el Firewall que proporciona el Sistema Operativo (Windows Defender Firewall). Una vez localizado el componente, se deshabilita la regla indicada en la imagen, en la sección Inbound Rules.
Una vez deshabilitada, el resultado de un PING dirigido a esta máquina sería el que se muestra: