Viaje en las entrañas de Belkin para extirpar un nuevo algoritmo PIN (Pagina 1) / Estudio de algoritmos y recopilación de PIN genéricos / Foro Wifi-libre.com

El libre pensamiento para un internet libre

No estas registrado.     

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

#1 15-04-2015 17:55:10

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 2,051

Viaje en las entrañas de Belkin para extirpar un nuevo algoritmo PIN

Nuveo "fulldisclosure" del creador de reaver ...
  se amplia consecuentemente la lista de dispositivos Belkin por los cuales sabemos generar el PIN por defecto

  Varios modelos de la marca Belkin forman su PIN por defecto usando el conocido algoritmo desvelado por ZaoChunsheng y popularizado con WPSPIN
  Si echamos un ojo al tema "Algoritmo ComputePIN-C83A35 de ZaoChunsheng : La brecha en la brecha" podemos ver a uno de los modelos Belkin afectados

Belkin.jpg

  Hoy les presento el trabajo de devttys0 (Craig  heffner, el mismísimo creador de reaver) quien publicó hace un poco más de una semana atrás un nuevo algoritmo para otros modelos. cool
  Ampliamos así nuestra gama de modelos Belkin afectados por brechas conocidas y explotables.


Desensamblar el firmware

  La estrategia es en esencia la misma que en el épico fulldislcosure sobre routers D-link 

  Para "hackear" el firmware, craig ha operado del mismo modo que para el WRT120N ya que le sistema de ofuscación es en esencia el mismo que para los Belkin estudiados

  El firmware en cuestión usa " SuperTask! RTOS"

  Lo primero fue la necesaria intervención de binwalk para encontrar una dirección en el IDA que permita un "des-ensamblaje" correcto.

  Lo que le llamó la atención para tener presa sobre su victima fue este bucle dedicado a rellenar con 0 la sección para datos BSS

belkinWPS_1.jpg

  Los bucles para generar 0 en el BSS son fáciles a localizar y usar para hacer "un reverse" ya que producen ceros en un espacio notable de la memoria y el bucle se encuentra generalmente en inicio de código.

  En el caso presente se notó que  desde 0x802655F0 hasta 0x80695574 todo era rellenado con ... 0 
Además el BSS se situá en el código generalmente justo después los otros trozos de códigos para datos
Como el bucle se ha iniciado en el byte 0x2635EB  podemos esperar encontrarnos el inicio de la sección BSS a este nivel :

belkinWPS_2.jpg

Restando el tamaño de la sección justo antes del BSS al firmware entero; caemos en un valor sospechosamente muy cercano a 0x800002000 :

0x802655F0 - 0x2635EB = 0x800002005

  Tenemos un "match" casi perfecto y usando 0x800002005 cómo dirección de inicio IDA se obtiene algo más que correcto :

belkinWPS_3.jpg

Ingeniería inversa sobre el algoritmo del PIN por defecto

  ¿Como legar hasta al algoritmo del PIN? Podemos empezar a buscar por la función que genera el Checksum wps.
  Es poco probable que encontramos tal cual una función llamada wps_checksum() sin mesa de valores de símbolos.
  Craig observo en sus estudios anteriores que las ensambladores  MIPS en C tienden a producir un conjunto de valores predecibles al generar el PIN por defecto.
Así que ha sacado su script para buscar y localizar a estos valores que indican la generación del PIN por defecto : wpssearch.py
  Y ¡Bingo! consigue localizar estos valores : belkinWPS_5.jpg
Pocas funciones hacen llamadas a wps_checksum y observando estas funciones nos encontramos a una cadena muy... interesante

belkinWPS_6.jpg

 

GenerateDefaultPin

El código multiplica las operaciones con el operador XOR pero lo interesante a este momento es ver en base de que....
Y podemos ver a continuación que se usan dos cosas : elementos sacados de la dirección mac y elementos sacados del serial

belkinWPS_7.jpg

GenerateDefaultPin(char *buf, int unused, char *mac, char *serial)

"char mac" y "char serial" cool

  Conocer el BSSID de un router  es cuestión de encender su adaptador wifi
El serial es otra historia y si las cosas son bien hechas (que no haya una relación directa y linear entre bssid y serial ) es imposible adivinarlo.
Pero si belkin lo regala en sus paquetes probes... la cosa cambia y tenemos todos los elementos para calcular el PIN por defecto

belkinWPS_8.jpg               belkinWPS_4.png


  .... ¡Gracias Belkin!  big_smile

