0% encontró este documento útil (0 votos)
572 vistas4 páginas

Algoritmo Compute PIN

1. ZhaoChunsheng creó un algoritmo llamado ComputePIN-C83A35 que permite calcular el PIN WPS predeterminado de los routers Tenda W309R utilizando los últimos 6 dígitos de la dirección MAC. 2. Este mismo algoritmo fue utilizado por fabricantes de routers como Huawei, Belkin y otros para generar PINs WPS predeterminados de forma global, lo que demuestra una grave vulnerabilidad en la seguridad de los routers. 3. Se crearon varias herramientas gratuitas como WPSPIN para aprovechar esta vulnerabilidad y

Cargado por

Wilfredo Mix
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
572 vistas4 páginas

Algoritmo Compute PIN

1. ZhaoChunsheng creó un algoritmo llamado ComputePIN-C83A35 que permite calcular el PIN WPS predeterminado de los routers Tenda W309R utilizando los últimos 6 dígitos de la dirección MAC. 2. Este mismo algoritmo fue utilizado por fabricantes de routers como Huawei, Belkin y otros para generar PINs WPS predeterminados de forma global, lo que demuestra una grave vulnerabilidad en la seguridad de los routers. 3. Se crearon varias herramientas gratuitas como WPSPIN para aprovechar esta vulnerabilidad y

Cargado por

Wilfredo Mix
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

AlgoritmoComputePIN-C83A35 de ZhaoChunsheng : 

          La brecha en la brecha.... 
                      .... De hexadecimal a decimal y desde China
hasta América
  1 >   Un algoritmo descubierto sobre router Tenda en
China...

  Plantamos el decoro. 
En fin de año 2011 cae la noticia más gorda jamás oída desde la muerte del WEP y el
descubrimiento de la Coca-Cola. 
  Stefan Viehböck desvela al publico que el WPA, protocolo supuestamente 100%
seguro, se puede derivar en unas pocas horas mediante brute force WPS.
  Parece que los fabricantes están descubriendo que están implementando el WPS
activado de serie, y esto desde años...   
  En inicio 2012 las palabra "reaver" y PIN WPS están en todas las bocas y se constata
de por el mundo que los principales fabricantes producen modelos vulnerables sin
discontinuar   
  Los primeros datos caen y vienen los primeros estudios.
  El 7 de abril sale ComputePIN-C83A35. Un trabajo del maestro ZaoChunsheng 
  Es conocido por ser el creador de Beini, una distribución GNU-Linux para crack
wireless de apenas 60 MB bazada en Tiny core. El proyecto esta desgraciadamente
abandonado pero sigue vivo de cierto modo gracias a la distribución Xiaopan.

ZaoChunsheng  es también el creador de Feeding Bottles ( GUI para aircrack-ng) 


y Inflator ( GUI para reaver 1.3 ) que integraba en su Live
  Ha súbitamente desparecido de la escena del hacking wireless poco después entregar
computePIN que permite calcular el PIN por defecto de los routers Tenda W309R
  Aquí podéis ver el código original

#include <stdio.h>
#include <stdlib.h></code>

int main()
{

unsigned int wps_pin_checksum(unsigned int pin);


int PIN = 0;
printf("ComputePIN-C83A35\n");
printf("Description:\n");
printf("If your wireless router MAC address start with \"C83A35\",\n");
printf("type the other six digits, you might be able to get the \n");
printf("WPS-PIN of this equipment, please have a try, good luck!\n\n");
printf("Code by ZhaoChunsheng 04/07/2012 http://iBeini.com\n\n");
printf("Input MAC Address(HEX):c83a35");
scanf("%x",&PIN);
printf("MAC Address(HEX) is: C83A35%X\n",PIN);
printf("WPS PIN is: %07d%d\n",PIN%10000000,wps_pin_checksum(PIN%10000000));

return 0;
}

unsigned int wps_pin_checksum(unsigned int pin)


{
unsigned int accum = 0;
while (pin)
{
accum += 3 * (pin % 10);
pin /= 10;
accum += pin % 10;
pin /= 10;
}

return (10 - accum % 10) % 10;


}

  Para calcular el PIN por defecto nos basta conocer la dirección MAC wireless (bSSID)
