La Red de Conocimientos Pedagógicos - Currículum vitae - El comando PING es enviar paquetes de datos UDP al host, pero ¿a qué puerto?

El comando PING es enviar paquetes de datos UDP al host, pero ¿a qué puerto?

Ping es el protocolo ICMP

El puerto al que generalmente se hace referencia es el puerto TCP/UDP.

TCP y UDP pueden transportar datos, pero ICMP solo contiene información de control. Por lo tanto, los mensajes ICMP no pueden usarse realmente para piratear otras máquinas. Los piratas informáticos suelen utilizar ICMP para escanear redes, lanzar ataques DoS y redirigir el tráfico de la red. (Esta vista parece incorrecta; consulte el artículo de Shotgun sobre troyanos, nota del traductor)

Algunos cortafuegos marcan incorrectamente los tipos ICMP como puertos. Tenga en cuenta que ICMP no tiene puertos como TCP o UDP, pero sí contiene dos campos: tipo y código. Además, las funciones y puertos de estos dominios son completamente diferentes. Quizás porque hay dos dominios, los firewalls suelen marcarlos incorrectamente. Para obtener más información sobre ICMP, consulte la entrada del Infosec Lexicon sobre ICMP.

Consulte Bloqueo para obtener la explicación oficial del significado de los tipos/códigos ICMP

5 * Redirigir Alguien está intentando redirigir su enrutador predeterminado, tal vez el hacker esté intentando "introducir - ataque medio", enrutando su máquina a través de su máquina.

8 * Ping de solicitud de eco

9 * El hacker de anuncios de enrutadores puede atacar DoS a su Win9x o Solaris redirigiendo su enrutador predeterminado. Los piratas informáticos vecinos también pueden lanzar ataques de intermediario

11 * Tiempo excedido en tránsito porque el paquete de tiempo de espera no llegó al destino

0 TTL excedido debido a bucles de enrutamiento o debido a la ejecución de traceroute, el enrutador descarta el paquete

1 Tiempo de espera para el reensamblaje del fragmento Debido a que no se reciben todos los fragmentos, el host descarta el paquete

12 * Problema de parámetro Ha ocurrido algo anormal y puede haber un ataque

(1) type=0 (Respuesta de eco)

El remitente está respondiendo al ping enviado desde su dirección, lo que puede deberse a los siguientes motivos. :

Alguien haciendo ping a esa persona: Alguien detrás del firewall está haciendo ping al objetivo.

Ping automático: Muchos programas utilizan el ping para diferentes propósitos, como probar si un contacto está en línea o medir los tiempos de respuesta. Es probable que se esté utilizando software como Net.Medic de VitalSign, que envía paquetes de ping de diferentes tamaños para determinar la velocidad de conexión.

Escaneo de ping señuelo: Alguien está usando tu dirección IP para hacer ping al escaneo y que puedas ver la respuesta.

Cambiar el canal de comunicación: Muchas redes bloquean los pings entrantes (tipo=8), pero permiten respuestas de ping (tipo=0). Como resultado, los piratas informáticos han comenzado a utilizar respuestas de ping para penetrar los firewalls. Por ejemplo, en un ataque DDoS contra un sitio de Internet, el comando podría estar integrado en una respuesta de ping y luego se enviaría una avalancha de respuestas a esos sitios mientras se ignorarían otras conexiones de Internet.

(2) Tipo=3 (Destino Inalcanzable)

El código (código) contenido en el paquete inalcanzable es muy importante

Recuerda que este se puede utilizar Para derrotar el "ataque de inundación SYN". Es decir, si el host con el que se está comunicando está sujeto a un "ataque de inundación SYN", siempre que prohíba la entrada de ping (tipo = 3), no podrá conectarse al host.

En algunos casos, recibirá paquetes ping (tipo=3) de hosts de los que nunca ha oído hablar, lo que generalmente significa "escaneo de señuelos". El atacante envía un paquete falsificado al objetivo utilizando muchas direcciones de origen, una de las cuales es la dirección real. La teoría del hacker es que la víctima no se molestará en buscar la dirección real entre muchas direcciones falsas.

