COMO ACCEDER A UNA RED INALAMBRICA SIN CONOCER LA CLAVE WEP
Ya sabemos que son muy vulnerables, que el cifrado WEP tiene muchas debilidades y que al día de hoy con pocos minutos tenemos la clave de cifrado.... No?
Bueno, esto es diferente, esto es algo que no necesita ni dos minutos para llevar con éxito el ataque... y como "novedad" es que no es un crack de la clave WEP, sencillamente nos podremos conectar a una red inalámbrica con ese tipo de cifrado SIN CONOCER LA CLAVE!!!!
Para todo este tinglado vamos a usar dos herramientas que se incluyen en la suite de aircrack-ng (al menos en la última versión) son easside-ng y buddy-ng
En este post sólo nos van a interesar: easside-ng, buddy-ng
(En cuanto a tkiptun-ng, ya os pondré un enlace con el código "retocado" para que funcione correctamente el ataque a las WPA, al menos a mi me funciona correctamente, pero eso será para otro post)
En fin, vamos a contar qué hacen estas "dos cosas" y luego preparamos el escenario de ejemplo...
Easside-ng es una herramienta "auto-mágica" que nos va a permitir comunicarnos con un punto de acceso sin necesidad de conocer la clave WEP.
Esta "proeza" la realiza sin intervención alguna por nuestra parte, vamos con poco mas que la sintaxis apropiada y nada mas...
El funcionamiento de easside-ng es el siguiente:
En fin, para conseguirlo necesita que el punto de acceso víctima des-encripte los paquetes por sí mismo y que luego nos los envíe a nuestro sistema, aquí es donde entra en juego buddy-ng.
Buddy se encargará de redirigir los paquetes descifrados al equipo que corre easside-ng y entonces ya podremos participar de la red con cifrado WEP sin mas, no sabemos la contraseña, pero estamos dentro.
Se han de reunir unas pocas condiciones para que esto funcione:
Antes de comenzar el "asalto" y como me gusta hacerme de rogar y explicar bien las cosas, vamos a entender cómo funcionará este invento:
El tipo de ataque es similar al que realiza aireplay-ng por fragmentación, de hecho se basa en eso mismo, mas o menos así:
Ahora vamos a "pintar" el escenario...
El atacante:
• Un router con salida a Internet y con los puertos 6969 de TCP y UDP abiertos y dirigidos hacia el equipo del atacante. EL rango de red que uso es 172.28.0.0/24 de forma que el router es la 172.28.0.1 y la ip de la máquina atacante es 172.28.0.101/24
• La dirección IP pública del servidor buddy (que a la postre es la misma que la del router es: 88.27.187.80 (esto es importante puesto que mas adelante hay que indicarlo cunado usemos easside-ng
• Un pc-atacante con dirección IP 172.28.0.101 en el que correremos buddy-ng y easside-ng, se trata de un Linux con una live CD de Backtrack y con la versión de aircrack-ng compilada como indicamos al inicio (make ustable=true).
Lo ideal serían dos máquinas, como ya dijimos, ya veremos luego qué pasa con la tabla de rutas de la máquina atacante...y no sólo por eso, también por el rendimiento del equipo y de sus interfaces...
Veamos cómo está ese "atacante":
La interface ethernet (eth0) que será donde estará escuchando buddy-ng
Interface eth1 (la inalámbrica) por la que inyectaremos el tráfico con easside-ng
Primero, vamos a poner en modo monitor la tarjeta wifi:
Ahora vamos a lanzar en una shell airodump-ng para observar que tenemos al alcance, la orden ha sido:
Vemos que la red correspondiente con WLAN_78 tiene tráfico activo... así que vamos a fijar mas el objetivo... paramos airodump y lanzamos de nuevo este:
Ok, ahora si que observamos mejor el tráfico de esa red... si quieres puedes dejar corriendo airodump, o lo paras, de hecho ya no lo necesitamos mas.
En otra shell, lanzamos buddy... esto no tiene mucho misterio.. sencillamente ejecutamos ./buddy-ng y veremos que se queda esperando la conexión...
Ahora, en otra nueva shell ejecutamos easside-ng, de esta forma:
-v es la MAC del Punto de acceso víctima tal como vimos en la salida de airodump
-s es la IP del servidor buddy, como todo está corriendo en el equipo del atacante, pues será la IP PÚBLICA!!! Del router del atacante.
-f es la interface inalámbrica en la que corre easside en el atacante, en nuestro caso eth1
-c 3 es el canal por el que emite el punto de acceso víctima (ver airodump)
Aparecerá algo así...
Y tras unos segundos, algo similar a esto otro:
En la pantalla anterior vemos muchas cosas interesantes....
Es el momento de usar la interface TAP de la que hablamos antes...
Ahora, por esa interface ya podemos acceder a la red 192.168.1.0/24 que es la de nuestra víctima, si observamos la tabla de rutas en el equipo del atacante:
Está claro... para ir a 192.168.1.0 se va por at0
Probando... navegamos a la ip 192.168.1.1 (el router víctima) y zas!!! La pantallita de autenticación, probamos las "de costumbre" y ale:
Y la clave....
Bueno... debería haber "difuminado" las mac's, la redes, los essid, etc... me olvidé... así que si te sientes "identificado", enhorabuena!!! Somos vecinos
Como vimos antes en la tabla de rutas, para ir "hacia cualquier red" en este ejemplo nos vamos por la 172.28.0.1 que es el router del atacante... vamos que si queremos usar la conexión Wifi "saboteada" para conectarnos a Internet no podemos porque tenemos el Server buddy y easside en la misma máquina, por ejemplo, vamos a cualesmiip.com y veremos que estamos en Internet con nuestra IP.
Si por el contrario hubiésemos puesto el Server budy en otra máquina en algún punto de Internet... veríamos que al navegar a la misma web salimos con la IP pública de la víctima:
En fin, esto es todo.... Que lo disfruten...
Ahhh!!!! Que me olvidaba....
En el directorio donde se haya ejecutado easside se crea un archivo que se llama prga.log, si os decidís por lanzar el ataque a otro nuevo punto de acceso hay que eliminar ese archivo o fallaréis.
Ahora Sí... Byes.
Ya sabemos que son muy vulnerables, que el cifrado WEP tiene muchas debilidades y que al día de hoy con pocos minutos tenemos la clave de cifrado.... No?
Bueno, esto es diferente, esto es algo que no necesita ni dos minutos para llevar con éxito el ataque... y como "novedad" es que no es un crack de la clave WEP, sencillamente nos podremos conectar a una red inalámbrica con ese tipo de cifrado SIN CONOCER LA CLAVE!!!!
Para todo este tinglado vamos a usar dos herramientas que se incluyen en la suite de aircrack-ng (al menos en la última versión) son easside-ng y buddy-ng
En este post sólo nos van a interesar: easside-ng, buddy-ng
(En cuanto a tkiptun-ng, ya os pondré un enlace con el código "retocado" para que funcione correctamente el ataque a las WPA, al menos a mi me funciona correctamente, pero eso será para otro post)
En fin, vamos a contar qué hacen estas "dos cosas" y luego preparamos el escenario de ejemplo...
Easside-ng es una herramienta "auto-mágica" que nos va a permitir comunicarnos con un punto de acceso sin necesidad de conocer la clave WEP.
Esta "proeza" la realiza sin intervención alguna por nuestra parte, vamos con poco mas que la sintaxis apropiada y nada mas...
El funcionamiento de easside-ng es el siguiente:
- • Primero: identifica una red wireless,
• Segundo: procede a asociarse con ella
• Tercero: obtiene el PRGA (del inglés "pseudo random generation algorithm")
• Cuarto: determina el rango de IPs de la red
• Quinto: crea una interface TAP para poder comunicarse con el AP sin necesidad de conoCer la clave WEP.
En fin, para conseguirlo necesita que el punto de acceso víctima des-encripte los paquetes por sí mismo y que luego nos los envíe a nuestro sistema, aquí es donde entra en juego buddy-ng.
Buddy se encargará de redirigir los paquetes descifrados al equipo que corre easside-ng y entonces ya podremos participar de la red con cifrado WEP sin mas, no sabemos la contraseña, pero estamos dentro.
Se han de reunir unas pocas condiciones para que esto funcione:
• El punto de acceso víctima debe ser capaz de comunicarse con Internet. Vamos, lo mas habitual en los routers inalámbricos de casa....
• Debe existir un servidor buddy accesible desde Internet, de otra forma el punto de acceso víctima no podría conectarse al mismo...
• El servidor buddy utiliza los puertos 6969 de TCP y UDP por tanto hay que dejar pasar el tráfico en el firewall si es que existe,,,
• El sistema que ejecuta easside-ng también ha de tener acceso a Internet y ser capaz de comunicarse con buddy.
Antes de comenzar el "asalto" y como me gusta hacerme de rogar y explicar bien las cosas, vamos a entender cómo funcionará este invento:
El tipo de ataque es similar al que realiza aireplay-ng por fragmentación, de hecho se basa en eso mismo, mas o menos así:
- • Se busca (o se indica por linea de comandos) el canal para que encuentre un red con clave WEP
• Una vez encontrado, se autentica.
• Cuando se ha autenticado intenta asociarse con el punto de acceso
• Esnifa un paquete de datos,
• Procede a descubrir al menos 1504 bytes de PRGA enviando "broadcasts" más grandes e interceptando los paquetes de respuesta (esto es el ataque de fragmentación)
• El resultado se guarda en un archivo llamado: prga.log.
• Se averigua la dirección IP de la red usando una técnica llamada "linear keystream expansion".
• Crea una conexión TCP permanente por el puerto 6969 con el servidor "buddy" y verifica la conectividad.
• Envia ARP's para obtener la dirección MAC del punto de acceso y la IP de origen.
• Por defecto se usa .1 para el router y .123 para el cliente IP.
• Entonces prueba la conexión con el punto de acceso y determina el rango de direcciones IP que usa.
• Lista el tiempo que se tarda en obtener los paquetes de prueba esto nos dará una idea de la calidad de la conexión.
• Se crea una interface TAP. Esto es una interface virtual que actuará como si se tratase de una tarjeta inalámbrica en la cual y si lo deseamos, podremos configurarla como si se tratase de una interface wifi "real"
- • Easside-ng esnifa los paquetes en la red wifi y comprueba que están cifrados.
• Supongamos que el paquete va dirigido a google o a Hotmail o a cualquier sitio de Internet, por tanto, este paquete viaja bajo protocolo http puesto que Internet no usa WEP, dicho de otro modo, el punto de acceso debe descifrar el paquete antes de enviarlo a Internet.
• Lo que realmente se hace es retransmitir ese paquete y en lugar de enviarlo a su destino se lo enviará a nuestro servidor buddy en Internet.
• El servidor buddy obtendrá ese paquete sin cifrado wep (recuerda que el punto de acceso ya lo densencriptó) y lo enviará de vuelta a nosotros.
Ahora vamos a "pintar" el escenario...
El atacante:
• Un router con salida a Internet y con los puertos 6969 de TCP y UDP abiertos y dirigidos hacia el equipo del atacante. EL rango de red que uso es 172.28.0.0/24 de forma que el router es la 172.28.0.1 y la ip de la máquina atacante es 172.28.0.101/24
• La dirección IP pública del servidor buddy (que a la postre es la misma que la del router es: 88.27.187.80 (esto es importante puesto que mas adelante hay que indicarlo cunado usemos easside-ng
• Un pc-atacante con dirección IP 172.28.0.101 en el que correremos buddy-ng y easside-ng, se trata de un Linux con una live CD de Backtrack y con la versión de aircrack-ng compilada como indicamos al inicio (make ustable=true).
Lo ideal serían dos máquinas, como ya dijimos, ya veremos luego qué pasa con la tabla de rutas de la máquina atacante...y no sólo por eso, también por el rendimiento del equipo y de sus interfaces...
Veamos cómo está ese "atacante":
La interface ethernet (eth0) que será donde estará escuchando buddy-ng
Interface eth1 (la inalámbrica) por la que inyectaremos el tráfico con easside-ng
Primero, vamos a poner en modo monitor la tarjeta wifi:
Ahora vamos a lanzar en una shell airodump-ng para observar que tenemos al alcance, la orden ha sido:
Código [Seleccionar]
airodump-ng -i eth1 -w test --encrypt wep -a
Vemos que la red correspondiente con WLAN_78 tiene tráfico activo... así que vamos a fijar mas el objetivo... paramos airodump y lanzamos de nuevo este:
Código [Seleccionar]
./airodump-ng -i eth1 -w test --encrypt wep -a -c 3 --bssid 00:1A:2B:15:73:D5
Ok, ahora si que observamos mejor el tráfico de esa red... si quieres puedes dejar corriendo airodump, o lo paras, de hecho ya no lo necesitamos mas.
En otra shell, lanzamos buddy... esto no tiene mucho misterio.. sencillamente ejecutamos ./buddy-ng y veremos que se queda esperando la conexión...
Ahora, en otra nueva shell ejecutamos easside-ng, de esta forma:
Código [Seleccionar]
easside-ng -v 00:1A:2B:15:73:D5 -s 88.27.187.80 -f eth1 -c 3
-v es la MAC del Punto de acceso víctima tal como vimos en la salida de airodump
-s es la IP del servidor buddy, como todo está corriendo en el equipo del atacante, pues será la IP PÚBLICA!!! Del router del atacante.
-f es la interface inalámbrica en la que corre easside en el atacante, en nuestro caso eth1
-c 3 es el canal por el que emite el punto de acceso víctima (ver airodump)
Aparecerá algo así...
Y tras unos segundos, algo similar a esto otro:
En la pantalla anterior vemos muchas cosas interesantes....
- • IP local del punto de acceso víctima (192.168.1.1)
• IP local asignada por la herramienta easside-ng (192.168.1.123)
• IP del servidor buddy (88.27.187.80) esto ya lo sabíamos... es la nuestra
• IP Pública del punto de acceso/router víctima: 80.31.68.212
Es el momento de usar la interface TAP de la que hablamos antes...
Código [Seleccionar]
modprobe tun
ifconfig at0 up
Ahora, por esa interface ya podemos acceder a la red 192.168.1.0/24 que es la de nuestra víctima, si observamos la tabla de rutas en el equipo del atacante:
Está claro... para ir a 192.168.1.0 se va por at0
Probando... navegamos a la ip 192.168.1.1 (el router víctima) y zas!!! La pantallita de autenticación, probamos las "de costumbre" y ale:
Y la clave....
Bueno... debería haber "difuminado" las mac's, la redes, los essid, etc... me olvidé... así que si te sientes "identificado", enhorabuena!!! Somos vecinos
Como vimos antes en la tabla de rutas, para ir "hacia cualquier red" en este ejemplo nos vamos por la 172.28.0.1 que es el router del atacante... vamos que si queremos usar la conexión Wifi "saboteada" para conectarnos a Internet no podemos porque tenemos el Server buddy y easside en la misma máquina, por ejemplo, vamos a cualesmiip.com y veremos que estamos en Internet con nuestra IP.
Si por el contrario hubiésemos puesto el Server budy en otra máquina en algún punto de Internet... veríamos que al navegar a la misma web salimos con la IP pública de la víctima:
En fin, esto es todo.... Que lo disfruten...
Ahhh!!!! Que me olvidaba....
En el directorio donde se haya ejecutado easside se crea un archivo que se llama prga.log, si os decidís por lanzar el ataque a otro nuevo punto de acceso hay que eliminar ese archivo o fallaréis.
Ahora Sí... Byes.
CitarCita de Vic_Thor
A ver, el truquillo para salir a internet con la IP pública del router víctima (puesto que partimos del hecho que todo corre en la máquina del atacante) sería como este (hay otras formas, pero con la tabla de enrutamiento es sencillo y práctico)
Por un lado tenemos al server buddy escuchando en la dirección: 88.27.187.80 que es la nuestra (la del atacante)
Por otro lado tenemos que para salir a internet, segun la tabla de enrutamiento del equipo atacante dice que se va por la 172.28.0.1 que es la ip local del atacante y por ende andaremos por inet con nuestra ip pública.
Y por último, sabemos que la IP pública de la víctima es la 80.31.68.212 y su ip local la 192.168.1.1
Bien, primero crearemos rutas estáticas para acceder a las ip's públicas de la víctima y atacante:Código [Seleccionar]route add -host 80.31.68.212 gw 172.28.0.1
route add -host 88.27.187.80 gw 172.28.0.1
Con esto nos aseguramos la conectividad entre el servidor buddy y easside
Ahora eliminamos la ruta por defecto que existía:Código [Seleccionar]route del 0.0.0.0 netmask 0.0.0.0 gw 172.28.0.1
Y para finalizar creamos la nueva ruta por defecto, explicándole que para ir al resto del mundo se ha de hacer por at0 o por la ip 192.168.1.1Código [Seleccionar]route add default gw 192.168.1.1
Y ya está, salimos a internet con la ip pública del punto de aceso/router víctima
En ocasiones, hay "problemas" con las rutas añadidas para host, depende de las conexiones, si eso no te funciona bien puedes probar a sustituir este código:Código [Seleccionar]route add -host 80.31.68.212 gw 172.28.0.1
route add -host 88.27.187.80 gw 172.28.0.1
Por este otro:Código [Seleccionar]route add -net 80.31.68.0 netmask 255.255.255.0 gw 172.28.0.1
route add -net 88.27.187.0 netmask 255.255.255.0 gw 172.28.0.1
La desventaja es que habrá 510 ip's públicas a las que accederemos con nuestra ip, también puedes afinar mas con máscaras del tipo /30 si acaso no va lo del host... en fin, como ejemplo sirve.