del objetivo
1. Tomamos los3 últimos octetos del bSSIDi (los 6 últimos dígitos)
2. Los pasamos de base 16 a base 10
3. Añadimos el checksum WPS* y tenemos nuestro PIN por
defecto ( corresponde a la funcción wps_pin_checksum )
  * los detalles del calculo del checksum WPS se expondrán en un tema a parte 
  
  El script conocí un par de actualizaciones y no hubo mas desarrollos.

  2 >   Empleado en España y más allá


  
  En otoño 2012 estudiaba por mi cuenta los pass WPA de los routers HG532c de
Huawei con eSSID FTE-XXXX. 
  Analizaba la relación entre serial y bSSID y encontré, un poco por suerte, sin
buscarlo, la formula de generación del PIN WPS 
  La formula es una variante del algoritmo descubierto por zaoChunsheng (explicaré
la formula para HG532c en otro tema). Pero en este momento no me había fijado en
el algoritmo de computePIN. 
Así que pensé haber encontrado algo nuevo cuando nos dimos cuenta (gracias a
Compota de lampiweb) que la formula para los HUAWEIde FTE, simplificada, valía
también para los router HUAWEI de su concurrente Vodafone.
  Al final; no era un descubrimiento nuevo. Sino que había dado con algo muy curioso
y inesperado : El algoritmo (débil) usado por Tendaen routers distribuidos en China
era el mismo que el empleado por su concurrente HUAWEI en modelos distribuidos en
Europa...
  Y era una versión simplificada del algoritmo empleado para otro
modelo Huawei usado por otro ISP (FTE) que acabada de encontrar.
  
  Y esto no es todo : La cosa se complica... 
  Un papel sobre la debilidad del pass WPA por defecto de los routers belkin sale a
finales de noviembre. (CVE-2012-4366: Insecure default WPA2 passphrase in multiple
Belkin wireless routers). Circulan varias pegatinas de routers para ilustrar este falló
dónde podemos ver los datos por defecto de los routers... incluso el PIN WPS.   
  Me doy cuenta de inmediato que hay algo ....

 
Hacemos el calculo juntos :
 
1. Pasamos el final del bSSID a decimal para formar una cadena de 7 números
51:99:0C que convertimos a decimal >>  Nos da 5347596    
Si el resultado después de conversión es de 8 cifras (fin bSSID entre 98:96:7F y
FF:FF:FF) : simplemente quitamos el primer dígito (las decenas de millones)
Si el resultado después de convertir a decimal es de 6 cifras o menos : hacemos un
"zero-padding" (rellenamos de cero hasta tener una cadena de 7 cifras.)
Asi siempre tenemos una cadena de 7 cifras para poder calcular el checksum
2. Calculamos el checksum WPS que añadimos a nuestra cadena para formar el
PIN WPS por defecto
Expondré los detalles en otro tema para no entorpecer demasiado este.
En nuestro caso es1 y tenemos nuestro PIN por defecto es 53475961
 

  Conclusión algo surrealista : El primer constructor norte americano de Puntos de


acceso, Belkin, usa exactamente la misma formula que el primer constructor de
Puntos de Acceso chino : Huawei para generar el PIN por defecto de sus
aparatos   
  El mundo es un pañuelo 
  
  Asi que nos ponemos las pilas en el grupo de trabajo de lampiweb para estudiar este
tema ( con la gran ayuda de antares_145 de crack-wifi ) y preparar el lanzamiento
de WPSPIN. 
  Es decir tres aplicaciones gratis y de acceso libre que usan este fallo :
                   - WPSPIN - PIN GUI de maripuri (windows, compatible wine para usar en
linux) 
                   - wpspin <<>> JumpStart de Betis Jesus (solo windows)
                   - WPSPIN en versión bash para linux (by me)
  Como era de esperar, nos llevamos unas sorpresas mas ya que maripuri observa la
brecha en un router Teldat distribuido en masa por el ISP Telefonica. 
  Dirneet nos manda desde Inglaterra otro modelo afectado, del fabricante zyxel.
  Estamos en presencia de un fallo a escala mundial que afecta varios fabricantes! 
  El 3 de diciembre 2012 cuelgo un pequeño vídeo de "prueba de concepto" para
ilustrar este brecha alucinante. Recupero en algunos segundos la llave WPA de
un Huawei HG566a de Vodafone y la llave WPA de un F5D8235-4 v
1000 de Belkin con una versión de prueba de WPSPIN. El scan se hace
con walsh (el ancestro de wash), el script genera el PIN y ejecuta reaver 1.3 con el
PIN por defecto, recuperando así de forma casi instantánea la llave WPA de los dos
objetivos. 

También podría gustarte