jueves, 17 de octubre de 2013

Hackeando redes (Envenenamiento ARP)

ARP Hacking
en esta ocasión les comparto uno de los ataques más peligrosos y destructivos que se puede hacer a nivel de capa 2.  Irónicamente el envenenamiento ARP se considera como hacking básico.
Incansablemente lo repetiré: el único y verdadero objetivo de este escrito es promover una cultura de seguridad informática y orientar a los administradores de red acerca de cómo prevenir ataques de tipo envenenamiento ARP.

Conocimientos previos

El protocolo ARP (address resolution protocol) opera a nivel de la capa 2. Es ampliamente usado en redes de área local. Su función básica es asociar una dirección lógica (IP) con una dirección física (MAC).  Esta asociación se almacena en cada host de la red y es conocida como ARP-Caché. La ARP-Caché puede consultarse en máquinas Windows bajo el comando: arp –a.
Supóngase el caso de que el Host A (192.168.0.1) desee comunicarse con el Host B (192.168.0.2) para copiar el último éxito de los Wachiturros. El algoritmo a seguir es el siguiente:
  • El host A verifica su ARP cache en la búsqueda de la dirección MAC de 192.168.0.2, si no la encuentra, procede a actualizar su ARP-Caché mediante los siguientes pasos:                                         
  • El host A(192.168.0.1) envía a todos los equipos de la red un paquete del tipo ARP-Request, preguntando la dirección MAC del IP 192.168.0.2.                                                                               
  •  Todas las maquinas reciben el paquete pero solo responde la que tenga la dirección 192.168.0.2. La respuesta es un paquete ARP-Reply que incluye la dirección MAC de 192.168.0.2                            
  • El host A recibe el paquete ARP-Reply, extrae la dirección MAC de B y la almacena en su ARP-Caché
Lo antes descrito sucede en la capa dos del modelo OSI, posteriormente se procederá con pasos adicionales a nivel de las capas superiores a fin de completar la transmisión.

Entrado en materia

Supóngase el siguiente escenario:
 

Las ARP-Caché de cada host deberían ser:
Para el host A:
IP MAC
192.168.0.2 Y
192.168.0.3 Z

Para el host B:
IP MAC
192.168.0.1 X
192.168.0.3 Z

Para el host C:
IP MAC
192.168.0.1 X
192.168.0.2 Y

La vulnerabilidad

Ahora, suponga que un usuario mal intencionado hace uso del equipo B e instala  el software Cain y Abel, procede a hacer un escaneo de red, y elige a dos víctimas (A y C) para llevar a cabo el ataque de envenenamiento ARP. Luego del envenenamiento exitoso, las ARP-Caché de A, B y  C quedan de la siguiente forma:
Para el host A:
IP MAC
192.168.0.2
192.168.0.3 Y

Para el host B:
IP MAC
192.168.0.1 X
192.168.0.3 Z

Para el host C:
IP MAC
192.168.0.1 Y
192.168.0.2

Nótese que las tablas de los Host A y C están corruptas, y que solo las tablas de B (el atacante) se mantiene integra. Este envenenamiento se logró gracias a que el software instalado en el host B, fue capaz de generar paquetes ARP-Reply especialmente diseñado para corromper las ARP-Caché de A y C.
ARP es un protocolo que no soporta autenticación  y por lo tanto cualquier host puede actualizar las ARP-Cache de los demás sin necesidad de un paquete ARP-Request.

Las consecuencias

Es a partir de ese momento que B se convierte en un intermediario entre las actuales y futuras comunicaciones entre A y C. Los protocolos que son vulnerables a este tipo de ataques son: ftp, http, imap, pop3, smtp, smb, telnet, mysql, vnc, etc.

¿Cómo evitar el ataque?

Lamentablemente este tipo de ataque requiere como única solución el desactivar el protocolo ARP. Esto solo es posible si el administrador escribe manualmente la tabla ARP-Caché en cada equipo de la red.
Otra posible medida de seguridad es implementar versiones seguras de los protocolos afectados, por ejemplo: en vez de http usar https, en vez de telnet usar ssh, y así sucesivamente. Esto no detendrá el ataque, pero el atacante solo tendrá acceso a los Hash de los password. Para decodificarlos deberá hacer uso de ataques de fuerza bruta o diccionarios.

0 comentarios:

Publicar un comentario

comenta con facebook