CAPTURANDO COOKIES EN RED CONMUTADA WIFI DESDE WINDOWS
Sistema operativo: Windows XP
Herraminetas:
Tarjeta inalámbrica: Zydas USB con chipset zd1211b
Hamster y Ferret
Cain
El propósito de esta práctica es demostrar la inseguridad de una red wifi abierta o con cifrado WEP. Nos centraremos en capturar cookies de la red.
INTRODUCCIÓN:
Me he decidido a escribir este tutorial no porque no haya documentación por internet, sino para intentar comprender mejor como trabaja una red wifi y entender de una forma práctica conceptos como modo monitor, modo promiscuo, redes conmutadas (switches), redes compartidas (hub), envenenamiento ARP...
Otro mensaje fundamental que me gustaría recordar de una manera práctica es la vulnerabilidad de una red wireless abierta o con cifrado WEP. Si una sola persona que lea esto cambia su red a WPA con una clave robusta me daré por satisfecho.
UN POCO DE TEORÍA:
Empecemos por el principio. Cuando capturamos tráfico con nuestro sniffer preferido airodump-ng antes hemos tenido que cargar los drivers adecuados para que la tarjeta trabaje en modo monitor. Cuando la tarjeta entra en este estatus lo que sucede es simple, la tarjeta está, por decirlo de alguna manera, abierta a recibir toda la información que esté dentro de su cobertura sin asociarse a ningún punto de acceso.
Todo el tráfico que es emitido en el estándar wifi en los alrededores donde nos encontramos se almacena en nuestro disco duro independientemente del canal (frecuencia) en el que se emita (por supuesto podemos filtrar para capturar solo el canal o ESSID que nos interesa).
En modo monitor no es posible navegar ya que no estamos asociados a ningún AP.
Una vez hecha la captura (y descifrada con el Airdecap-ng) podemos visualizar todo el tráfico que ha pasado por el AP objetivo con un analizador de tráfico de red como el wireshark. Filtrando y analizando estos datos podemos obtener cookies sin ni siquiera asociarnos a la red. En esta práctica no usaremos este método, sino que nos asociaremos a la red y usaremos el modo promiscuo.
El modo promiscuo: En este estatus estaremos asociados a la red con la diferencia que la tarjeta intenta recibir el tráfico que pasa por la red aunque no vaya dirigido a ella
En este modo si podemos navegar ya que si que estamos asociados a un AP.
Las direcciones MAC de las tarjetas actúan como identificadores de cada equipo.
Aquí debemos mencionar una cuestión importante dependiendo de la tipología de la red:
-Red compartida (hub): El AP manda la información a todos los equipos de la red y es la propia tarjeta la que descarta los paquetes de datos que no van dirigidos a nuestra máquina. En modo promiscuo la tarjeta no descarta ningún dato y se queda con todo el tráfico de la red.
-Red conmutada (swich): Es una red en principio más segura. En ella el AP “aprende” direcciones MAC de los equipos de la red de modo que se encarga de mandar el tráfico solamente al equipo al que le corresponden. En este caso los datos no van por toda la red, sino que solo van desde/hasta a los equipos a los que les corresponden. Con nuestra tarjeta en modo promiscuo solo capturaremos los datos que vayan dirigidos a nuestro PC.
Aquí podemos ver una animación para comprender mejor estos dos conceptos:
http://reparesupc.com/redes.aspx
Pues vaya chasta. ¿Si mi red es conmutada solamente voy a ver el tráfico que va dirigido a mí? Pues no. Aquí entra el envenenamiento ARP. Mediante este método engañamos al AP para que también nos mande a nosotros los datos que son para otros equipos.
El principio del envenenamiento ARP es enviar mensajes ARP falsos a la red con el objetivo de asociar la dirección MAC del atacante con la dirección IP del equipo atacado.
PRÁCTICA:
Tras esta pequeña introducción “teórica” pasamos a la parte práctica.
Vamos a ello. Comenzamos por instalar el WinPcap que permite a nuestra tarjeta entrar en el estatus de modo promiscuo:
http://www.winpcap.org/install/default.htm
Usaremos el hamster/ferret, que es un sniffer de cookies. El mismo programa se encarga de filtrar el tráfico ordenándolo por equipos y capturando solo cookies. Así nos evitaremos el tedioso trabajo de encontrar las cookies a pelo como ocurre con el wireshark.
El hamster/ferret lo podemos descargar de aquí:
http://www.erratasec.com/sidejacking.zip
Viene con documentación de su funcionamiento (en inglés). Por lo que no le dedicaré mucho tiempo en su explicación.
Comenzamos por crear un perfil nuevo para el firefox y lo configuramos siguiendo las explicaciones que encontramos en la documentación comentada anteriormente.
"Herramientas" > "Opciones" > "Avanzado" > "Red" > "Configuración"
Marcar "Configuración manual del Proxy"
en "Proxy HTTP" ponemos 127.0.0.1
y en "Puerto" 3128
Marcar "Configuración manual del Proxy"
en "Proxy HTTP" ponemos 127.0.0.1
y en "Puerto" 3128
Copiamos la carpeta Sidejacking en nuestro disco duro, por ejemplo en C:
Una vez completa la instalación vamos a la consola de windows (ejecutar >>cmd ) y nos situamos en el directorio en el que tenemos los programas.
Código:
ferret –W
Vemos si tenemos el WinPcap instalado y aparece una lista con las tarjetas de nuestro equipo. Identificamos la tarjeta que queremos utilizar y se lo indicamos:
Código:
ferret –i 5
Posteriormente debemos ejecutar el hamster, para ello abrimos otra consola de windows y ejecutamos el programa:
Código:
hamster
Ahora ya podemos abrir el firefox con el perfil hamster que hemos creado anteriormente y nos encontramos con esto:
¿Cómo es que solo aparece mi equipo? Pues efectivamente mi red es conmutada por lo que sólo puedo ver el tráfico que sale/entra de mi equipo. La solución envenenamiento ARP.
Necesitaremos el cain que podemos descargar de aquí:
http://www.oxid.it/cain.html
Procedemos a la instalación y lo ejecutamos:
Seleccionamos la tarjeta que vamos a usar en Configure>Snifer
Escaneamos la red para ver los equipos que hay conectados. Para ello activamos el botón de sniffer y presionamos +
Si aquí no detectamos ningún host quiere decir que nuestra tarjeta no soporta el modo promiscuo. Por lo que o buscamos otra o nos olvidamos del tema. (gracias jar229)
El AP generalmente será el que tenga por dirección 192.168.1.1 y el resto equipos conectados a la red. Hay que tener claro quién es cada equipo. Puede resultar más sencillo hacer un escaneo de la red con el Look@LAN ya que proporciona los nombres de cada equipo, su sistema operativo y su dirección IP
Una vez tengamos claro cual es la IP de la víctima vamos a la pestaña ARP. Pinchamos el botón + y nos sale esto:
Aquí seleccionamos en la parte de la izquierda el equipo a atacar y en la parte de la derecha el AP. IMPORTANTE asegúrate de tener claro que los datos que pones son los correctos para que no nos llevemos alguna sorpresa desagradable.
Presionamos el botón start ARP y vemos como comienza el proceso
Ya tenemos en marcha nuestro envenenamiento ARP, por lo que ahora el hámster va a capturar el tráfico que pasa por el equipo 192.168.1.37.
Comprobémoslo:
En la parte de la izquierda podemos ver las cookies que va capturando el hámster así como las páginas que va visitando el equipo de la víctima.
CONCLUSIÓN:
Este método ofrece muchas posibilidades como se puede intuir. Mi propósito era aprender mientras redactaba el texto e intentar relacionar y explicar conceptos.
Las pruebas han sido realizadas con mis red y mis equipos. Te aconsejo que hagas lo mismo. Da más placer aprender algo nuevo que joder al prójimo evidentemente.
APENDICE 1:
LISTADO DE TARJETAS QUE SOPORTAN MODO PROMISCUO EN WINDOWS
MODO PROMISCUO SOPORTADO:
Citar
Zydas USB [chipset zd1211b]
Alfa 500mW BOSSW203 [RTL8187L]
Cisco Systems PCI Wireless LAN Adapter
WLAN Broadcom 802.11a/b/g
ZCom Xi-325
Generic PRISM GTFullmac 802.11g Wireless Adapter Nitro XM /Monitor ( Zyxel ZyAirG-100)
ipw 3945 [Intel Centrino]
Speed touch 121g [prism GT]
Edimax EW-7318USg
Alfa 500mW BOSSW203 [RTL8187L]
Cisco Systems PCI Wireless LAN Adapter
WLAN Broadcom 802.11a/b/g
ZCom Xi-325
Generic PRISM GTFullmac 802.11g Wireless Adapter Nitro XM /Monitor ( Zyxel ZyAirG-100)
ipw 3945 [Intel Centrino]
Speed touch 121g [prism GT]
Edimax EW-7318USg
MODO PROMISCUO NO SOPORTADO:
Citar
D-Link AirPlus DWL-G520 (rev. B3) [atheros]
D-Link AirPlus DWL-G520 (rev.B) [atheros]
D-Link DWA-110 [rt73]
Conceptronic c54ri [rt61]
Conceptronic c54ru [RT2570]
Smcwpcit-g [atheros]
IPW 2200 [intel centrino]
IPW 2100 [intel centrino]
ar5007
SMC EZ Connect Wireless USB Adapter [SMC2662W]
ar5005g
D-Link AirPlus DWL-G520 (rev.B) [atheros]
D-Link DWA-110 [rt73]
Conceptronic c54ri [rt61]
Conceptronic c54ru [RT2570]
Smcwpcit-g [atheros]
IPW 2200 [intel centrino]
IPW 2100 [intel centrino]
ar5007
SMC EZ Connect Wireless USB Adapter [SMC2662W]
ar5005g
Listado creado con la colaboración de pixel, Ctrl_Alt_Supr, jar229, Carloswaldo, KARR, APOKLIPTICO, ChimoC
Si tenéis alguna tarjeta que no está en la lista probarlo y me indicáis si sirve o no.
APENDICE 2:
DETECCIÓN DE ESTE ATAQUE:
¿Cómo podemos detectar si alguien nos está intentando hacer este ataque?
Para ello vamos a usar la herramienta PromqryUI 1.0 que se puede descargar de aquí:
http://www.microsoft.com/downloads/details.aspx?FamilyId=1A10D27A-4AA5-4E96-9645-AA121053E083&displaylang=en
Básicamente permite seleccionar un host o un rango de ellos. Posteriormente hace un escaneo y nos dice si alguno de ellos está trabajando en modo promiscuo, por lo que es potencialmente peligroso para nosotros.
Una imagen vale más que mil palabras:
NOTA: No detecta a equipos en modo monitor (sniffando con el airodump-ng por ejemplo). Solo detecta equipos que estén sniffando la red y que estén asociados a ella (osease modo promiscuo).
Saludos