Les recomiendo la tarjeta Alfa Networks AWUS036h. En Kali ya trae sus drivers instalados, es
capaz de capturar trafico e inyectar paquetes.
Vamos a ver el arte del capturar paquetes wireless. El concepto es muy similar al de capturar
en una red cableada, la diferencia ser que aqu deberemos de poner nuestra interfaz de red
en modo monitor (igual que cuando capturamos en red cableada poniamos la interfaz en modo
promiscuo) para poder aceptar todo el trafico, y no solo los paquetes en los que seamos
nosotros el destinatario.
Esto lo haremos con la herramienta Airmon-NG de la suite Aircrack-NG. Si utilizamos una
interfaz de red externa como la que he recomendado, a lo mejor hay que levantarla a mano.
Primero listaremos todas las interfaces, caidas y levantadas:
# ifconfig -a
Y despues veremos las interfaces levantadas:
# ifconfig
Si aparece la primera vez, y no en la segunda, est caida y tendremos que levantarla de la
siguiente forma:
# ifconfig wlan0 up
Ahora tenemos que crear una interfaz en modo monitor encima de nuestra inferfaz wifi que
vayamos a utilizar, en nuestro caso wlan0. Para saber si tenemos alguna en modo monitor
escribimos:
# airmon-ng
Para crearla:
# airmon-ng start wlan0
Podemos comprobar que se ha creado con
# iwconfig
Las tarjetas de red vienen preconfiguradas con estas normas, pero hay tarjetas de red que se
pueden
Recordar que una tarjeta de red solo puede capturar en una banda (2.4 , 3.6 5) y un canal a
la vez. En la prctica que vamos a hacer se va a ver los diferentes canales y como cambiarnos
de unos a otros.
Primero vamos a cambiar de canal nuestra tarjeta de red:
# iwconfig wlan0 channel 1
Nos hemos cambiado al canal 1, y si vemos la configuracin de la interfaz de red con
iwconfig podemos ver como ha cambiado el valor de la frecuencia en la que estamos y ahora
aparece 2.412 que como podemos ver en la tabla anterior corresponda al canal 1.
Ahora vamos a empezar utilizar la herramienta Airodump-NG para capturar la red e ir saltando
por todos los canales. Por defecto la herramienta trabaja en los canales de la frecuencia
2.4Ghz aunque podemos configurarla para capturar por otras frecuencias y otros canales.
Ahora vamos a ver todos los puntos de acceso que hay emitiendo (parte de arriba), y todos los
dispositivos que hay con el wireless activado (parte de abajo).
# airodump-ng mon0
Cada uno de estos tipos tiene a su vez subtipos. Tienes ms informacin en aqui. Vamos a
centrarnos solo en los paquetes relacionados con la seguridad y el hacking.
Cada punto de acceso es configurado con un SSID, para poder ser reconocido por los
dispositivos clientes que se quieran conectar a l. El punto de acceso emite Beacons Frames
para anunciar su presencia y que todo el mundo sepa que est ahi.
Ahora vamos a capturar estos Beacons Frames. Como siempre pondremos la tarjeta en modo
monitor:
# airmon-ng start wlan0
Nos damos cuenta de que toda la informacin de este paquete va en texto plano, es decir, no
va cifrado. Esto permitir a un atacante crearse paquetes de este tipo, Beacons Frames. Con
lo cual cualquiera podr inyectar este tipo de paquetes. Con esto conseguiramos que a todos
los dispositivos que haya por la zona les aparezca un nuevo punto de acceso.
Pues vamos a realizar la prueba. Esto lo haremos con la herramienta MDK3 de Kali.
Utilizaremos la opcin de Beacon Flood Mode para inyectar paquetes del tipo Beacon Frames
en todos los canales provocando confusin en los dispositivos cliente de la zona.
Con la herramienta iwconfig, invocndola sin argumentos podemos ver en que frecuencia est
trabajando nuestra tarjeta, y si miramos en la tabla que relaciona frecuencias con canales
(http://en.wikipedia.org/wiki/List_of_WLAN_channels ) podremos ver a que canal corresponde.
De esta manera podremos comprobar que hemos hecho el cambio de canal correctamente.
Una vez hecho esto nos vamos a Wireshark y seleccionamos la interfaz mon0 para capturar.
Ahora utilizaremos un filtro de visualizacin para que solo nos muestre los paquetes que nos
interesen y poder hacer el anlisis sin tanto paquete que nos moleste. Primero mostraremos
los paquetes que contengan la direccin MAC del punto de acceso. La MAC del AP la
podemos obtener de la herramienta Airodump-NG que acabamos de utilizar. Pondremos un
segundo filtro que indique que los paquetes tengan tambin la direccin MAC del cliente. De
esta forma podremos ver de una forma clara el intercambio de paquetes que ocurre entre
cliente y AP, ya que solo se mostrar por pantalla el trfico entre estos dos.
Filtro: (wlan.addr == <mac_AP
Ahora conectaremos un dispositivo a esa red y veremos que ocurre.
No aparece en la imagen, pero el primer paquete que enva el cliente es un Probe Request al
Broadcast indicando a sus dispositivos de alrededor de su presencia para que a su vez, estos
dispositivos de alrededor enven Probe Responses indicando de su existencia para que el
cliente pueda elegir a que AP quiere conectarse. El cliente tambin podra enviar un probe
request preguntando si hay en la zona un ESSID en especfico, pero esto ya depende de la
implementacin de cada sistema operativo en particular, ya que como veremos ms adelante
esto no es una prctica muy segura y los SO modernos estn dejando de hacerlo. De todos
modos veremos la forma de explotar esto ya que todava hay muchos dispositivos que s que
lo hacen.
Lo siguiente en lo que nos tenemos que fijar es en el paquete Authentication, que ser un
paquete de tipo request con el objetivo de solicitar autenticarse al AP. Como es abierta la red,
el punto de acceso responder un paquete de tipo response dando el visto bueno. Una vez
este proceso se ha realizado con xito, se proceder a la asociacin, para que puedan
intercambiar trfico. El cliente mandar un paquete tipo request de asociacin, y el AP
contestar con un response de asociacin.
Resumen (STA es el cliente y AP STA es el AP):
Ahora vamos a ver por encima las cabeceras de los paquetes WLAN.
Seleccionamos en el Wireshark un paquete, el Beacon Frame por ejemplo. Miramos en la
ventana de en medio y vamos a ir analizando las cabeceras. La primera cabecera llamada
Frame nos dar informacin sobre cuando se ha capturado ese paquete.
Pero estas dos cabeceras no son propias del protocolo WLAN. La siguiente cabecera IEEE
802.11 nos dar la informacin de las direcciones MAC y el tipo de paquete.
Para mi tarjeta de red, he visto que puedo operar en las siguientes frecuencias:
wi3
La potencia puede aparecer de 2 modos, con la unidad de medida Watts, o en dBm. Lo normal
es utilizarlo en la forma dBm as que puedes transformarlo con esta tabla. Lo ms usual (en
tarjetas de red para usuarios) es que la tarjeta tenga una potencia maxima de 30 dBm.
Una vez tenemos claros los conceptos vamos a ponernos manos a la obra. Lo primero ser
mirar en que frecuencia y con que potencia est trabajando actualmente mi tarjeta de red.
En wlan1 podemos ver la potencia en el campo Tx-Power. Para esta interfaz no se muestra
ninguna frecuencia porque todava no est asociada a ningn punto de acceso, esto no quiere
decir que no est configurada con una frecuencia especfica, s que lo est, pero no se nos
muestra. Para la interfaz wlan0 s que podemos ver que est en la frecuencia 2.452 GHz, y
que est configurada con una potencia de 15 dBm.
Ahora har unas pruebas cambiandome de un canal a otro y finalmente intentar cambiarme a
un canal que no est permitido en mi pas, o que mi tarjeta no soporte esa frecuencia (en este
caso no podremos hacer nada!).
La potencia se puede cambiar. Para cambiarla, y aumentarla, ser de la siguiente forma (no
podrs aumentar a ms potencia de la que ponga en las especificaciones tecnicas del
producto!):
# iwconfig wlan1 txpower 30
Y me da error.
Cada pas tiene unas leyes que regulan las frecuencias en las que pueden trabajar las
personas, y la potencia con la que pueden hacerlo. Como hemos dicho antes el ordenador
viene configurado con las restricciones para que no puedas cambiar la configuracin de tu
tarjeta de red a una configuracin que no est permitida en la regulacin de tu pas.. Esta
restriccin es una simple variable en el sistema operativo que indica el pas en el que ests,
con la consecuencia de que solo te dejar configurar la frecuencia y potencia de tu tarjeta de
red para las regulaciones de ese pas.
Entonces lo que haremos ser cambiarnos el
Para ver cul es la configuracin que tienes actualmente:
# iw reg get
El par de valores de la primera columna indican los rangos de las frecuencias en los que es
posible emitir, es decir, se podr emitir desde la frecuencia 2.402 Ghz hasta 2.472 Ghz, y as
igual con el resto de rangos. Los siguientes pares de valores son los que indican la potencia,
es decir, hay que mirar el segundo valor (el 20) y este representa la potencia mxima con la
que puedes emitir segn la regulacin del pas actual en el que ests, en este caso 20. Esto
quiere decir que si nos ponemos una potencia superior a 20 como hemos intentado antes se
producir un error.
Para hacer los cambios en las configuraciones es mejor que bajemos la interfaz..
# ifconfig wlan1 down
Vamos a cambiarnos y ponernos las regulaciones de EEUU:
# iw reg set US
Y podemos ver como al estar monitorizando los mensajes del kernel se ha cambiado la
configuracin a EEUU. Y ahora podemos ver que nuestra potencia mxima ser de 27 Dbm,
aparece en la columna de ms a la derecha de todas.
Ahora si que podremos cambiar la potencia a 27 Dbm (siempre y cuando nos lo permite la
tarjeta).
# iwconfig wlan1 txpower 27
Para poder volver a usar la intefaz habr que levantarla:
# ifconfig wlan1 up
El objetivo ser encontrar el pas en donde haya unos limites de potencia ms grandes y los
rangos de frecuencia sean ms grandes. BO y BZ, que son Bolivia y Belize los pais con ms
potencia y ms rango de frecuenica =).
Enlace a las regulaciones de cada pais:
https://kernel.googlesource.com/pub/scm/linux/kernel/git/linville/wireless-regdb/
+/af726449e73286e1375e7a72336045d9d0ce84f8/db.txt
Podemos ver el mensaje que dice que ha creado una interfaz at0 (que sera la equivalente a la
interfaz de cable que tiene un AP, es decir, un AP tiene la interfaz Wi-Fi por donde emite y se
conectan los clientes; y tiene otra interfaz de cable por donde el AP se conecta a internet).
Pero esta interfaz at0 no est levnatada, si quisisemos capturar el trfico que pasa por aqu,
es decir el de la vctima tendramos que activarla nosotros mismos:
# ifconfig at0 up
Ahora forzaremos al cliente que est conectado AP legtimo, que se desconecte de este
generando unos paquetes que se llaman de Desautenticacin que sirven para desautenticar a
la vctima.
# aireplay-ng deauth 0 -a <mac_AP> mon0
Para esto debes de estar en el mismo canal que el AP! Entonces lo que haremos ser poner
nuestra interfaz wlan0 y mon0 en el mismo canal que el AP legitimo, para poder hacer el
ataque de de-autenticacin.
# iwconfig wlan0 channel 11
# iwconfig mon0 channel 11
Y podemos ver como nos aparece que se ha conectado alguien a nuestro Soft AP.
No tenemos servidor DHCP configurado en nuestro Soft AP, entonces la vctima no puede
recibir una direcin IP, por lo que al cabo del tiempo se autoconfigura con una IP del tipo
169.X.Y.Z puesto que nadie le ha dado una IP. En mi caso particular la victima es el Iphone
con el ultimo IOS y no aparecera el simbolito de que estamos conectados a una red Wifi
puesto que no tenemos aun conexin a internet, pero si nos vamos a la configuracin de la red
podemos ver como efectivamente tenemos una direccin IP de ese tipo.
Lo que haremos ser ponernos en nuestro ordenador una IP de este rango a la interfaz at0:
# ifconfig at0 169.254.174.226 netmask 255.255.255.0 up
Y si le hacemos un ping a la victima, veremos que nos responde =) Es decir, podramos hacer
hacerle Information Gathering, un Analisis de Vulnerabilidades, etc.
Ms adelante veremos como darle conexin a internet a la vctima par estar de MITM.
Con este miso mtodo se podran realizar ataques a clientes que no estn conectados a
ninguna red. Cuando estos pregunten por una red abierta con los paquetes probe request (con
una red en especifica), tan solo tendramos que crear esta misma red, de esta forma el
dispositivo se conectara a ti.
En la foto podemos ver como determinados dispositivos estn preguntando por determinados
APs, que si fuesen abiertos podriamos crearlos y ya tendramos al dispositivo conectado a
nosotros sin que la vctima se diese cuenta! Por seguridad las ultimas versiones de los
sistemas operativos ya no utilizan los probes request con un AP en especifico para evitar este
ataque, hacen el probe request al broadcast y son los AP los que contestan los probe
responses indicando de su presencia.
La primera vez que te conectas a un punto de acceso, se te aade el ESSID a tu lista de redes
WiFi. Y siempre que el cliente se encuentre con este punto de acceso se conectar
automticamente a l sin preguntar nada al usuario, a no ser que lo configures para que te
pregunte cada vez que hay una posibilidad de conectarte (RECOMENDADO!).
Gracias a esto se va generando una tabla de puntos de acceso y contraseas. El cliente
automticamente mandar paquetes probe request para ver si encuentra redes Wi-Fi de su
lista.
Las redes que tiene almacenadas el cliente pueden ser de 3 tipos:
- Sin autenticacin
- Wep
- Wpa/Wpa2
Cada uno de ellos tendr una forma distinta de hacer que el cliente se conecte a ti. Por ahora
hemos visto el caso en el que la red sea abierta.
El problema es que el cliente no autentica que el AP es el que dice ser, es decir, que no
comprueba si el AP es el legitimo o es un atacante. Entonces cualquier puede poner un AP
con el nombre por el que el cliente est preguntando.
Vamos a ver como conectarnos a un AP que tiene filtrado MAC de una forma muy sencilla. Lo
primero ser poner nuestra tarjeta de red wifi en modo monitor y despus monitorizar el AP
que nos interesa con la herramienta Airodump-ng utilizando la opcion -c para indicar el canal
en el que queremos monitorizar, bssid para que nos muestre solo la info del SSID que nos
interesa. Veremos como la salida que devuelve la herramienta Airodump-ng est dividida en 2
partes. En la de arriba mostrar las estadisticas del BSSID que le hemos indicado y en la de
abajo veremos la lista de los clientes que detectamos, y si estn conectados a algn punto de
acceso o no. De esta forma podremos saber cuales son las MAC que son permitidas por el AP.
Es decir, si vemos que hay algn cliente conectado a nuestro AP, quiere decir que esa
direccin MAC est en la lista de direcciones permitidas.
Podemos ver en la imagen de arriba como el AP con la MAC terminada en E3, tiene 2 clientes
conectados cuyas direcciones MAC terminan en BF y A6. Ahora solo tendremos que suplantar
nuestra MAC por una de estas 2 que sabemos que son aceptadas por el AP con la
herramienta Macchanger.
conectaremos a un AP con acceso a intenet por la interfaz de nuestra tarjeta de red del
portatil, y la vctima estar conectada a un AP abierto sin contrasea que creamos con la
interfaz de la tarjeta de red externa conectada por USB. Esta prueba la haremos con Kali en
una mquina virtual.
Para ello tendremos que irnos a la configuracin de la maquina virtual antes de encenderla, al
apartado de USB, y all aadir nuestra tarjeta de red externa que conectamos al PC por USB.
Como veis en la foto siguiente, pinchar en el icono de agregar y seleccionar la tarjeta de red
externa.
Cuando encendamos la maquina si hacemos ifconfig podremos ver que tenemos 3 interfaces.
l0 que es propia del sistema y no nos imoprta, eth0 que es la que utiliza la maquina virtual
para conectarse por NAT al ordenador principal y tener acceso a internet, y por ultimo,
tenemos la interfaz wlan0 que ser la de la tarjeta de red externa que hemos agregado.
Crear un AP con un ESSID que se que est guardado en la lista de redes Wi-Fi de la vctima
para que se conecte a mi automticamente para simplificar las cosas, puesto que ya hemos
visto anteriormente la forma que hay de que la vctima se conecte a nosotros y no es lo que
nos preocupe en este momento. El AP lo crear sobre la interfaz mon0 (que la he creado
sobre la interfaz wlan0, la intefaz de mi tarjeta de red externa).
# airbase-ng essid USR5462 mon0
Hemos creado un AP con el ESSID USR5462 que sabemos que es el nombre de una red
abierta donde ha estado conectado la victima. Ahora tendremos que redirigir el trfico de la
interfaz mon0 (la cual hemos usado para crear al AP al que se ha conectado la vctima) a la
interfaz eth0 que es la que est conectada a internet. Tambin habr que realizar lo contrario,
es decir, lo que venga por wlan0 con la vctima como destino, redirigirlo a mon0 que es donde
est al AP para que le pueda llegar. Esto lo haremos con la herramienta Bridge Control de
linux de una forma facil y sencilla (tambin se podra hacer con iptables que sera ms
complicado).
Podemos ver en la foto que se nos ha creado una interfaz llamada at0, que simula ser la
interfaz de un punto de acceso real que se conectara por cable ethernet a internet, para que
el AP pueda tener conexin a internet. Tendremos que levantar esta interfaz:
# ifconfig at0 up
Ahora lo que haremos ser conectar con un puente las dos interfaces, mon0 y eth0, como
hemos dicho antes para que la victima pueda tener conexin a internet. Para esto utilizaremo
una herramienta llamada brctl. Para utilizarla tendrs que instalarte primero las bridge-utils:
Ahora tendremos que asignarle una IP a la interfaz mitm que es la que nos conecta eth0 con
at0 para que la vctima pueda tener conexin a internet. Esto lo haremos con la herramienta
dhclient3 para pedirle una configuracin de red al DHCP para nuestra interfaz mitm.
Podemos ver en la herramienta airbase-ng que teniamos abierta como nos indica de que un
cliente se ha asociado al AP. Para comprobar que todo el trfico de la victima est pasando
por nosotros, haremos un poco de Sniffing y nos pondremos a capturar el trfico con
Wireshark. Capturaremos en la interfaz at0 puesto que todo el trfico del cliente pasa por aqu,
ya que como hemos explicado antes esta es la interfaz equivalente a la que va conectado el
cable en en un AP legitimo para que pueda este tener internet.
Podemos ver que aparece en la foto el trafico de la ip 10.0.2.16 que es la vctima (mi telfono
mvil) y puedo ver como est haciendo peticiones a la pagina de www.as.com a la que me he
conectado con el mvil.
Pues ya tenemos interceptadas las comunicaciones a internet y la vctima no se dar cuenta
de nada.
poder snifar todo lo que pase por el aire. Lo haremos de la siguiente manera.
Despues el airodump-ng nos mostrar todas las redes que estn a nuestro alcance.
Para realizar el ataque por desautenticacin necesitamos que haya al menos un cliente
conectado al punto de acceso para poder desautenticarle con la tcnica de DoS a un AP para
que al volver a conectarse enve un paquete ARP que ms adelante explicar para que nos
har falta. Por el otro metodo que os he comentado antes podemos obtener el paquete ARP
en el momento que hacemos la autenticacin falsa. Vemos en la foto como el punto de acceso
acabado en F5 es WEP y tiene un cliente conectado como hemos dicho que nos hace falta.
Aparece en la columna STATION y es el cliente con la MAC terminada en 43.
Ahora lo que tenemos que hacer es capturar nicamente el trafico del punto de acceso que
nos interesa (el que tiene la MAC acabada en F5) e ir guardando todo lo que capturemos en
un fichero que se llamar pocHighSec. Podemos ver que el punto de acceso utiliza el canal
1.
Para conseguir un paquete ARP tenemos que realizar el ataque de desautenticacin del
cliente con su punto de acceso para que cuando se vuelva a conectar enve un paquete ARP y
sea capturado por nosotros y quede registrado en nuestro fichero pocHighSec. Necesitamos
un paquete ARP puesto que es el tipo de paquete que utilizada la herramienta para clonarlo e
inyectarlo en la red del punto de acceso al que estamos atacando de forma masiva para as
poder generar mucho trfico en poco tiempo. A nosotros lo que nos interesar ser capturar el
paquete de respuesta (ARP replay) en donde va variando el campo IV, a partir del cual
descrifraremos la contrasea. Esto funciona de la siguiente manera (sacado del post de FluProject sobre funcionamiento WEP):
Por el uso de la clave esttica se puede realizar ataques de observacin y gracias a la
estadstica conseguir sacar el patrn de la clave, y de este modo conseguir la clave esttica.
El IV se envia siempre en claro, por lo que son captados por cualquiera, adems de los 24 bits
de los que estn compuestos que es un valor demasiado corto. Recolectando un nmero alto
de IVs se puede, mediante ataque estadstico descifrar la clave. La autenticacin se realiza del
AP al cliente, pero no del cliente al AP, por lo que el cliente no sabe realmente si se conecta al
AP que dice ser. Por esta razn existen los Rogue AP, o MITM a travs de un AP.
Ahora dejamos la herramienta aireplay-ng a la espera de capturar el paquete ARP y en cuanto
lo tenga proceder a inyectar una copia de estos paquetes a gran velocidad.
Ahora ser el momento de desautenticar al cliente para obtener nuestro esperado paquete
ARP.
Debido a la vulnerabilidad del protocolo WEP cuando tenemos una gran cantidad de paquetes
capturados de una red es posible obtener la contrasea de la red. Podemos ver en la
penultima foto como nuestra herramienta ya tiene su paquete ARP y es capaz de clonarlo e
inyectar el mismo paquete con gran velocidad para ir capturando tramas de esa red. Si os fijais
en la ultima linea pone (got 164044 ARP requests and 86688 ACKs), sent 105696 packets.
Quiere decir que hemos inyectado 105696 paquetes.
Mientras podemos ver como los paquetes capturados en nuestro fichero pocHighSec
aumentan a una enorme velocidad, mirando los #Data.
Una vez hemos llegado hasta aqu utilizaremos el aircrack-ng para que descifre la contrasea
una vez tenga el numero de IVs suficientes. Ir haciendo el crackeo cada vez que tenga un
numero de IVs multiplo de 5000.
Este ataque va a ser posible sin estar al alcance del AP en cuestin al que vamos a crackear
su contrasea. Lo que haremos ser crear un punto de acceso que est en la lista de SSID de
la vctima para que se conecte automaticamente sin darse cuenta, y luego generaremos trfico
legtimo para hacer el cracking WEP. Lo haremos de la siguiente manera. Sabemos que el
primer campo de los datos cifrados de los paquetes siempre es igual, que es la cabecera LLC
(8 bytes) y sabemos cuales son esos 8 bytes. De esta forma si hacemos un XOR de los
primeros 8 bytes del paquete, con los 8 bytes LLC que ya conocemos, podremos obtener los
primeros 8 bytes del RC4 Keystream.
Con esto lo que podemos hacer es un XOR con un pequeo paquete que creemos al
fragmentar el paquete original, y esto nos crear un paquete perfectamente valido para la red
WEP a la que pertenezcan los paquetes. Esto nos valdr para fragmentar un paquete ARP en
paquetes pequeos vlidos sin saber la clave de la red. Y de esta forma realizar el ataque
ARP-replay.
Este ataque sirve para atacar al cliente. Cuando se conecte a nuestro AP, despues de enviar
los paquetes correspondientes a DHCP, enviar los correspondientes a ARP request, y ser
ahi cuando nosotros respondamos con un ARP replay que hemos sido capaces de crear y que
sern validos para el cliente. Demo Time! Utilizaremos la herramienta Airbase-NG que sirve
para crear el punto de acceso para realizar el ataque. Elegiremos en que canal queremos
poner el punto de acceso, el nombre, con -W diremos que sea del tipo WEP y la opcin -N es
la que corresopnde al tipo de ataque Hirte Attack. # airbase-ng -c 1 essid WLAN_88 -W 1
mon0 -N
Tambin tendremos que almacenar la captura con Airodump-ng para despues poder
crackearla con Aircrack-ng. # airodump-ng channel 1 -W hirte mon0
Es posible que el cliente se desconecte, y se vuelva a conectar a la red puesto que no recibe
configuracin de red (esto depender de la implementacin del SO). Podemos ver como los
paquetes estn subiendo de una forma muy lleguemos a un numero suficiente podremos
descifrar la clave WEP con aircrack-ng como siempre. # aircrack-ng hirte-01.cap
Hay veces que no funciona a la primera la inyeccin masiva de paquetes y hay que volverlo a
probar.
El siguiente paso ser hacer el mismo procedimiento con el penltimo paquete. Y as habr
que hacer con cada uno de los bytes correspondiente a la parte cifrada del paquete.
La vctima que estar generando trfico debe de estar ya autenticado y haremos la prueba con
un paquete de los que est transmitiendo. De esta forma podremos coger su MAC para
utilizarla y engaar al AP para que piense que el trafico que generemos viene del cliente
legitimo.
Demo time!
Aireplay-NG tiene la opcin de chopchop. Como siempre tendr que mirar con Airodump-ng
en que canal est el AP que me interesa para poner las interfaces en ese canal. Para elegir si
quieres descifrar el paquete que te muestre la herramienta tendrs que escribir y de yes en
ingles. El paquete tendr que tener como MAC origen la de la vctima, que es la que estamos
suplantando nosotros. Esto podremos verlo en Airodump-ng en la parte de abajo donde
aparece a que AP est conectado cada cliente, y podremos saber la MAC de la vctima que
tenemos que suplantar.
# aireplay-ng chopchop -e WLAN_88 -h 38:48:4C:6F:78:BF mon0
Podemos ver que nos ha guardado el paquete en la captura con nombre replay_src1122204237.cap y si la abrimos veremos que est cifrado y no podemos ver su contenido.
Cuando termine la herramienta nos indicar que ha guardado el paquete descifrado en otra
captura.
Aqui tendremos que buscar una victima que tenga una wifi con el ESSID de la forma
WLAN_XX y el cifrado sea WEP. En este caso elegiremos la red WLAN_3B como victima para
nuestra prueba de concepto. Ahora tendremos que realizar una captura de trafico y guardarla
en un fichero pero filtrando para que nos capture solo de la red que nos interesa. Indicaremos
sobre que canal se tiene que poner la herramienta a capturar (-c), el nombre del ESSID que
queremos capturar y el nombre del fichero donde guardar la captura. Utilizaremos la
herramienta airodump-ng con la sintaxis de la imagen (el resultado de la instruccin es lo que
hay arriba aun que la instruccin la muestro despus de obtener el resultado para que la
vieseis en la foto como he obtenido la captura filtrada)
Lo siguiente que tengo que hacer es utilizar una herramienta que se llama Wlandecrypter que
lo que hace es que me genera un diccionario con todas las posibles claves para esa red, y
como hemos visto antes, sabiendo el algoritmo de claves que utilizaba Telefonica, ser muy
pequeo el diccionario. Tendremos que indicarle a la herramienta la mac del punto de acceso
del que queremos obtener el diccionario, es decir, el BSSID de la red.
Una vez ya tenemos el diccionario lo que tenemos que hacer es pasarselo a la herramienta
aircrack-ng (la que se encarga de hacer fuerza bruta de nuestro diccionario sobre la captura
que hemos ido guardando). Adems de pasarle el diccionario, tambin le tenemos que pasar
como digo, la captura que hemos cogido de la red para realizar la fuerza bruta sobre esta y de
esta forma obtener la contrasea. La sintaxis con la que he invocado aircrack-ng aparece en la
foto a continuacin del resultado que produce la invocacin del aircrack pero yo lo pongo a
continuacin para que veais como he obtenido ese resultado.
Pues como veis ya hemos descifrado la clave y es lo que viene a continuacin de ASCII: y
podemos ver como efectivamente el primer caracer es la Z de los router Zyxel de Telefonica,
los siguientes 6 es la primera parte de la direccion MAC del router y los ultimos 2 es el 3B de
la WLAN_3B.
WEP, WPA o WPA2. Se puede ver en los Beacon Frames que emite el AP, y en los probe
response un campo llamado WPA Information Element en donde nos dice el tipo de cifrado y
el tipo de autenticacin.
Veremos ahora como es la conexin entre un cliente y un AP en WPA con PSK. Para verlo
ma en detalle filtraremos las MAC del cliente y del AP:
Filtro Wirehsark: (wlan.addr == 00:1a:2b:89:fa:e3) && (wlan.addr == 38:48:4c:6f:78:bf)
El cliente para conectarse automticamente a una red WPA/WPA2 lo que har ser mirar en el
paquete Probe Response la configuracin de WPA para ver el tipo de cifrado y el tipo de
autenticacin, y si tiene guardada una red con el mismo ESSID y coinciden estas
configuraciones, se conectar automaticamente a este. De esta forma podriamos montar un
Fake AP a modo de honeypot para que el cliente se conecte a nosotros.
Una de las mayores diferencias y mejoras entre WEP y WPA es que WPA ya no utilizar
claves estticas para cifrar los paquetes, si no que usar claves dinmicas. La contrasea de
la red WiFi ser el Passpfrase, a partir de esta obendremos el PSK de 256 bit, ambas estarn
tambin en el AP.
Una vez el cliente est conectado al AP, este enviar un paquete llamado ANonce con
informacin acerca del mtodo que se usar para cifrar entre otras cosas. Despus el cliente
generar para la conexin una clave PTK que ser la clave dinmica de la que hablbamos.
La clave PSK 256 bits tambin es llamada PMK. El cliente contesta con un paquete que
contiene el Snounce y MIC. El que nos importa es MIC que se ha creado a partir del PTK, es
decir, que el AP lo descifrar y podr comprobar que tiene el mismo PTK que el cliente. El
tercer paquete que se envia del AP al cliente es el key installation, indicando que se guarde la
clave en el cliente. Por ultimo el cliente enviar un paquete ACK al AP y este guardar
entonces la clave y as ambos tendrn la misma.
Pues vamos a probarlo. Para ello capturar el handshake con Airodump-NG y para conseguir
el Handshake necesito que alguien se conecte a la red, es decir, que lo ms facil ser echar a
alguien de la red con un paquete de De-Autenticacin, de esta forma conseguiremos que se
vuelva a conectar de forma automatica.
# airodump-ng -c 11 -w cracking mon0
# aireplay-ng deauth 0 -a <mac_AP> mon0
La clave que aparece con el nombre Master Key es la PMK de la que hemos hablado antes.
Otra herramienta para realizar lo mismo es Cowpatty:
A la hora de crackear WPA2-PSK se usan los mismos principios que en el cracking de WPAPSK. Hay que capturar el Handshake y seguir el mismo proceso. Es decir, si tienes un
Passpfrase debil estars en el mismo problema. Para ver si una red es es WPA o WPA2
podemos verlo en los Beacon Frames o Probe Responses. Es decir que con las mismas
herramientas y mismos comandos podriamos crackear la captura WPA2 y descifrarla luego.
Lo que haremos ser acelerar el proceso indicandole el nombre del SSID y el diccionario para
crear un diccionario de claves PMK pre-calculadas. De esta forma ahorraremos tiempo
ahorrandonos el paso ms cosotoso del proceso. Ahora quedara de esta forma:
Hay una herramienta llamada Pyrit que sirve para crackear las contraseas con hardware ms
potente, como puede ser por ejemplo la tarjeta grafica del ordenador. Ahora lo que haremos
ser pre-generar el diccionario con la herramienta genpmk con nuestro diccionario de
Passpfrase y el nombre del SSID.
# genpmk -f dicc.txt -s WLAN_23A3 -d pmk-pre-calculadas
error en el diseo del sistema WPS, por el que el router avisa de que estamos fallando, tras
solo comprobar los cuatro primeros dgitos de ese nmero de identificacin personal de ocho
bits.
Mediante un ataque por fuerza bruta, nos llevara entre dos y diez horas descifrar los 8
nmeros del PIN del WPS del router, pues con ese error la seguridad pasa de 100.000.000 de
posibilidades a solo 11.000, debido a que solo hay que acertar con dos grupos de nmeros
por separado: uno de cuatro y otro de tres, pues el ltimo es solo un checksum.
Esto lo haremos con la herramienta reaver. Como siempre lanzaremos airodump-ng mon0
despues de haber puesto la tarjeta de red en modo monitor airmon-ng start wlan0
Despues con el wirehsark monitorizando en la interfaz mon0 tendremos que ver si el punto de
acceso tiene habilitado el WPS, abrimos el paquete y tiene que aparecer el campo del WPS tal
y como aparece en la siguiente imagen.
Cuando ya sabemos que la red tiene habilitado WPS lanzamos la herramienta con la direccin
MAC del punto de acceso a atacar.
.
# airmon-ng start wlan1 (Quinta vez)
Tendremos que crear los 4 APs en el mismo canal. Tendr que poner en 5 ventanas distintas
lo siguiente. El parametro -c es para indicar el canal, el -W para indicar que se cifrarn los
datos, y el -z -Z para indicar WPA o WPA2. Para saber exactamente todas las opciones os
recomiendo mirar el manual de uso de la herramienta.
# airodump-ng -c 1 -w cracking mon0
# airbase-ng essid WLAN_23A3 -a aa:aa:aa:aa:aa:aa -c 1 mon1
# airbase-ng essid WLAN_23A3 -a bb:bb:bb:bb:bb:bb -c 1 -W 1 mon2
# airbase-ng essid WLAN_23A3 -a cc:cc:cc:cc:cc:cc -c 1 -W 1 -z 2 mon3
# airbase-ng essid WLAN_23A3 -a dd:dd:dd:dd:dd:dd -c 1 -W 1 -Z 4 mon4
Tambien tendremos que dejar corrierndo el airodump-ng capturando en el mismo canal para
poder guardarnos el Handshake y de esta forma poder crackear la contrasea de la red. Una
vez la vctima encienda el WiFi se conectar a unos de nuestros 4 puntos de acceso y ya
sabremos cual es la configuracin de la red. Adems de obtener informacin sobre el AP
legitimo, tambin hemos obtenido un Handshake a partir del cual podremos crackear la
contrasea sin haber estado nunca por la zona del AP legitimo.
Con la captura que tenemos con el handshake realizamos el crackeo con un diccionario de
posibles passphrase.
# cowpatty -f dicc.txt -r cracking-01.cap -s WLAN_23A3
La otra opcin es hacerlo con Airdecap-NG, que nos generar una otra captura ya descifrada.
# airdecap-ng -w 31:32:33:34:35:36:37:38:39:31:32:33:34 captura.pcap
Ahora vamos a ver como descifrar las capturas WPA. Recordar que para que se pueda
descifrar la captura tenemos que haber capturado un Handshake.
# airdecap-ng -e WLAN_32A3 -p qwertyuiop cracking-01.cap
Podemos ver en la imagen anterior como podemos ver la MAC y el fabricante del AP, y a la
derecha en el campo INFO podemos ver el nombre del SSID. Pues para ocultar nuestro SSID
nos iremos a la configuracin del router o punto de acceso (AP) y activaremos la casilla que
pone Ocultar punto de acceso.
Para poder descrubir los SSID ocultos vamos a utiliar al tcnica de esperar a que un cliente se
conecte al AP. Esto va a generar un paquete de solicitud que se llama PROBE REQUEST, y
los paquetes de respuesta del AP se llaman PROBE RESPONSE los cuales contendrn el
SSID de la red.
Podriamos esperar que un cliente se conectase por l mismo a la red, o utiliar el ataque de deautenticacin visto en este post anterior, que consiste en desautenticar a la gente que hay en
la red forzandoles a que su dispositivo se vuelva a conectar a la red de forma automatica. Esto
lo haremos con la herramienta aireplay-ng de la suite Aircrack-ng.
Una vez ya hemos conseguido que se generen los paquetes que nos interesan ya podemos ir
al wireshark a buscarlos. Utilizaremos un filtro de la MAC del AP, y podemos ver como los
SSID son ocultos hasta que aparecen los paquetes de PROBE RESPONSE en donde aparece
nuestro SSID oculto que estabamos buscando.
Ejecutando Airodump-NG filtrando por la MAC podremos capturar la red WEP que nos
interese. Vemos que en la columna AUTH no aparece nada hasta que no se conecte alguien:
# airodump-ng -c 9 bssid <mac_AP> -w post mon0
Una vez se conecta alguien, este camop se rellena y adems aparece en la parte de arriba de
la herramienta el Handshake. Y si miramos en la carpeta donde estamos tambin se ha
creado un archivo .xor.
El segundo podemos ver que contiene el la palabra de 128 bytes que enva el AP al cliente
para que cifre.
Vamos a ver ahora para que nos va a servir toda esta informacin que hemos recogido:
Podemos ver en la foto que el reto que enva el AP al cliente en el segundo paquete es la X, la
Z es la palabra cifrada que devuelve el cliente al AP y la Y es la keystream con la que se cifra
la palabra. Y vemos que con una sola operacin simple podemos obtener la keystream,
haciendo un XOR de la X con la Y.
Cuando nos vayamos a autenticar en la red y se nos enve la palabra para realizar el reto,
podremos superarlo con exito y autenticarnos en la red ya que podemos obtener el keystream
(Y=WEP Keystream). Para probar este ataque podemos ver en el directorio en el que estamos,
que el airodump-ng nos ha generado un fichero .xor cuando ha capturado el handshake de la
conexin que acabamos de analizar. Lo vamos a probar con la herramienta Aireplay-NG:
Podemos ver con el airodump-ng como nos hemos autenticado, ya que de la parte de abajo
del programa, la MAC C4:85:08:35:1D:CB es la de nuestro portatil con el que hemos hecho la
autenticacin falsa.
La conclusin de esto es que la autenticacin por clave compartida para WEP est rota, as
que tener cuidado. Ms adelante veremos cmo sacarle partido a esto.