La mejor manera de resolver este problema es comprobar si el patrón que ves es consistente con un "escaneo señuelo". Por ejemplo, busque el puerto interactivo en la parte del encabezado TCP o UDP del paquete ICMP.

1) Tipo = 3, Código = 0 (Red de destino inalcanzable)

Sin enrutador ni host: es decir, un enrutador le dice al host o cliente: "No saber lo que está pasando en la red." ¡Cómo enrutar! Incluyendo el host al que se está conectando". Esto significa que el cliente eligió la dirección IP incorrecta o que la tabla de enrutamiento está mal configurada en alguna parte. Recuerde, cuando juegue con la tabla de enrutamiento en su máquina UNIX, verá el mensaje "Sin enrutador ni host". Esto sucede a menudo al configurar conexiones punto a punto.

2) Tipo = 3, Código = 3 (Puerto de Destino Inalcanzable)

Este es el paquete enviado por el servidor cuando el cliente intenta conectarse a un puerto UDP que no existe . Por ejemplo, si envía un paquete SNMP al puerto 161, pero la máquina no admite el servicio SNMP, recibirá un paquete ICMP de puerto de destino inalcanzable.

Solución de decodificación

Lo primero que hay que hacer para solucionar este problema es: comprobar el puerto en el paquete. Es posible que necesite un rastreador, ya que los firewalls generalmente no registran esta información. Este método se basa en el encabezado sin formato ICMP que contiene encabezados IP y UDP. El siguiente es un paquete ICMP copiado inalcanzable:

00 00 BA 5E BA 11 00 60 97 07 C0 FF 08 00 45 00

00 38 6F DF 00 00 80 01 B4 12 0A 00 01 0B 0A 00

01 C9 03 03 C2 D2 00 00 00 00 45 00 00 47 07 F0

00 00 80 11 1B E3 0A 00 01 C9 0A 00 01 0B 08 A7

79 19 00 33 B8 36

Donde el byte 03 03 es el tipo y código ICMP. Los últimos 8 bytes son el encabezado UDP original, decodificado de la siguiente manera:

08A7 Puerto de origen UDP = 2215, que puede estar asignado temporalmente y no es muy importante.

7919 Puerto de destino UDP = 31001, lo cual es muy importante. Puede ser que el usuario original quiera conectarse al servicio en el puerto 31001.

0033 Longitud UDP = 51, esta es la longitud de los datos UDP originales, lo que puede ser importante.

B836 Suma de comprobación UDP checksum=0xB836, puede que no sea importante.

¿Por qué ves esto?

"Escaneo UDP señuelo": Alguien está escaneando la máquina que te envía ICMP. Falsifican direcciones de origen, una de las cuales es su dirección IP. De hecho, falsifican muchas direcciones de origen diferentes para que la víctima no pueda determinar quién es el atacante. Si recibe una gran cantidad de paquetes de este tipo desde la misma dirección en un corto período de tiempo, lo más probable es que se trate de la situación anterior. Verifique el puerto de origen UDP. Si sigue cambiando, probablemente sea el escenario.

"DNS obsoleto": el cliente enviará una solicitud de DNS al servidor, que tardará mucho en resolverse.

Para cuando su servidor DNS responda, es posible que el cliente se haya olvidado de usted y haya cerrado el puerto UDP utilizado para aceptar su respuesta. Si descubre que el valor del puerto UDP es 53, probablemente esto sea lo que sucedió. ¿Cómo sucedió esto? Es posible que el servidor esté analizando una solicitud recursiva, pero su propio paquete se pierde, por lo que solo puede expirar el tiempo de espera e intentarlo nuevamente. Cuando regresa al cliente, el cliente cree que se agotó el tiempo de espera. Muchos programas cliente (especialmente los de Windows) realizan ellos mismos la resolución de DNS. Es decir, establecen su propio SOCKET para la resolución DNS. Si dejan la solicitud al sistema operativo, el sistema operativo siempre dejará el puerto abierto allí.

