Un ataque man-in-the-middle describe un patrón de ataque en Internet en el que un atacante infiltra, entre el sistema de la víctima y un recurso de Internet utilizado por la víctima, un sistema que él controla de forma física o lógica. El objetivo del atacante es in­te­r­ce­p­tar, leer o manipular la co­mu­ni­ca­ción entre la víctima y el recurso de Internet sin que nadie se dé cuenta de ello.

¿Qué es un ataque man-in-the-middle?

Por ataque man-in-the-middle (también ataque MitM) o ataque de in­te­r­me­dia­rio se entiende aquel método por el que un hacker in­te­r­vie­ne en el tráfico de datos de dos pa­r­ti­ci­pa­n­tes en una co­mu­ni­ca­ción ha­cié­n­do­se pasar por uno o por otro, de forma que les hace creer que se están co­mu­ni­ca­n­do entre ellos cuando en realidad lo hacen con el in­te­r­me­dia­rio. En el pasado, este tipo de ataques tenía lugar por medio de la ma­ni­pu­la­ción del canal físico de co­mu­ni­ca­ción. Hoy, con el uso co­m­pa­r­ti­do de redes de co­mu­ni­ca­ción públicas, el tercero no au­to­ri­za­do se inmiscuye entre dos o más pa­r­ti­ci­pa­n­tes de la co­mu­ni­ca­ción. Los ataques MitM se llevan a cabo, sobre todo, en redes in­fo­r­má­ti­cas con el fin de anular la co­di­fi­ca­ción SSL/TLS y poder acceder, así, a in­fo­r­ma­ción co­n­fi­de­n­cial, tales como datos de usuario, co­n­tra­se­ñas y cuentas bancarias.

El gráfico que aparece a co­n­ti­nua­ción, ilustra el esquema básico de un ataque man-in-the-middle.

El sistema A intenta crear una conexión co­di­fi­ca­da con el sistema B pero, en lugar de ello, un tercer partido ma­li­n­te­n­cio­na­do desvía el flujo de datos para es­ta­ble­cer la conexión co­di­fi­ca­da del sistema A con el sistema C y que a partir de ahí se transmita al sistema B. Esto tiene como co­n­se­cue­n­cia que aquel que tenga el control sobre el sistema C (el atacante ge­ne­ra­l­me­n­te) puede examinar, grabar o manipular el tráfico de datos, a menudo incluso sin que los pa­r­ti­ci­pa­n­tes en la co­mu­ni­ca­ción sean co­n­s­cie­n­tes de ello. Una vez hecha la tra­n­s­mi­sión a la World Wide Web, el sistema C se pre­se­n­ta­rá como servidor web ante el sistema A y como navegador web ante el sistema B.

Mo­da­li­da­des de ataque man-in-the-middle

Para in­fi­l­tra­se en el tráfico de datos entre dos o más sistemas, los hackers recurren a diversas técnicas que se centran en las de­bi­li­da­des de la co­mu­ni­ca­ción por Internet. El servicio DHCP (Dynamic Host Co­n­fi­gu­ra­tion Protocol), re­s­po­n­sa­ble de la concesión de di­re­c­cio­nes IP locales, o el protocolo de re­so­lu­ción de di­re­c­cio­nes conocido como ARP o Address Re­so­lu­tion Protocol y que sirve para de­te­r­mi­nar las di­re­c­cio­nes de hardware (Media Access Control, MAC), son vu­l­ne­ra­bles, por ejemplo, para ataques de in­te­r­me­dia­rio en redes de área local internas. En términos generales, estos ataques pueden llevarse a cabo mediante la ma­ni­pu­la­ción de se­r­vi­do­res DNS, que son los en­ca­r­ga­dos de la re­so­lu­ción de di­re­c­cio­nes de Internet en IP públicas. Además, los hackers hacen uso de las brechas de seguridad en software de na­ve­ga­ción anticuado o ponen a di­s­po­si­ción de los usuarios más ingenuos accesos corruptos a redes de área local in­alá­m­bri­cas.

En general, estos tipos de ataque de in­te­r­me­dia­rio pueden au­to­ma­ti­zar­se por medio de software. Si la su­pe­r­vi­sión en tiempo real se realiza mediante la in­te­r­ve­n­ción humana, entonces se puede hablar de human assisted attacks.

