Hoy traemos un nuevo post de la mano de uno de los colaboradores de Hardsoft Security, Eduardo Belmonte Guillamón. Espero que os guste su entrada dónde nos hace una introducción a los ataques Spoofing más detallada.
La traducción directa del inglés da a la palabra «spoof« el significado de «parodia, burla o engaño». Esta definición puede recordar a los más familiarizados con el mundo de la seguridad al famoso método de phising. Sin embargo, el spoofing es algo mucho más sofisticado.
Protocolo RIP y primeros spoofers
En el año 1983 se define uno de los primeros protocolos de encaminamiento de información en redes, bajo el nombre de RIP (Routing Information Protocol). El funcionamiento era sencillo, y consistía en dos tipos de mensajes, un RIP Request y un RIP Response.
De una manera intuitiva, su «modus operandi» consiste en que cada router sea consciente de qué direcciones IP están conectados directamente a él. Supongamos que en la figura superior, RA2 se acabara de conectar a la red. En ese caso, él enviaría una señal RIP Request y todos los routers de la subred le comunicarían sobre qué subred tienen contacto, mientras que el router RISP se establecería como salida predeterminada de la red. Él, inmediatamente, mandaría un RIP Response indicando que la red LAN A2 está a su alcance, y cualquier router que se intente comunicar con ella enviará sus paquetes a este router.
Sin duda, el protocolo era eficiente, pero vulnerable. Supongamos que un agente malicioso se conectara a la red y enviara un RIP Response en el cual se estableza él mismo como salida predeterminada a internet. Si consigue interceptar todo ese tráfico, no sólo tendrá acceso a todo lo que la red envíe a internet sino, también, todo lo que internet envíe a la red. En resumen, el ataque Man-in-the-Middle más sencillo jamás visto.
Ahora deberia de hacerse clara la diferencia con un phishing convencional: es mucho más discreto y eficaz, ya que permite extraer (y modificar) a nuestra voluntad toda la información que el usuario y la red intercambien. Y por supuesto, va dirigido a redes con mucho tráfico y afluencia, las redes públicas.
El protocolo RIP quedó obsoleto por esto y otras decisiones de implementación poco prácticas. Alguien podría pensar que como consecuencia de la muerte de RIP (Rest In Peace, RIP), llegó también la del spoofing. Nada más alejado de la realidad.
El spoofing no solamente ha evolucionado, también ha cambiado de forma y se ha adaptado a múltiples formatos. Ya no se limita a hacerse pasar por un intermediario en la red (cosa que sigue siendo posible, y de una manera bastante más sencilla de lo que pensamos), sino que ha conseguido logros tales como manipular la IP del remitente de un paquete para infiltrarse en sistemas que admiten a una cantidad limitada de usuarios, facilitando ataques de tipo DDoS.
¿Cómo se hace y cómo se detecta el spoofing?
Esta técnica es prácticamente indetectable cuando el objetivo y el atacante están en la misma subred. Sin embargo, hay procedimientos complejos que permiten detectar si un paquete ha sido sometido a spoofing o no al entrar a una nueva red.
Una versión primitiva de esta técnica de hacking es tan sencilla como usar un programa de control de paquetes (como bien puede ser Wireshark) y, de una manera extremadamente sencilla y casi instantánea, obtendríamos información potencialmente relevante sobre qué paquetes abandonan y visitan la red local. Un ejemplo más fino sería, por ejemplo, los ataques ARP Poisoning, que se basan en enviar mensajes ARP modificados a la tarjeta de red de manera que, al conectarnos a una red local, nos es posible suplantar la identidad de cualquier dispositivo conectado a ella. En definitiva, una técnica totalmente análoga a la realizada en RIP, vulnerando protocolos modernos. Cualquier sistema operativo destinado a la penetración (Parrot OS, Kali Linux, BlackArch…) traen consigo, de forma predeterminada, múltiples programas que facilitan esta tarea (Ettercap, hamster, responder…).
El peligro en una red con usuarios desconocidos es algo inevitable, y es importante ser consciente de esto. A menudo, el uso de redes públicas se muestra como una opción práctica, y es por todo lo expuesto que, siempre que se navegue por ellas, se debe evitar el intercambio de información privada. Este tipo de datos descansan más seguros en redes privadas, protegidas y de confianza.