Finalmente,
Microsoft ha publicado un aviso de seguridad donde pide a sus usuarios que dejen de utilizar MS-CHAPv2 como método de autenticación
en conexiones PPTP (al menos sin encapsular). El protocolo sufría varias
debilidades que lo hacen inseguro desde 1999, pero desde la revelación de
nuevos métodos por Moxie Marlinspike, usarlo
es un grave riesgo. Veamos por qué.
Divide y vencerás: La aproximación de Moxie.
En la pasada DefCon 20, MoxieMarlinspike presentó un método con el que, a través de fuerza bruta, permiteaveriguar el NTPasswordHash de una conexión MS-CHAPv2 con un ratio de éxito del
100 %. Había roto por completo el protocolo. El método está en parte basado en
el trabajo "Decipher MPPE by
breaking MS-CHAPv2", de Sogeti ESEC Pentest.
Para ello, utilizó la técnica
"Divide y vencerás".
Resumiendo, hasta ahora se tiene una cadena de 21 bytes (elNTPasswordHash, de
16, y los cinco compuestos por ceros) y se sabe que esta es dividida en bloques
de 7. Cada uno de estos se pasan como clave a una operación DES sobre un
desafío de 8 bytes C, que conocemos. Por tanto, cada una de estas operaciones
DES es independiente del resto, y en vez de tratar de averiguar un hash de 21
bytes, podemos calcular cada una de las claves de 7 bytes independientemente.
El coste de iterar por todo el
espacio de un hash de 7 bytes es 256. Si lo hacemos para tres
claves, tendremos un coste total de 256 + 256 + 256
= 257.59. Parece una complejidad más abarcable que las 2112
operaciones anteriores.
Recordemos, sin embargo, que
sigue vigente el hecho de que la tercera clave es trivial (porque está rellena
por ceros). Por tanto, tenemos sólo 256 + 256, lo que
nos da una complejidad de 257.
Por tanto, tendríamos que iterar
por todas las 2^56 combinaciones posibles de la primera clave, y en
cada iteración pasar la combinación a DES sobre el desafío de 8 bytes. Esto en
dos ocasiones, una para cada clave que resta. Si alguna coincide con el valor
correspondiente de la respuesta de 24 bytes, es nuestro hash.
Pero debemos tener en cuenta que
las iteraciones se hacen sobre el mismo espacio de claves (las 256
combinaciones posibles) y se cifra el mismo texto valor. Por tanto, ambas
iteraciones se pueden unir en una sola, con una complejidad de 256.
En resumen, la fortaleza del protocolo
MS-CHAP v2 se reduce a la de una sola operación DES.
![]() |
Moxie Marlinspike (foto del ferfil de Twitter) |
Aunque sigue siendo una
complejidad elevada, es abarcable. Para ello, Moxie se apoyó en el servicio de
FPGA de Pico Computing para conseguir romper
una hash NTPasswordHash en 23 horas en el peor de los casos y unas 12 horas de
promedio.
Además, ofrece esta herramienta
en su servicio de descifrado de claves en la nube CloudCracking, apoyándose en
una aplicación propia, Chapcrack. Esta, a partir de una captura de red con el
handshake de MS-CHAPv2 es capaz de generar un fichero con todos los datos
necesarios para descifrar de la contraseña. Con esta infraestructura al alcance
de cualquiera, se puede considerar
MS-CHAPv2 completamente inseguro y roto.
¿Y qué pasa con WPA2 Enterprise?
Otra tecnología a la que salpica
esta vulnerabilidad es Wi-Fi sobre WPA2 Enterprise. Con respecto a esto,
algunos profesionales se han pronunciado y recuerdan que WPA2 añade encapsulado bajo PEAP, tal y como indica Microsoft, y por
tanto está a salvo. Algunos acusan a Moxie de incluir WPA2 Enterprise en su
estudio para darle publicidad.
Sin embargo, no está de más
recordar que aquí PEAP se autentica contra un servidor RADIUS, cuyo certificado
hay que validar. En el caso de que un usuario validase un certificado
fraudulento, podría establecer la conexión contra un servidor RADIUS controlado
por el atacante en un típico esquema MitM (man in the middle). Si el atacante
(entre otros ataques que quizás podría realizar) recoge las trazas de
autenticación, sería capaz de descifrarlas fácilmente offline y obtener acceso
a la red inalámbrica. Por tanto, la
seguridad de WPA2 Enterprise queda de alguna manera también "en alerta", dependiendo solo de
la habilidad de los usuarios al reconocer un servidor de autenticación RADIUS seguro
mediante su certificado y de la configuración de los equipos a este respecto.
Más información:
Unencapsulated MS-CHAP v2 Authentication Could
Allow Information Disclosure
Weaknesses in MS-CHAPv2 authentication
Divide and
Conquer: Cracking MS-CHAPv2 with a 100% success rate
Decipher
MPPE by breaking MS-CHAP v2
Francisco López
No hay comentarios:
Publicar un comentario