"Múltiples respuestas DNS": Otra situación es cuando un cliente recibe múltiples respuestas a una solicitud. Cuando se recibe una respuesta, el puerto se cierra y no se pueden alcanzar respuestas posteriores. Además, cuando una máquina Sun está conectada a varias NIC en la misma red Ethernet, a ambas NIC se les asignará la misma dirección MAC, por lo que la máquina Sun recibirá dos copias por cuadro y enviará múltiples respuestas. Además, un programa cliente mal escrito (especialmente uno que cuenta con una resolución DNS de subprocesos múltiples pero que en realidad no es seguro para subprocesos) a veces envía múltiples solicitudes y cierra el Socket después de recibir la primera respuesta. Sin embargo, esto también podría ser una suplantación de DNS, donde el atacante envía tanto la solicitud como la respuesta en un intento de bloquear la caché de resolución.

"Análisis de NetBIOS": si la máquina Windows recibe un paquete ICMP, vea si el puerto de destino UDP es 137. Si es así, entonces la máquina con Windows está intentando ejecutar la función gethostbyaddr(), que utilizará DNS y NetBIOS para resolver la dirección IP. Las solicitudes de DNS se envían a un servidor DNS en algún lugar, pero NetBIOS va directamente a la máquina de destino. Si la máquina de destino no es compatible con NetBIOS, enviará ICMP inalcanzable.

"Traceroute": La mayoría de los programas Traceroute (excepto Tracert.exe en Windows) envían paquetes UDP a puertos cerrados. Esto provoca que se envíen de vuelta una serie de paquetes ICMP de puerto inalcanzable consecutivos. Entonces, si ve que el firewall muestra paquetes ICMP como este, es posible que la persona detrás del firewall esté ejecutando Traceroute. También verá aumentar el TTL.

3) Tipo = 3, Código = 4 (Se necesita fragmentación y no se configuró No fragmentar)

Esto se debe a que el enrutador tiene la intención de enviar etiquetas con (DF, fragmentos no permitidos). ) Causado por paquetes IP. ¿Por qué? Tanto IP como TCP dividen los mensajes en fragmentos. TCP es mucho más eficiente que IP en la gestión de fragmentos. Por lo tanto, el montón tiende a encontrar la "Ruta MTU" (Unidad de transmisión máxima de ruta). Este paquete ICMP se enviará durante este proceso.

Supongamos que ALICIA está hablando con BOB. Están en la misma Ethernet (tamaño máximo de trama = 1500 bytes), pero hay una conexión en el medio que limita el paquete IP máximo a 600 bytes. Esto significa que el enrutador corta todos los paquetes IP enviados en 3 fragmentos. Por tanto, dividir los fragmentos en la capa TCP será más eficiente. La capa TCP intentará encontrar la MTU (Unidad de transmisión máxima). Establece el bit DF (No fragmentar) para todos los paquetes. Una vez que dicho paquete encuentra un enrutador que no puede transmitir un paquete tan grande, el enrutador enviará de vuelta un mensaje de error ICMP. A partir de esto, la capa TCP puede determinar cómo dividir los fragmentos correctamente.

Probablemente deberías permitir que estos paquetes atraviesen el firewall. De lo contrario, mientras que los paquetes pequeños pueden establecer una conexión al llegar al destino, los paquetes grandes se perderán y desconectarán inexplicablemente. El resultado habitual es que la gente sólo ve la mitad de la página web.

El descubrimiento del enrutamiento de unidades de máxima transmisión está cada vez más integrado en las comunicaciones. Por ejemplo, IPsec necesita utilizar esta función.

(3) Tipo = 4 (Source Quench)

