Tutorial supersencillo para vulnerar redes con protocolo WPS activado

Iniciado por pickpocket, 7 Julio 2014, 04:08 AM

0 Miembros y 1 Visitante están viendo este tema.

pickpocket

Hola a todos. Este es mi primer post y mi primer tutorial, no voy a intentar convertir a nadie en experto en informática ni en redes Wi-Fi ni cosas parecidas. Voy a explicar de la mejor manera posible como conectarse a una red Wi-Fi que tenga habilitado el protocolo WPS utilizando WifiSlax 4.9 corriendo en una máquina virtual sobre el software de virtualización WMware. No voy a contar el rollo por el que me veo motivado a escribir esto pues creo que no tiene gran interés. He de decir también que esto está orientado a los más principiantes y que no están tan habituados a los términos técnicos, aunque éstos se utilicen.
Es por ello que intentaré no omitir ningún paso en ninguna acción y, si aún así, alguien percibe algún fallo o alguna sugerencia quiero que se sienta libre de hacérmelo saber por PM ya que parece ser que no puedo poner aquí mi email, nadie nace aprendido y errar es de sabios, recuérdenlo.

Definición (tomado de la Wiki)
El estándar WPS (Wi-Fi Protected Setup) ha sido concebido en el año 2007 de la mano de Wi-Fi Alliance para facilitar la creación de redes WLAN en entornos domésticos o en pequeñas empresas. Este mecanismo permite minimizar la intervención por parte del usuario a la hora de configurar una red WLAN segura con WPA2. Concretamente, WPS define los mecanismos a través de los cuales los diferentes dispositivos de la red obtienen las credenciales (SSID y PSK) necesarias para iniciar el proceso de autenticación.

Roles en la arquitectura
WPS define una arquitectura con tres elementos con roles diferentes:
•   Register (matriculador): dispositivo con la autoridad de generar o revocar las credenciales en la red. Tanto un AP como cualquier otra estación o PC de la red pueden tener este rol. Puede haber más de un Register en una red.
•   Enrollee (matriculado): dispositivo que solicita el acceso a la red WLAN.
•   Authenticator (autenticador): AP funcionando de proxy entre el Register y el Enrollee.

Métodos
WPS contempla cuatro tipos de configuraciones diferentes para el intercambio de credenciales, PIN (Personal Identification Number), PBC (Push Button Configuration), NFC (Near Field Communications) y USB (Universal Serial Bus):
•   PIN: tiene que existir un PIN asignado a cada elemento que vaya a asociarse a la red. Este PIN tiene que ser conocido tanto por el Register, como por el usuario (Enrollee). Es necesaria la existencia de una interfaz (e.g. pantalla y teclado) para que el usuario pueda introducir el mencionado PIN.
•   PBC: la generación y el intercambio de credenciales son desencadenados a partir que el usuario presiona un botón (físico o virtual) en el AP (o en otro elemento Registrar) y otro en el dispositivo. Notar que en el corto lapso de tiempo entre que se presiona el botón en el AP y se presiona en el dispositivo, cualquier otra estación próxima puede ganar acceso a la red.
•   NFC: intercambio de credenciales a través de comunicación NFC. La tecnología NFC, basada en RFID permite la comunicación sin hilos entre dispositivos próximos (0 - 20 cm). Entonces, el dispositivo Enrollee se tiene que situar al lado del Registrar para desencadenar la autenticación. De esta manera, cualquier usuario que tenga acceso físico al Registrar, puede obtener credenciales válidas.
•   USB: con este método, las credenciales se transfieren mediante un dispositivo de memoria flash (e.g. pendrive) desde el Registrar alEnrollee.
Los métodos PBC, NFC y USB pueden usarse para configurar dispositivos sin pantalla ni teclado (e.g. impresoras, webcams, etc.), pero aunque el estándar contempla NFC y USB, todavía no se certifican estos mecanismos. Actualmente sólo el método PIN es obligatorio en todas las estaciones para obtener la certificación WPS; PBC es obligatorio sólo en APs.

Vulnerabilidades
Existe un fallo de seguridad descubierto en diciembre del 2011 por Stefan Viehböck, el cual afecta a routers inalámbricos que tienen habilitada la función WPS (también llamada QSS). Hay que resaltar que muchos de los dispositivos actuales se encuentra habilitada por defecto. El fallo permite a un atacante recuperar el PIN WPS y con el mismo la clave pre-compartida de la red WPA/WPA2 usando ataques de fuerza bruta en pocas horas. Los usuarios deben deshabilitar la función WPS como solución temporal, al menos hasta que los fabricantes implementen una solución realmente segura. En ciertos dispositivos, es posible que no se pueda realizar dicho procedimiento.

Explotando las vulnerabilidades
Preparando del entorno
Comenzaremos por crear un entorno de auditoría sobre una máquina virtual. Para ello podemos utilizar el software gratuito VirtualBox, propiedad de la archiconocida Oracle, o bien el software privativo VMware Workstation cuya licencia ronda los 75 euros en la página web oficial. Ambos pueden proporcionarnos la base para virtualizar un Sistema Operativo en nuestro computador. En nuestras pruebas utilizaremos WMware ya que deja virtualizar Sistemas Operativos de 64 bits y el VirtualBox no, aunque, como se ha comentado, puede ser utilizado cualquiera de ellos ya que su uso es prácticamente idéntico. Podrás obtener el WMware 10 buscando un poco con Google.
El siguiente paso será hacernos con una suite de auditoría de las muchas que están disponibles. La más famosa y probablemente la más completa sea BackTrack, renacida recientemente como Kalilinux. En estas distribuciones podremos encontrar las herramientas necesarias para explotar la vulnerabilidad comentada anteriormente. Como nos gusta ir a contracorriente vamos a utilizar la distribución WifiSlax 4.9 disponible en la web oficial http://www.downloadwireless.net/isos/wifislax-4-9-final.iso
Una vez instalado el WMware Workstation procedemos a crear la nueva máquina virtual sobre la que vamos a trabajar. Para ello vamos a File>New virtual machine...


seleccionamos el tipo de instalación típica


y seleccionamos la ruta en la que hemos guardado nuestra imagen de WifiSlax 4.9 según la siguiente pantalla.


Una vez tenemos esta pantalla lista pasamos a la siguiente haciendo clic en Next. Ahora procedemos a indicarle al WMware el tipo de Sistema Operativo que le vamos a instalar. WifiSlax se trata obviamente de una distribución Linux.


Avanzamos presionando Next a la pantalla que nos permite ponerle un nombre a nuestra nueva máquina virtual y seleccionaremos la ruta en la que se almacenará ésta.


Aceptamos en Next y nos aparecerá la última pantalla de configuración en la que podemos elegir el tamaño del disco que se utilizará para albergar la máquina virtual así como elegir entre almacenar los archivos en un único archivo o bien almacenarlos en varios.


Podemos dejarlo tal y como viene por defecto pues 8 Gb de disco son más que suficientes y el dividir la máquina virtual en distintos archivos no nos va a afectar en absoluto a la tarea que vamos a realizar. Una vez tengamos todo listo presionaremos Finalizar.
Si todo ha salido correctamente podremos observar como nuestra máquina virtual está disponible en el menú del WifiSlax para ser seleccionada y tendremos algo así.


Para arracacarla bastará con hacer clic en la máquina deseada y después clic en el símbolo verde típico de play del panel de herramientas.

Manos a la obra
Una vez arranquemos la máquina virtual del WifiSlax nos saldrá una pantalla como esta


Elegiremos "Arrancar con kernel NORMAL" y presionamos Enter.


En el siguiente paso elegiremos la opción "Wifislax Con Escritorio XFCE" (podemos elegir KDE, pero este es un poco más ligero), presionamos Enter y tras esperar unos segundos nos encontramos con el escritorio de nuestra nueva máquina virtual con este aspecto


Es en este momento cuando nos disponemos a conectar por primera vez nuestro adaptador wifi a un puerto USB de nuestra computadora. En nuestro caso utilizaremos un adaptador de la marca ALFA modelo AWUS036H que incorpora el chipset Realtek 8187L. Este adaptador se puede encontrar en las tiendas de informática a un precio aproximado de 30 euros en tiendas españolas aunque por internet probablemente se pueda encontrar más barato.
Una vez conectado nos saldrá una pantalla como la siguiente


Esto quiere decir que nuestro adaptador ha sido reconocido por el software WMware. Hacemos clic en OK y nos dirigimos a la siguiente pestaña


Con esto nuestro WifiSlax debería de haber reconocido nuestro adaptador wifi usb, por lo que ya podremos ponernos manos a la obra.
Para empezar vamos a hacer uso de la herramienta "GOYscript WPS" incluída en la suite de WifiSlax. Esta herramienta no es más que una acertada combinación de utilidades (poner la tarjeta en modo monitor, Reaver, extractor de keys a carpeta predefinida...) que simplifica la tarea significativamente, sobre todo a aquellas personas que están empezando.


Una vez ejecutemos la herramienta y tras unos segundos, ésta empezará a escanear todos los posibles objetivos al alcance (recordemos que una buena orientación de la antena del adaptador wifi es crucial a la hora de ganar más señales y proporciona que la calidad del enlace sea la mejor posible).
Un posible escenario sería el siguiente


Los posibles objetivos son aquellos puntos de acceso, conocidos como AP, que tienen activado el WPS. Si presionamos la "X" para cerrar la ventana, el terminal nos mostrará lo siguiente


Una vez que tengamos esta pantalla sólo tenemos que introducir el número de la lista que coincida con el AP al que queremos conectarnos y pulsar Enter. A partir de ahora ya se encargará la herramienta sola de probar con unos PINs conocidos, para luego pasar a un ataque de fuerza bruta si esto no tuviese resultado. Es posible acertar con uno de los PINs conocidos y reducir así de una manera drástica el tiempo empleado o bien es posible que se tenga que recurrir al uso de la fuerza bruta probando todas las combinaciones posibles.
Aquí nos podemos hacer una idea del tiempo restante para probar todos los PINs


Hay que decir que no siempre es necesario esperar al 100%, de hecho casi nunca se va a llegar a tal porcentaje.
El tiempo que se demore ahora para encontrar la clave puede ser entre prácticamente nada y unas cuantas horas. Paciencia.

Para los más curiosos...
Vamos a arrojar un poco de luz sobre esto del PIN. El PIN es una combinación de 8 cifras. La última de ellas es un "checksum", es decir, tan solo se utiliza para comprobar que están bien el resto de las cifras. Si tenemos esto en cuenta, habrá 10.000.000 de combinaciones posibles. Esto podría suponer un problema, pero no lo es ya que el PIN está dividido en dos segmentos de cuatro cifras y si fallamos el primero obtendremos un error y ya no será necesario averiguar la segunda parte. Si hacemos ahora las cuentas, son muchas menos las combinaciones posibles. Parte de la vulnerabilidad reside justo ahí, en la sencillez de extracción por fuerza bruta debido a un número irrisorio de combinaciones posibles. La otra vertiente de la vulnerabilidad está en que no se impone un tiempo de espera entre intentos, pudiendo estar realizando el ataque de una manera constante.

-Hakuna matata
PickPocket

engel lex

publicas correo, publicas MACs... corrige eso... especialmente porque no es primera vez un tutorial para "novatos"... de como romper una wpa por wps
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

pickpocket

Cita de: engel lex en  7 Julio 2014, 04:21 AM
publicas correo, publicas MACs... corrige eso... especialmente porque no es primera vez un tutorial para "novatos"... de como romper una wpa por wps