Ataques basados en se­r­vi­do­res 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 co­m­po­ne­n­te esencial de una red local y se encarga de la asi­g­na­ción de la co­n­fi­gu­ra­ción de red a otros or­de­na­do­res de la red local. Esta tiene lugar, por lo general, de manera au­to­má­ti­ca: 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 pre­de­te­r­mi­na­da, o la dirección del servidor DNS co­m­pe­te­n­te. Asimismo, este envía un mensaje de tra­n­s­mi­sión a todos los di­s­po­si­ti­vos co­ne­c­ta­dos 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 po­si­bi­li­dad de controlar la ad­ju­di­ca­ción de di­re­c­cio­nes IP locales mediante el servidor DHCP simulado, de registrar las puertas de acceso que se deseen y el servidor DNS en los or­de­na­do­res a los que se ha engañado y, por lo tanto, de desviar el tráfico de datos saliente a cualquier ordenador para in­te­r­ce­p­tar y manipular co­n­te­ni­dos.

Debido a que esta modalidad de ataque se basa en la ma­ni­pu­la­ción del sistema DHCP, la te­r­mi­no­lo­gía adoptada en este caso es la de DHCP spoofing (en español, ma­ni­pu­la­ció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 in­alá­m­bri­cas públicas existe el peligro de co­n­ve­r­ti­r­se en el blanco de un ataque basado en un servidor DHCP. Si un atacante quiere in­fi­l­trar­se en una red co­r­po­ra­ti­va que funciona por cable, este tendrá que conseguir primero un acceso físico a la red LAN para poder in­tro­du­cir 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 pre­ca­vi­dos en lo relativo al uso de redes de­s­co­no­ci­das. Grosso modo, se re­co­mie­n­da la uti­li­za­ción de apli­ca­cio­nes web de bancos online y pla­ta­fo­r­mas de compra que pongan en peligro la seguridad tan solo en redes locales conocidas y fi­de­di­g­nas, como la red doméstica privada o las redes co­r­po­ra­ti­vas.

ARP cache poisoning

Por ARP (Address Re­so­lu­tion Protocol) se entiende aquel protocolo de red que sirve para resolver di­re­c­cio­nes IP de redes LAN en di­re­c­cio­nes de hardware (di­re­c­cio­nes MAC). Para que un ordenador pueda enviar paquetes de datos en una red, tiene que conocer las di­re­c­cio­nes de hardware del sistema del de­s­ti­na­ta­rio. Para ello, se envía una petición de ARP en calidad de tra­n­s­mi­sión de di­re­c­cio­nes MAC a todos los sistemas de la red de área local. Dicha petición contiene tanto las di­re­c­cio­nes MAC e IP del ordenador que solicita la in­fo­r­ma­ción, como la dirección IP del sistema so­li­ci­ta­do. Si un ordenador de la red recibe una petición ARP de tales ca­ra­c­te­rí­s­ti­cas, el paso siguiente es que este compruebe si el paquete contiene la dirección IP propia en calidad de dirección IP del de­s­ti­na­ta­rio. Si es así, se le enviará una respuesta ARP con la dirección MAC al sistema so­li­ci­ta­n­te.

Esta asi­g­na­ción de di­re­c­cio­nes MAC a IP locales se guarda en forma de tabla en el caché ARP del ordenador que solicita la in­fo­r­ma­ción. Es aquí donde actúa el llamado ARP cache poisoning (en­ve­ne­na­mie­n­to de caché ARP). El objetivo de este tipo de ataque es manipular las tablas ARP de los diversos or­de­na­do­res de la red por medio de re­s­pue­s­tas de ARP falsas para que, por ejemplo, un ordenador que está bajo el control del atacante actúe como punto de acceso in­alá­m­bri­co o puerta de entrada para Internet.

Si un ataque de ARP spoofing tiene éxito, los atacantes tienen la po­si­bi­li­dad de leer la totalidad de los datos salientes de los or­de­na­do­res a los que se ha engañado, pero también de re­gi­s­trar­los o de ma­ni­pu­lar­los antes de tra­n­s­mi­ti­r­los a la verdadera puerta de acceso. Al igual que el DHCP spoofing, el en­ve­ne­na­mie­n­to 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 he­rra­mie­n­ta gratuita Cain & Abel, ori­gi­na­ria­me­n­te de­sa­rro­lla­da para recuperar co­n­tra­se­ñas, o por medio del software Ettercap.

Al igual que en los ataques basados en se­r­vi­do­res DHCP, que se realizan en una red de área local corrupta, en este caso los usuarios tienen muy pocas po­si­bi­li­da­des para hacer frente al ataque de ARP spoofing. Una de las medidas pre­ve­n­ti­vas consiste en evitar redes de­s­co­no­ci­das o en uti­li­zar­las con prudencia.

Ataques basados en se­r­vi­do­res DNS

Mientras que el ARP cache poisoning fija su atención en las de­bi­li­da­des de la re­so­lu­ción de di­re­c­cio­nes en Ethernet, la prioridad del en­ve­ne­na­mie­n­to del caché basado en se­r­vi­do­res DNS es el sistema de nombres de dominio de Internet, que es el re­s­po­n­sa­ble de la re­so­lu­ción de URL en di­re­c­cio­nes IP públicas. En este tipo de ataques, los hackers manipulan las entradas en el caché de un servidor DNS con el objetivo de pe­r­sua­di­r­las para que respondan a las so­li­ci­tu­des con di­re­c­cio­nes 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 co­n­s­cie­n­tes, a una página web de la red. Para ello, en la mayoría de los casos se emplean las vu­l­ne­ra­bi­li­da­des conocidas de los se­r­vi­do­res 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 di­s­tri­bu­yen por di­fe­re­n­tes or­de­na­do­res 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 co­rre­s­po­n­die­n­te, es necesario contar con una dirección IP. Esta es de­te­r­mi­na­da por el router del usuario, que enviará una solicitud de sistema de nombre de dominio al servidor DNS estándar indicado en la co­n­fi­gu­ra­ció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 so­li­ci­ta­dos, el servidor DNS emite la respuesta a la solicitud con la co­rre­s­po­n­die­n­te dirección IP. De no ser así, el servidor DNS de­te­r­mi­na­rá cuál es la IP buscada con la ayuda de otros se­r­vi­do­res con tareas relativas al sistema de nombres de dominio. Para ello, enviará una consulta a otro servidor DNS y guardará la respuesta te­m­po­ra­l­me­n­te en el caché.

Uno de los puntos de partida para los ataques de los hackers se produce en los se­r­vi­do­res que utilizan una versión muy antigua del software de DNS, los cuales, en general, aceptan y guardan aquellos datos so­li­ci­ta­dos de manera explícita, pero también los que se su­mi­ni­s­tran 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 efe­c­ti­vi­dad de los man-in-the-middle-attacks se muestra en algunos aco­n­te­ci­mie­n­tos que tuvieron lugar en el pasado, en los que se desviaron rangos de nombres completos. A los usuarios les resulta prá­c­ti­ca­me­n­te imposible pro­te­ge­r­se frente a un ataque de este tipo, ya que estos tienen lugar di­re­c­ta­me­n­te en la in­frae­s­tru­c­tu­ra de Internet. De ello se deduce que la principal tarea de los ad­mi­ni­s­tra­do­res es ocuparse de que los se­r­vi­do­res DNS que estos facilitan utilicen un software actual y que este esté protegido como es debido. De esta manera es como se de­sa­rro­lla­ron diversos es­tá­n­da­res de Internet bajo el nombre de DNSSEC (Domain Name System Security Ex­te­n­sio­ns), que amplía el sistema de nombres de dominio para que los di­fe­re­n­tes me­ca­ni­s­mos de seguridad ga­ra­n­ti­cen la au­te­n­ti­ci­dad e in­te­gri­dad de los datos. La difusión de estos es­tá­n­da­res sigue siendo un proceso lento.

Si­mu­la­ción de un punto de acceso in­alá­m­bri­co

Un modelo de ataque dirigido sobre todo a los usuarios de di­s­po­si­ti­vos móviles se basa en la si­mu­la­ción de un punto de acceso in­alá­m­bri­co en una red in­alá­m­bri­ca pública, como las de las ca­fe­te­rías o las de los ae­ro­pue­r­tos. En ello, un atacante configura su ordenador de tal manera que este se convierta en una vía adicional para acceder a Internet (pro­ba­ble­me­n­te 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 tra­n­s­mi­tan al verdadero access point o punto de acceso. Si este requiere au­te­n­ti­ca­ción, el hacker recibe para ello los nombres de usuario y co­n­tra­se­ñas que se utilizan en el registro. El peligro de co­n­ve­r­ti­r­se en el blanco de estos ataques man-in-the-middle se da pa­r­ti­cu­la­r­me­n­te cuando los di­s­po­si­ti­vos de salida se co­n­fi­gu­ran de tal manera que se pueden comunicar au­to­má­ti­ca­me­n­te con los puntos de acceso con mayor potencia de señal.

Para pro­te­ge­r­se de este tipo de ataques se re­co­mie­n­da que los usuarios de Internet se conecten pri­n­ci­pa­l­me­n­te con las redes in­alá­m­bri­cas que les sean conocidas y que se aseguren que están uti­li­za­n­do 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 in­te­r­ce­p­tar sus datos. Los or­de­na­do­res que no están co­rre­c­ta­me­n­te ac­tua­li­za­dos son los que, sobre todo, ofrecen brechas de seguridad que permiten a los atacantes in­fi­l­trar­se en el sistema. Si se in­tro­du­cen programas en el navegador de un usuario de forma cla­n­de­s­ti­na, estos registran en un segundo plano todos los datos que se in­te­r­ca­m­bian entre el sistema de la persona que ha sido víctima del ataque y las di­fe­re­n­tes páginas web. De esta manera, esta modalidad de ataque hace que los hackers puedan in­te­r­ve­nir en una gran cantidad de sistemas con re­la­ti­va­me­n­te poco esfuerzo. En ello, el espionaje de datos suele tener lugar, por lo general, antes de que se lleve a cabo una posible co­di­fi­ca­ción del tra­n­s­po­r­te de datos mediante pro­to­co­los como TLS o SSL.

La manera más efectiva de prevenir los ataques man in the browser es ase­gu­rar­se que todos los co­m­po­ne­n­tes de software del sistema en uso están ac­tua­li­za­dos y que se reducen las vu­l­ne­ra­bi­li­da­des por medio de ac­tua­li­za­cio­nes de seguridad.

Human assisted attack

Se puede hablar de human assisted attack cuando una de las mo­da­li­da­des de ataque an­te­rio­res no se realiza de manera au­to­má­ti­ca, 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 po­si­bi­li­dad de robar las cookies de sesión y la in­fo­r­ma­ción de la au­te­n­ti­ca­ción en tiempo real y de conseguir, así, los nombres de usuario, las co­n­tra­se­ñas y los códigos TAN.

Cómo prevenir los ataques man-in-the-middle

Por norma general es casi imposible que los afectados puedan reconocer la presencia de un ataque de in­te­r­me­dia­rio, por lo que la pre­ve­n­ción se convierte en la mejor forma de pro­te­c­ción. A co­n­ti­nua­ción, pre­se­n­ta­mos una re­co­pi­la­ción de los consejos más im­po­r­ta­n­tes para que los usuarios de Internet y ope­ra­do­res de páginas web puedan minimizar el riesgo de co­n­ve­r­ti­r­se en blanco de un ataque MitM.

Consejos para usuarios de Internet

  • Asegúrate de acceder siempre a los sitios web con una conexión segura SSL/TLS. Mientras que las di­re­c­cio­nes de Internet que empiezan con https son seguras, las que lo hacen con http suponen un riesgo para la seguridad.
  • Antes de in­tro­du­cir las cre­de­n­cia­les, comprueba si el ce­r­ti­fi­ca­do SSL de un sitio web está ac­tua­li­za­do y ha sido emitido por una autoridad de ce­r­ti­fi­ca­ción de confianza.
  • El navegador ha de uti­li­zar­se siempre en su última versión y el sistema debe estar al día con las ac­tua­li­za­cio­nes.
  • Evita usar redes VPN de acceso libre o se­r­vi­do­res proxy.
  • Mantén las co­n­tra­se­ñas ac­tua­li­za­das, utiliza para cada apli­ca­ción una co­n­tra­se­ña diferente y evita utilizar co­n­tra­se­ñas antiguas.
  • Evita co­ne­c­tar­te a redes wifi abiertas, por ejemplo, en hoteles, es­ta­cio­nes de tren o tiendas.
  • Si no tienes más remedio que acceder a una red pública, evita descargar in­fo­r­ma­ción, tra­n­s­mi­tir datos de inicio de sesión (por ejemplo, para la bandeja de entrada del correo ele­c­tró­ni­co o redes sociales) y realizar algún pago.
  • Si el operador de un sitio web ofrece métodos adi­cio­na­les para iniciar sesión de forma segura, uti­lí­za­los. Entre ellos pueden citarse la au­te­n­ti­ca­ción mu­l­ti­fa­c­tor (MFA) a través de un token, por SMS o vía app en el sma­r­t­pho­ne.
  • No cliques en los enlaces de correos de re­mi­te­n­tes de­s­co­no­ci­dos, pues pueden dirigirte a un sitio web con malware.

Consejos para ope­ra­do­res de sitios web

  • Protege siempre los datos de tus clientes con un ce­r­ti­fi­ca­do SSL ac­tua­li­za­do de una autoridad fiable en páginas web con acceso para clientes.
  • Ofrece a tus usuarios métodos adi­cio­na­les para que puedan iniciar sesión de forma segura. Por ejemplo, con una au­te­n­ti­ca­ción mu­l­ti­fa­c­tor a través del correo.
  • Haz saber a los clientes que, en principio, nunca vas a pedir los datos de acceso a través del email y evita los enlaces en los correos que les envíes.
Ir al menú principal