Este tipo de paquete puede ser enviado por el enrutador o el host de destino cuando la comunicación de la red excede el límite. Pero hoy en día muchos sistemas no generan estos paquetes. La razón es que ahora se cree que la simple pérdida de paquetes es el último signo de congestión de la red (porque la causa de la pérdida de paquetes es la congestión).

Las reglas actuales para la extinción de fuentes son (RFC 1122):

Los enrutadores no pueden generarlos

Los hosts pueden generarlos

Los hosts no pueden generarlos casualmente. Generarlos

Los firewalls deberían eliminarlos

Sin embargo, los hosts que encuentran Source Quench aún ralentizan la comunicación, por lo que esto se usa para DoS. Los cortafuegos deberían filtrarlos. Si se sospecha de un DoS, la dirección de origen del paquete no tiene sentido porque la dirección IP es definitivamente ficticia.

Se sabe que algunos servidores SMTP envían Source Quench.

(4) Tipo = 8 (Echo también conocido como PING)

Este es el paquete de solicitud de ping. Hay muchas ocasiones en las que se utilizan; podría significar un intento malicioso por parte de alguien de escanear su máquina, pero también podría ser parte de la funcionalidad normal de la red. Consulte Tipo = 0 (Respuesta de eco)

Muchos escáneres de administración de red generan paquetes de ping específicos. Incluyendo escáner ISS, monitor WhatsUp, etc. Esto es visible en la carga útil del escáner. Muchos firewalls no los registran, por lo que necesitarás algún rastreador para detectarlos o marcarlos mediante un sistema de detección de intrusiones (IDS).

Recuerde, bloquear pings no significa que un hacker no pueda escanear su red. Hay muchas alternativas. Por ejemplo, el escaneo TCP ACK se está volviendo cada vez más popular. Por lo general, pueden penetrar los firewalls y provocar reacciones anormales en el sistema de destino.

Los pings enviados a direcciones de transmisión (como x.x.x.0 o x.x.x.255) pueden usarse para amplificación smurf en su red.

(5) Tipo = 11 (Tiempo excedido en tránsito)

Esto generalmente no es un ataque de Hacker o Cracker

1) Tipo = 11, Código = 0 (TTL excedido en tránsito)

Esto podría deberse a varias cosas. Si alguien rastrea la ruta desde su sitio a Internet, verá muchos paquetes provenientes del enrutador con un TTL aumentado. Así es como funciona traceroute: obliga a los enrutadores a generar mensajes con TTL aumentado para descubrir enrutadores.

La razón por la que los administradores de firewall ven esto es porque se producen bucles de enrutamiento en Internet. El aleteo del enrutador (cambio continuo de enrutador) es un problema común que a menudo genera bucles. Esto significa que cuando un paquete IP se dirige hacia su destino, un enrutador lo dirige erróneamente a un enrutador por el que alguna vez pasó. Si el enrutador disminuye el campo TTL en uno cuando el paquete pasa, el paquete tendrá que circular. En realidad, se descarta cuando el valor TTL es 0.

Otro motivo es la distancia. El valor TTL predeterminado para muchas máquinas (Windows) es 127 o menos. Los enrutadores también suelen restar un valor mayor que 1 del valor TTL para reflejar conexiones lentas, como llamadas telefónicas de acceso telefónico o conexiones transoceánicas. Por lo tanto, es posible que no se pueda acceder al sitio debido a que el valor TTL inicial es demasiado pequeño. Además, algunos hackers/crackers también utilizarán este método para hacer que el sitio sea inaccesible.

2) Tipo = 11, Código = 1 (Tiempo de reensamblaje del fragmento excedido)

Al enviar un mensaje IP dividido en fragmentos, el remitente no recibe todos los fragmentos. Normalmente, la mayoría de las comunicaciones TCP/IP ni siquiera están fragmentadas. Cuando veas esto, debes estar usando fragmentos divididos y hay un bloqueo entre tú y el destino.

(6) Tipo = 12 (Problema de parámetro)

Esto puede significar un ataque. Existen muchas técnicas de huella que generarán este tipo de bolsas.