viernes, 15 de febrero de 2013

Tarea 3: Impersonation Attack (Ataque de Suplantación)

Para la Tarea 3 de Redes de Telecomunicaciones, escogí el Impersonation Attack (Ataque de Suplantación)

Antes que nada quiero establecer que todo lo siguiente se realizó sobre mi propia red y nunca afectando a terceros.

Para entender como funciona el ataque de suplantación debemos conocer dos conceptos: MAC Address y Filtrado MAC.

MAC Address

La MAC Address (Media Access Control) o dirección MAC es un número que identifica el o los adaptadores de red instalados en una computadora o dispositivo.

Normalmente las direcciones MAC son asignadas por el fabricante de las tarjetas de interface de red, y son almacenadas en su hardware.

El formato estándar para las direcciones MAC consiste en seis grupos de dos dígitos hexadecimales, separados por guónes o dos puntos, en orden de transmisión. Por ejemplo:

01-23-45-67-89-ab ó 01:23:45:67:89:ab

Para conocer la dirección MAC de nuestras tarjetas de redes, podemos hacer uso del comando:

 ifconfig nombredeinterface

Por ejemplo, para conocer la dirección MAC de mi tarjeta de red inalambrica:


MAC Filtering

El filtrado MAC es una de la posibilidades para permitir que solo una cantidad autorizada de usuarios pueda acceder a una red inalámbrica. 

Los routers normalmente pueden configurarse para realizar éste tipo de función en alguna de sus opciones. Más adelante explicaré como se hace eso en mi router 2wire.

Simulación de Uso del Ataque de Suplantación:

Imaginemos esta situación:

"Estamos en Starbucks disfrutando de un delicioso café, trabajando en nuestra laptop, y en un momento nos enteramos de que nos han quitado el Internet. No sabemos que ocurrió, y al preguntar nos dicen que hay un tiempo límite para cada persona en el cual puedes estar conectado. Al tener mucho trabajo por hacer, buscas opciones para conseguir Internet"

Nota: Para simular esta situación, nombré mi router "starbucks", y quité la protección del mismo para no requerir password. 

Ahora, inicialmente el usuario estaba conectado, pero en un momento a otro se desconectó el internet sin aviso previo.

La razón de ésto, puede ser que la dirección MAC del cliente haya sido bloqueada por un filtro que agrega las direcciones MAC que tienen cierto tiempo conectadas. En el caso de mi router, esto se puede acceder en sus configuraciones ingresando a http://gateway.2wire.net/xslt? o /home desde cualquier navegador.

Ahí, en las configuraciones inalámbricas se puede encontrar el Filtrado MAC para bloquear a ciertos usuarios. La pantalla en mi caso se ve de la siguiente manera:



Podemos bloquear usuarios con un cierto hostname que ya se hayan conectado en algún momento, o directamente con su dirección MAC. Ahora, simularemos que el sistema de Starbucks bloqueó al usuario synnick:


El sistema detecta su hostname y lo coloca en la lista de bloqueados. Esta persona por lo tanto no podrá acceder a la red, y le aparecerá un mensaje de desconexión. Si este fuera el caso, una solución podría ser hacer MAC Spoofing.

MAC Spoofing

Lo que se necesita hacer es lo llamado MAC Spoofing. Esto requiere cambiar nuestra dirección MAC por  cualquiera, pero en este caso haremos algo un poco más avanzado. Cambiaremos nuestra dirección MAC por la de otro cliente (por esto la suplantación). 

Para probar esto, conecté mi celular a la misma red, como se puede ver:


Nota: Para seguir con la simulación, asumamos que la persona que tiene un celular conectado todavía tiene tiempo restante de uso de Internet, y por lo tanto no está bloqueado.

El objetivo ahora es, encontrar la dirección MAC del cliente que está conectado con su celular, y reemplazar nuestra dirección con la suya. Esto no es así de simple, ya que el router podría ver que la dirección ya está asignada. Por lo tanto, tenemos que primero desautentificar el cliente antes de intentar conectarnos nosotros mismos. Para realizar todo ésto haré uso de Aircrack-ng.

Encontrando la dirección MAC del cliente

No entraré mucho a detalle sobre el funcionamiento de Aircrack-ng, si se desea comprender más, existen excelentes guías del funcionamiento para comprenderlo mejor.

Primero colocamos la tarjeta en modo monitor. Lo siguiente es sniffear o monitorear las conexiones del router al que deseamos conectarnos. Como necesitamos la dirección MAC del router para poder sniffear sus conexiones, utilizamos el comando iwlist wlan0 scan. Esto nos da una salida así:


Localizamos la dirección MAC del router y la guardamos. Esta la usaremos con el siguiente comando para sniffear conexiones con clientes.

airodump-ng -c 11 --bssid 00:1F:B3:93:DF:19 mon0


Localizamos la dirección MAC del cliente entre los datos que aparecen en la pantalla, y la anotamos. Esta dirección es la que usaremos para suplantar. Para cambiar nuestra dirección MAC existen múltiples opciones, la más sencilla es con los siguientes comandos:

ifconfig wlan0 down
ifconfig wlan0 hw ether C8:AA:21:75:BE:EE
ifconfig wlan0 up

Luego podemos checar que haya cambiado:



Ya tenemos la dirección MAC cambiada por la que vamos a suplantar, pero aún falta el paso final, desconectar al cliente original. Para hacerlo, hacemos uso de Aircrack-ng de nuevo para enviar intentos de desautentificación hacia la dirección MAC del cliente, usando el siguiente comando:

aireplay-ng -0 5 -a 00:1F:B3:93:DF:19 -c C8:AA:21:75:BE:EE mon0



Esto desautentificará al cliente, provocando la desconexión. Mientras esto ocurre debemos conectarnos nosotros mismos antes que el cliente, al realizarlo exitosamente el otro cliente no podrá conectarse, y nosotros tendremos Internet.


En la imagen anterior se observa que estamos conectados con la dirección MAC del cliente.

Referencias:

1 comentario: