InicioLinuxExplicación de la vulnerabilidad WPS
Hemos sido muchos los taringueros que alguna vez, por supuesto, con fines educativos y el consentimiento de la víctima , hemos crackeado alguna red WiFi que usaba WPS utilizando Walsh, Reaver, Bully u otras herramientas incluidas en Wifilax o Kali Linux. ¿Pero sabemos en qué se basa esta vulnerabilidad?

Antes de nada un poco de historia:

WiFi Protected Setup (WPS) es un estándar creado en 2007 para añadir dispositivos a redes WiFi, protegidas con protocolos WPA o WPA2, de forma rápida y segura.

Fue creada por la WiFi Alliance, una asociación de cientos de fabricantes y empresas de software que cuenta con 10 laboratorios independientes de pruebas encargados de certificar todos sus productos .

Los primeros en adaptar sus dispositivos para recibir la certificación oficial fueron Broadcom, Atheros, BUFFALO, Conexan, Intel y Railink. Pero en poco tiempo cientos de fabricantes se sumaron a esta iniciativa implementando esta tecnología: craso error.

En diciembre de 2011, tan sólo 4 años después de la aparición de WPS, Stefan Viehböck, un experto en seguridad informática, publicó wpscrack, un programa para Linux hecho en Python después de descubrir y reportar una vulnerabilidad en WPS. Este programa, de tan sólo 621 líneas, demostraba la existencia de una gravísima brecha de seguridad en WPS al usar el método PIN. (WPS contempla el uso de los métodos Push-Button y PIN como obligatorios y los métodos USB y Near-Field como opcionales)

Breve explicación técnica del método PIN:

El router puede dar acceso a a red mediante la introducción desde un dispositivo de un PIN de 8 cifras. En principio un PIN de 8 cifras daría un total de 10⁸ posibilidades (100 millones), que es una cifra nada despreciable, pero se debe tener en cuenta que el último dígito corresponde a un hash (dígito de control) muy simple y además público, por lo que únicamente quedarían 10⁷ posibilidades (10 millones).

