Un túnel ICMP [ 1 ] establece una conexión encubierta entre dos computadoras remotas (un cliente y un proxy), utilizando solicitudes de eco ICMP y paquetes de respuesta. Un ejemplo de esta técnica es la tunelización de tráfico TCP completo a través de solicitudes y respuestas de ping.
Detalles técnicos
El túnel ICMP funciona inyectando datos arbitrarios en un paquete de eco enviado a un equipo remoto. El equipo remoto responde de la misma manera, inyectando una respuesta en otro paquete ICMP y enviándolo de vuelta. El cliente realiza toda la comunicación mediante paquetes de solicitud de eco ICMP, mientras que el proxy utiliza paquetes de respuesta de eco.
En teoría, es posible que el proxy utilice paquetes de solicitud de eco (lo que simplifica mucho la implementación), pero estos paquetes no necesariamente se reenvían al cliente, ya que este podría estar detrás de una traducción de direcciones de red ( NAT ). Este flujo de datos bidireccional se puede abstraer con una línea serial común.
La tunelización ICMP es posible porque el RFC 792 , que define la estructura de los paquetes ICMP, permite una longitud de datos arbitraria para cualquier tipo de paquete ICMP: 0 (respuesta de eco) u 8 (mensaje de eco).
Usos
El túnel ICMP puede utilizarse para eludir las reglas de los cortafuegos mediante la ofuscación del tráfico real. Dependiendo de la implementación del software de túnel ICMP, este tipo de conexión también puede clasificarse como un canal de comunicación cifrado entre dos ordenadores. Sin una inspección profunda de paquetes o una revisión de registros adecuadas , los administradores de red no podrán detectar este tipo de tráfico en su red. [ 2 ]
Mitigación
Una forma de prevenir este tipo de tunelización es bloquear el tráfico ICMP, a costa de perder algunas funcionalidades de red que normalmente se dan por sentadas (por ejemplo, podría tardar decenas de segundos en determinar que un par está desconectado, en lugar de casi instantáneamente). Otro método para mitigar este tipo de ataque es permitir únicamente paquetes ICMP de tamaño fijo a través de los cortafuegos, lo que puede impedir o eliminar este tipo de comportamiento. [ 3 ]
En ocasiones, los túneles ICMP se utilizan para sortear los cortafuegos que bloquean el tráfico entre la LAN y el mundo exterior. Por ejemplo, en servicios Wi-Fi comerciales que requieren el pago del usuario, o en bibliotecas que exigen el acceso previo a un portal web . Si el operador de red asumió erróneamente que basta con bloquear los protocolos de transporte habituales como TCP y UDP , pero no los protocolos esenciales como ICMP, entonces a veces es posible utilizar un túnel ICMP para acceder a internet sin autorización. El cifrado y las reglas por usuario que impiden el intercambio de paquetes ICMP (y de cualquier otro tipo de paquete, quizás mediante el estándar IEEE 802.1X ) con pares externos antes de la autorización solucionan este problema.
Véase también
Referencias
- ↑ Daniel Stødle. "Ping Tunnel: Para esos momentos en que todo lo demás está bloqueado" .
- ↑ http://protocol.korea.ac.kr/publication/Covert%20Channel%20Detection%20in%20the%20ICMP%20Payload%20Using%20Support%20Vector%20Machine.pdf
- ↑ "ICMP Tuneling: Defense Against the Vulnerability". 2003. CiteSeerX 10.1.1.61.5798 .
Enlaces externos
- RFC 792 , Protocolo de mensajes de control de Internet
- Túnel IP simple sobre ICMP
- Túnel ICMP de Hans para Linux (servidor y cliente) y BSD MacOSX (solo cliente)
- ICMP-Shell es un protocolo similar a Telnet que utiliza únicamente ICMP.
- Túnel PingTunnel TCP sobre ICMP
- Elaboración de ICMP por Stuart Thomas
- Utilizando la herramienta de tunelización ICMP Ping Tunnel
- Artículo del Proyecto Loki sobre el túnel de ping en Phrack.
- Túnel ICMP con código fuente en C#
- icmptunnel IP sobre túnel ICMP por Dhaval Kapil
- Protocolos de tunelización
- Privacidad en Internet