Para infiltrase en el tráfico de datos entre dos o más sistemas, los hackers recurren a diversas técnicas que se centran en las debilidades de la comunicación por Internet. El servicio DHCP (Dynamic Host Configuration Protocol), responsable de la concesión de direcciones IP locales, o el protocolo de resolución de direcciones conocido como ARP o Address Resolution Protocol y que sirvepara determinar las direcciones de hardware (Media Access Control, MAC), son vulnerables, por ejemplo, para ataques de intermediario en redes de área local internas. En términos generales, estos ataques pueden llevarse a cabo mediante la manipulación de servidores DNS, que son los encargados de la resolución de direcciones de Internet en IP públicas. Además, los hackers hacen uso de las brechas de seguridad en software de navegación anticuado o ponen a disposición de los usuarios más ingenuos accesos corruptos a redes de área local inalámbricas.
En general, estos tipos de ataque de intermediario pueden automatizarse por medio de software. Si la supervisión en tiempo real se realiza mediante la intervención humana, entonces se puede hablar de human assisted attacks.
Ataques basados en servidores DHCP
En el caso de los ataques basados en un servidor DHCP, es un hacker el que coloca su propio ordenador (o uno que esté bajo su control) en una red de área local (LAN) a modo de servidor DHCP. Este es un componente esencial de una red local y se encarga de la asignación de la configuración de red a otros ordenadores de la red local. Esta tiene lugar, por lo general, de manera automática: en cuanto un ordenador establece la conexión con una red de área local, el cliente DHCP del sistema operativo reclama datos como la dirección IP local, la máscara de red, la dirección de la puerta de acceso predeterminada, o la dirección del servidor DNS competente. Asimismo, este envía un mensaje de transmisión a todos los dispositivos conectados a la red de área local, aguarda a la respuesta de un servidor DHCP y acepta la primera que entre.
Con ello, los hackers tienen la posibilidad de controlar la adjudicación de direcciones IP locales mediante el servidor DHCP simulado, de registrar las puertas de acceso que se deseen y el servidor DNS en los ordenadores a los que se ha engañado y, por lo tanto, de desviar el tráfico de datos saliente a cualquier ordenador para interceptar y manipular contenidos.
Debido a que esta modalidad de ataque se basa en la manipulación del sistema DHCP, la terminología adoptada en este caso es la de DHCP spoofing (en español, manipulación). Sin embargo, la condición para realizar el ataque man-in-the-middle es que el atacante utilice la misma red de área local que su víctima. En el caso de las LAN de los hoteles o en las redes inalámbricas públicas existe el peligro de convertirse en el blanco de un ataque basado en un servidor DHCP. Si un atacante quiere infiltrarse en una red corporativa que funciona por cable, este tendrá que conseguir primero un acceso físico a la red LAN para poder introducir un servidor DHCP falso.
Las medidas que los usuarios de Internet pueden tomar para prevenir los ataques de DHCP spoofing se reducen, en general, a ser precavidos en lo relativo al uso de redes desconocidas. Grosso modo, se recomienda la utilización de aplicaciones web de bancos online y plataformas de compra que pongan en peligro la seguridad tan solo en redes locales conocidas y fidedignas, como la red doméstica privada o las redes corporativas.
ARP cache poisoning
Por ARP (Address Resolution Protocol) se entiende aquel protocolo de red que sirve para resolver direcciones IP de redes LAN en direcciones de hardware (direcciones MAC). Para que un ordenador pueda enviar paquetes de datos en una red, tiene que conocer las direcciones de hardware del sistema del destinatario. Para ello, se envía una petición de ARP en calidad de transmisión de direcciones MAC a todos los sistemas de la red de área local. Dicha petición contiene tanto las direcciones MAC e IP del ordenador que solicita la información, como la dirección IP del sistema solicitado. Si un ordenador de la red recibe una petición ARP de tales características, el paso siguiente es que este compruebe si el paquete contiene la dirección IP propia en calidad de dirección IP del destinatario. Si es así, se le enviará una respuesta ARP con la dirección MAC al sistema solicitante.
Esta asignación de direcciones MAC a IP locales se guarda en forma de tabla en el caché ARP del ordenador que solicita la información. Es aquí donde actúa el llamado ARP cache poisoning (envenenamiento de caché ARP). El objetivo de este tipo de ataque es manipular las tablas ARP de los diversos ordenadores de la red por medio de respuestas de ARP falsas para que, por ejemplo, un ordenador que está bajo el control del atacante actúe como punto de acceso inalámbrico o puerta de entrada para Internet.
Si un ataque de ARP spoofing tiene éxito, los atacantes tienen la posibilidad de leer la totalidad de los datos salientes de los ordenadores a los que se ha engañado, pero también de registrarlos o de manipularlos antes de transmitirlos a la verdadera puerta de acceso. Al igual que el DHCP spoofing, el envenenamiento de caché ARP solo puede ser posible cuando el atacante se encuentra en la misma red de área local que el sistema que ha sido víctima del ataque. Un ataque MitM puede llevarse a cabo por medio de sencillos programas como la herramienta gratuita Cain & Abel, originariamente desarrollada para recuperar contraseñas, o por medio del software Ettercap.
Al igual que en los ataques basados en servidores DHCP, que se realizan en una red de área local corrupta, en este caso los usuarios tienen muy pocas posibilidades para hacer frente al ataque de ARP spoofing. Una de las medidas preventivas consiste en evitar redes desconocidas o en utilizarlas con prudencia.
Ataques basados en servidores DNS
Mientras que el ARP cache poisoning fija su atención en las debilidades de la resolución de direcciones en Ethernet, la prioridad del envenenamiento del caché basado en servidores DNS es el sistema de nombres de dominio de Internet, que es el responsable de la resolución de URL en direcciones IP públicas. En este tipo de ataques, los hackers manipulan las entradas en el caché de un servidor DNS con el objetivo de persuadirlas para que respondan a las solicitudes con direcciones de destino falsas. Si el ataque man-in-the-middle se ha llevado a cabo con éxito, los hackers pueden derivar a otros usuarios de Internet, sin que estos sean conscientes, a una página web de la red. Para ello, en la mayoría de los casos se emplean las vulnerabilidades conocidas de los servidores DNS más antiguos.
En principio, los datos del sistema de nombres de dominio no se depositan en un único servidor DNS, sino que se distribuyen por diferentes ordenadores de la red. Cuando un usuario quiere acceder a una página web, este usa, por lo general, un nombre de dominio. Para poder dirigirse al servidor correspondiente, es necesario contar con una dirección IP. Esta es determinada por el router del usuario, que enviará una solicitud de sistema de nombre de dominio al servidor DNS estándar indicado en la configuración. Por regla general, se trata del servidor DNS del proveedor de servicios de Internet (ISP). En caso de encontrar entradas, los llamados registros de recurso o resource records, para los URL solicitados, el servidor DNS emite la respuesta a la solicitud con la correspondiente dirección IP. De no ser así, el servidor DNS determinará cuál es la IP buscada con la ayuda de otros servidores con tareas relativas al sistema de nombres de dominio. Para ello, enviará una consulta a otro servidor DNS y guardará la respuesta temporalmente en el caché.
Uno de los puntos de partida para los ataques de los hackers se produce en los servidores que utilizan una versión muy antigua del software de DNS, los cuales, en general, aceptan y guardan aquellos datos solicitados de manera explícita, pero también los que se suministran de manera adicional. Si los hackers consiguen acceder a un único servidor DNS, resulta sencillo entregar registros falsos con cada dirección IP correcta y, por lo tanto, “envenenar” el caché del servidor DNS que realiza la solicitud.
La efectividad de los man-in-the-middle-attacks se muestra en algunos acontecimientos que tuvieron lugar en el pasado, en los que se desviaron rangos de nombres completos. A los usuarios les resulta prácticamente imposible protegerse frente a un ataque de este tipo, ya que estos tienen lugar directamente en la infraestructura de Internet. De ello se deduce que la principal tarea de los administradores es ocuparse de que los servidores DNS que estos facilitan utilicen un software actual y que este esté protegido como es debido. De esta manera es como se desarrollaron diversos estándares de Internet bajo el nombre de DNSSEC (Domain Name System Security Extensions), que amplía el sistema de nombres de dominio para que los diferentes mecanismos de seguridad garanticen la autenticidad e integridad de los datos. La difusión de estos estándares sigue siendo un proceso lento.
Simulación de un punto de acceso inalámbrico
Un modelo de ataque dirigido sobre todo a los usuarios de dispositivos móviles se basa en la simulación de un punto de acceso inalámbrico en una red inalámbrica pública, como las de las cafeterías o las de los aeropuertos. En ello, un atacante configura su ordenador de tal manera que este se convierta en una vía adicional para acceder a Internet (probablemente una con una calidad de señal mejor que el propio punto de acceso). De esta manera, si el atacante consigue engañar a los usuarios más ingenuos, este puede acceder y manipular la totalidad de los datos de su sistema antes de que estos se transmitan al verdadero access point o punto de acceso. Si este requiere autenticación, el hacker recibe para ello los nombres de usuario y contraseñas que se utilizan en el registro. El peligro de convertirse en el blanco de estos ataques man-in-the-middle se da particularmente cuando los dispositivos de salida se configuran de tal manera que se pueden comunicar automáticamente con los puntos de acceso con mayor potencia de señal.
Para protegerse de este tipo de ataques se recomienda que los usuarios de Internet se conecten principalmente con las redes inalámbricas que les sean conocidas y que se aseguren que están utilizando el punto de acceso oficial del proveedor de la conexión.
Ataque man-in-the-browser
El ataque man-in-the-browser es una variante del ataque MitM. En él, el atacante instala malware en el navegador de los usuarios de Internet con el objetivo de interceptar sus datos. Los ordenadores que no están correctamente actualizados son los que, sobre todo, ofrecen brechas de seguridad que permiten a los atacantes infiltrarse en el sistema. Si se introducen programas en el navegador de un usuario de forma clandestina, estos registran en un segundo plano todos los datos que se intercambian entre el sistema de la persona que ha sido víctima del ataque y las diferentes páginas web. De esta manera, esta modalidad de ataque hace que los hackers puedan intervenir en una gran cantidad de sistemas con relativamente poco esfuerzo. En ello, el espionaje de datos suele tener lugar, por lo general, antes de que se lleve a cabo una posible codificación del transporte de datos mediante protocolos como TLS o SSL.
La manera más efectiva de prevenir los ataques man in the browser es asegurarse que todos los componentes de software del sistema en uso están actualizados y que se reducen las vulnerabilidades por medio de actualizaciones de seguridad.
Human assisted attack
Se puede hablar de human assisted attack cuando una de las modalidades de ataque anteriores no se realiza de manera automática, sino de la mano de uno o varios atacantes en tiempo real. En la práctica, uno de estos man-in-the-middle attacks tendría lugar del siguiente modo: en cuanto un usuario de Internet inicia sesión en la página web de su banco, el hacker, que se ha colocado entre el navegador del usuario y el servidor del banco, recibe una señal. Esto le da la posibilidad de robar las cookies de sesión y la información de la autenticación en tiempo real y de conseguir, así, los nombres de usuario, las contraseñas y los códigos TAN.