Sobre 24 modelos testados, 80% fueron así derivados plus_un

A continuación tenéis una lista de los dispositivos afectados conocidos :

  • F9K1001v4

  • F9K1001v5

  • F9K1002v1

  • F9K1002v2

  • F9K1002v5

  • F9K1103v1

  • F9K1112v1

  • F9K1113v1

  • F9K1105v1

  • F6D4230-4v2

  • F6D4230-4v3

  • F7D2301v1

  • F7D1301v1

  • F5D7234-4v3

  • F5D7234-4v4

  • F5D7234-4v5

  • F5D8233-4v1

  • F5D8233-4v3

  • F5D9231-4v1


Podemos descargar un código PoC en los repositorios GitHub de devttys0 : Belkin pingen.c
Y les vuelvo a poner un vinculo hacía el tema de Craig: Reversing Belkin’s WPS Pin Algorithm

Desconectado

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

#2 15-04-2015 19:24:00

maripuri
Usuario

Desde: por ahí..
Registrado: 11-03-2015
Mensajes: 23
Página Web

Re: Viaje en las entrañas de Belkin para extirpar un nuevo algoritmo PIN

2015_04_15_20_19_55.jpg

nice..   parece que compila bien en Windows.  smile

muchos tanques kc


wwa6.gif

Desconectado

#3 15-04-2015 22:10:24

Betis-Jesus
Very Important Usuario

Registrado: 29-03-2015
Mensajes: 185
Página Web

Re: Viaje en las entrañas de Belkin para extirpar un nuevo algoritmo PIN

ya veo que ere imparable publica tema interesante, como siempre te explica muy bien, es una delicia leerte porque se te entiende a la primera en explica esta cosa tan compleja en algo sencillo de entender.

este Algoritmo tiene relacion con los otros Algoritmo que ya vemos visto y que esta implementado en alguna de nuestra aplicaciones, la diferencia entres arris y la vodafone arcadyan es que este parte de numero de serie y los dos digito de la mac. la operacion es casi iguales entres los otros dos Algoritmo.

puesto que ya los a explicado tu muy bien en el otros post me ahorro de explica los de codigo ademas para cualquier programador de c los entendera en seguida.

Desconectado

#4 15-04-2015 22:20:16

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 2,051

Re: Viaje en las entrañas de Belkin para extirpar un nuevo algoritmo PIN

y si no sabemos C tenemos a tu curso con código pedagógico para ver el mecanismo
http://www.inforprograma.net/pagina-art … age_id1=65

Desconectado

#5 16-04-2015 19:42:55

t6_x
Usuario

Registrado: 13-04-2015
Mensajes: 6

Re: Viaje en las entrañas de Belkin para extirpar un nuevo algoritmo PIN

¿Alguien tiene este router para probar?

He implementado esta función en reaver-t6x, pero no tiene este router para probar

Desconectado

#6 16-04-2015 21:01:02

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 2,051

Re: Viaje en las entrañas de Belkin para extirpar un nuevo algoritmo PIN

desgrcaciadamente no....
adelantas nuestros deseos big_smile
si esta sen este tema debrías también mirrar el simple y sencilo "ZaoCheshung / WPSPIN·" :
https://www.wifi-libre.com/topic-9-algo … recha.html

Pues, pensaba justamente abrir un tickete en git hub sobre optimisación del fichero *.wpc que usa reaver.
mi idea era integrar los 6-7 algoritmos conocidos + los PIN genéricos conocidos....
veo que estas en ello... big_smile

Desconectado

#7 17-04-2015 06:05:53

t6_x
Usuario

Registrado: 13-04-2015
Mensajes: 6

Re: Viaje en las entrañas de Belkin para extirpar un nuevo algoritmo PIN

Interesante, sería una buena opción también añadir esto, voy a echar un vistazo.

kcdtv, añadirme a través de Skype, el contacto más fácil

t6_skype

Desconectado

#8 17-04-2015 13:41:22

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 2,051

Re: Viaje en las entrañas de Belkin para extirpar un nuevo algoritmo PIN

Te mando un MP smile

Desconectado

Anuncio

Wifi-highpower.es es distribuidor oficial de Alfa Network

Pie de página

Información del usuario

Ultimo usuario registrado: Ike
Usuarios registrados conectados: 1
Invitados conectados: 4

Conectados: Ike

Estadisticas de los foros

Número total de usuarios registrados: 356
Número total de temas: 615
Número total de mensajes: 4,217

Máx. usuarios conectados: 45 el 12-04-2016 12:02:20