Editado lo de las MACs, efectivamente gran despiste. ¿Está prohibido poner el correo o algo? Muchas gracias.

engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

pickpocket

Cita de: engel lex en  7 Julio 2014, 04:44 AM
ves el enlace en grande en mi firma sobre Leer reglas del Foro?

ahí está


Muy bien, leído y comprendido. Ya está editado. Sólo quiero decir que si puse mi cuenta de correo era para ayudar a las personas; consulto casi cada minuto las cuentas de correo pero no el foro :). Aún así gracias por dejarme postear aquí y perdón por las molestias engel lex, espero no cometer ninguna infracción más. De los errores se aprende.

engel lex

Cita de: pickpocket en  7 Julio 2014, 05:21 AM
Muy bien, leído y comprendido. Ya está editado. Sólo quiero decir que si puse mi cuenta de correo era para ayudar a las personas; consulto casi cada minuto las cuentas de correo pero no el foro :). Aún así gracias por dejarme postear aquí y perdón por las molestias engel lex, espero no cometer ninguna infracción más. De los errores se aprende.

puedes hacer como yo, que en la configuración del foro está que te manden un correo en caso de un mp (también hay otros eventos para escoger, yo solo tengo ese)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Sh4k4

CitarEl tiempo que se demore ahora para encontrar la clave puede ser entre prácticamente nada y unas cuantas horas
No de hecho seria entre segundos o minutos a horas hasta meses

CitarLa otra vertiente de la vulnerabilidad está en que no se impone un tiempo de espera entre intentos
En algunos routers hay bloqueo por intentos fallidos...

Otro foro-tutorial mas, una mezcla de wikipedia con un ejemplo pasito a pasito, osea mas del monton, en serio en la red al miles de tutoriales hasta videotutoriales para que el script kiddie no pierda detalle, ademas de que tu titulo del post no tiene nada que ver con lo que haces en este tutorial:

Tutorial supersencillo para conectarse a redes con protocolo WPS activado

mas bien seria:

Tutorial supersencillo para vulnerar redes con el wps activado

Y viendo que hablas de:
Citar
una buena orientación de la antena del adaptador wifi es crucial a la hora de ganar más señales
Hablas de la intrusion de redes ajenas

pickpocket

Madre mía, menudo tirón de orejas me he llevado :(

Vamos por partes. En cuanto al tiempo para extraer la key, efectivamente, tienes toda la razón. Podría tardar mucho tiempo, pueden ser segundos si coincidiese el PIN con alguno de los PINs 'conocidos' o muchas horas si necesita tirar probando PIN a PIN, de ahí a meses no lo sé, ya que nunca he realizado la maniobra durante tanto tiempo. Una última puntualización es el hecho de que es posible que no se pueda conseguir la key y de aquí en un futuro se implementarán métodos más optimizados en cuanto al WPS (o eso he leído).

Lo segundo, otra vez tengo que darte la razón,  muchos routers (no sabría dar un porcentaje) ponen timeouts entre intentos de PIN, lo que dificulta su acceso.

Tercero, en cuanto a la orientación de la antena. Creo que es algo muy importante que no todo el mundo tiene en cuenta, no creo que esté incitando al delito ni nada de vulnerar redes 'ajenas' por decir esto. Considero importante una señal fuerte para realizar el procedimiento, nada más.

Lo último, ya he comentado en lo que consiste el post. Seguramente hay miles de tutoriales en la red mejores que este. Muy probablemente tu mismo has leído alguno alguna vez para enterarte de esto o lo otro. Si crees que por haber una canción más sobra la música, ahí no coincido contigo. Aún así me tomo la crítica como constructiva e intentaré aprender de los errores.

Lo he hecho con la mejor de las intenciones. Intenta no menospreciar el trabajo de los demás, te lo ruego. Y no seas tan duro conmigo que es mi primer post :)

PD: también coincido contigo en el título, editado.