Nota: Dejo en C# la función para calcular el checksum y obtener el último dígito por si a alguien le pueda interesar:
byte hashWPS(uint PIN)
{
    if (PIN > 9999999 || PIN < 1000000) throw new OverflowException("El PIN debe ser un número entero positivo de 7 cifras");

    byte accum = 0;
    PIN *= 10;

    accum += (byte)(3 * ((PIN / 10000000) % 10));
    accum += (byte)((PIN / 1000000) % 10);
    accum += (byte)(3 * ((PIN / 100000) % 10));
    accum += (byte)((PIN / 10000) % 10);
    accum += (byte)(3 * ((PIN / 1000) % 10));
    accum += (byte)((PIN / 100) % 10);
    accum += (byte)(3 * ((PIN / 10) % 10));

    byte digit = (byte)(accum % 10);

    return (byte)((10 - digit) % 10);

// Algoritmo obtenido de las especificaciones técnicas de WPS,

Si alguien quiere echarlo un vistazo, he subido el pdf de las especificaciones técnicas de WPS a Dropbox .

Cómo funciona el ataque:

El método PIN tiene un error de diseño. En un momento divide el PIN en 2 mitades, y el router que implementa WPS informa cuando la 1ª o la 2ª mitad es incorrecta. Esto hace que las posibilidades se reduzcan drásticamente. Recordemos que sólo tenemos 7 dígitos (el último es de control y se obtiene de forma sencilla)

Por tanto, con 1 número de 7 dígitos dividible en 2 mitades, tenemos:
  • 1ª mitad del PIN con 4 dígitos: 10⁴ posibilidades (10.000)
  • 2ª mitad del PIN con 3 dígitos: 10³ posibilidades (1000) Por eso la 2ª parte del ataque dura mucho menos que la primera.

Son un total de 11.000 posibilidades; una cifra final muy inferior a los 100 millones de posibilidades iniciales. 11.000 posibles claves son perfectamente asequibles para un ataque de fuerza bruta.

Contrataque:

Muchos de los fabricantes, al comprobar que la seguridad del método PIN estaba rota, decidieron implementar una nueva medida de seguridad para intentar paliar la grave vulnerabilidad de WPS utilizando un sistema de bloqueo por el cual, después del ingreso de X intentos fallidos (normalmente 3) el router bloquea nuevos intentos de ingreso del PIN por determinado tiempo (pueden ser desde minutos hasta horas) dificultando así los accesos no deseados.

Esto que en principio puede parecer una medida insuperable no lo es tanto. Existen numerosos scripts y programas que almacenan bases de datos con PIN's conocidos asociados a determinadas marcas y modelos de routers. Normalmente dependiendo del lugar de procedencia del desarrollador del script se tiene más o menos suerte, pero si se trata de un router conocido no es difícil obtener el PIN entre el primer y 5º intento.

Se descubre una nueva vulnerabilidad: Pixie Dust

Durante la conferencia PasswordsCon Las Vegas 2014 el investigador y experto en seguridad Dominique Bongard anuncia el descubrimiento de un nuevo fallo en WPS que reduce la obtención de la clave a unos pocos segundos. En realidad no se trata de una nueva brecha de seguridad en el protocolo WPS, sino en la mala implementación que de éste hacen algunos fabricantes; concretamente TPLINK y Broadcom.




Dominique Bongard no publica el código del exploit, pero da las claves suficientes como para que soxrok2212 , un miembro de Kali Linux, abra una investigación paralela y publique un fork de Reaver que aprovecha esta nueva vulnerabilidad.

El descubrimiento de Bongard se basa en que estos 2 fabricantes utilizan un PRNG (Pseudo Random Number Generator) para cifrar la clave pública. Analizando cómo se realiza consigue saber qué números se utilizan, así que por tanto, dejan de ser aleatorios.

Quien quiera saber qué dispositivos son susceptibles a un ataque Pixie Dust, puede consultar la base de datos hecha por el equipo de Kali Linux .

Cómo protegerse contra estos ataques

La única forma realmente efectiva es desactivar WPS desde la configuración del router. En caso de que esto no sea posible, es recomendable cambiar el PIN utilizando un número que no cumpla con las especificaciones técnicas; es decir: 7 dígitos + 1 dígito de control. Algunos scripts, no todos, son incapaces de operar con un dígito de control incorrecto. ¿Cómo se hace esto? Es sencillo, al pulsar "Generar PIN" el sistema generará un PIN de 8 dígitos (el último dígito corresponderá a un hash correcto). Lo único que hay que hacer es cambiar el último número. Por ejemplo, si el sistema genera el PIN 12345678, habría que sustituir el último dígito, quedándolo: 12345679

Fuentes:
Datos archivados del Taringa! original
111puntos
253visitas
18comentarios
Actividad nueva en Posteamelo
0puntos
0visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000
18 Comentarios archivados
Del Taringa! original
A@Arg0s108012/27/2016+0-0
Gracias por pasar!
j@jerauma12/27/2016+1-0
Muy bueno
A@Arg0s1080gamborimbo12/27/2016+0-0
@ He visto en tu perfil que eres de México.. creo que los routers ARRIS de México se atacan por medio de pixieScript

Tb puedes echar un vistazo o contactar con alguien de:
https://www.kickstarter.com/projects/hackergarage/hacker-garage-40-un-mejor-hackerspace-para-creador/creator_bio
@ con linset y fluxion no he tenido suerte, no puede capturar el handshake o cuando dice tenerlo el programa me indica que esta corrupto o incompleto.
@Arg0s1080 gracias, voy a probarlo solo que en esta maquina no tengo windows, solo lubuntu y deepin.
goyscript tambien lo probe sin suerte, solo con pixie (creo ) logre abrir un par de arris pero lejanas
A@Arg0s1080Zero52712/27/2016+1-0
@Zero527 Como comentas el tema de hacking supongo que la quieras para utilizar con kali y wifilax. Normalmente los fabricantes hacen énfasis en la potencia 1000 mW, 2000mW, etc. Aunque eso es un dato, lo realmente importante es la capacidad de inyección de paquetes y para eso las Alpha (como la de arriba) suelen ser muy buenas.

Echa un vistazo a:
http://hwagm.elhacker.net/htm/tarjetas.htm
Z@Zero527Arg0s108012/27/2016+0-0
@Arg0s1080 a la tarjeta wi fi
A@Arg0s108012/27/2016+0-0
Cuando dices router wifi usb a que te refieres?

a un modem 3g/4g?


a una tarjeta Wifi?


o a otra…
Z@Zero52712/27/2016+0-0
Pseudo Random Number Generator

Hasta la pag de PHP te dice que no uses esas cosas para generar claves encriptadas. Hace tiempo que no uso Kali, aprovechando que estoy en la comunidad de hacking, me recomiendan un buen router wifi USB? es para una tablet PC que le esta fallando el wi fi propio
A@Arg0s108012/27/2016+0-0
No entiendo bien... el WPS no tiene señal.. lo que tiene señal es el router. WPS es un sistema para acceder a la red wifi sin introducir contraseña y esto un atacante lo puede aprovechar para obtener la clave y conectarse a tu router.
r@roachpain312/27/2016+0-0
Que puedo hacer si el wps de mi módem no tiene buena señal o conexión y que puedo hacer para que no me roben la señal ?
A@Arg0s108012/27/2016+1-0
es lo más sensato, introducir la passphrase y olvidarte de PIN y botones mágicos.. aunque he leído que hay routers en los que no se puede desactivar
A@Arg0s108012/27/2016+0-0
Todavía hay muchos routers NUEVOS que siguen viniendo con WPS.. se suelen bloquear a los pocos intentos, pero si utilizan un PIN conocido se suele tardar unos pocos segundos en obtener la pw y si es alguno de los de esta lista:

https://docs.google.com/spreadsheets/d/1tSlbqVQ59kGn8hgmwcPTHUECQ3o9YhXR91A_p7Nnj5Y/edit?pli=1#gid=2048815923

con pixie dust en pocos segundos se obtiene la clave
b@bocamaiden12/27/2016+1-0
yo lo desactivo y listo
k@krafty12/27/2016+0-0
muy bueno, pero creo que hoy en dia es tan utilizado como el método de encriptación WEP
A@Arg0s108012/27/2016+0-0
WPS Dummper (es portable.. así que no necesita instalación. Descomprimir y ejecutar)

https://www.dropbox.com/s/269d6btguhfzgl3/WPS%20Dummper.tar.gz?dl=0
g@gamborimbo12/27/2016+0-0
tengo varios dias usando wifislax para probar la vulnerabilidad de mis vecinos, con muy poco exito, he terminado abriendo varios pero no con wifislax sino sacando la contraseña con la conbinacion del nombre y parte de la mac.
solo me ha servido para aprender algo de vulnerabilidades y redes.
parece que los nuevos modem tienen parcheadas todas las vulnerabilidades.
A@Arg0s108012/26/2016+1-0
Gracias por pasar!
d@druid7012/26/2016+1-0
buena info

Autor del Post

A
Arg0s1080🇦🇷
Usuario
Puntos0
Posts9
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.