lunes, julio 30, 2012

DefCON 20: Crónica maligna de una muerte anunciada

Hay miles de DefCon en una sola DefCon. Tantas, como experiencias personales que viven los miles y miles de personas que asisten año tras año a estas conferencias. Dentro de mi DefCon, una de las cosas más chulas que pude vivir es ver como Moxie Marlinspike daba una charla para matar MS-Chap-v2 en conexiones VPN y WPA2-Enterprise. Todo empezó tal que así...

La noche antes de que comenzara DefCon había una fiesta para los speakers en el hotel Rio. Ese día yo tenía que hacer el cambio del hotel Caesar's Palace y me entretuve con RomanSoft y compañía tomando una cerveza, lo que hizo que llegara tarde para recoger mi badge de speaker con el que conseguir el acceso a la fiesta. No obstante, después de cinco años hablando pensé que podría intentar entrar en la fiesta sin identificación, así que de todas formas fui.

Al llegar a la entrada una chica me dijo que sin badge no podía entrar porque no sabía si yo era speaker o no. Estuve un poco tentado a utilizar el truco de Moxie en la RSA ese de "Google me!", pero no hizo falta. Uno de los Goons estaba allí, y me dijo: "Ah!, tu eres el speaker de BlackHat, te reconocí por por el gorro, pasa". Así que, en lugar de entrar por el morro, conseguí entrar por el gorro, cosas de la vida.

Una vez arriba, tras pedir una copichuela, me fui a la terraza, para encontrarme con Renderman "Hey man, look at me!", me dijo. Renderman se había cortado el pelo, y estaba tan sonriente y divertido como siempre. Junto a él estaba Moxie, "Chema is working, Chema is working", me dijo, y comenzamos a charlar un rato. 

- "¿A qué hora hablas Moxie?"
- "A las 10:00 el sábado".
- "Vaya, yo hablo a las 11:00, no vas a poder venir a mi charla, y sales en mis diapos".
- "No creo que pueda Chema, tengo el Q&A".
- "¿De qué vas a hablar? Yo tengo que ir a las 10:20 a la speaker room, pero me gustaría ver aunque fuera el comienzo de tu charla.
- "Cracking MS-Chap-v2 in VPN con PPTP y WiFis con WPA2-Enterprise".
- "Dictionary attack?"
- "No, 100 % success attack con cracking"
- "What? No lei nada de eso"
- "Ya, fue una charla de última hora".
- "Moxie, publicamos un libro de ataques de red, y enseñamos cómo hacer un ataque de cracking VPN PPTP por Diccionario.  Me vas a obligar a hacer una segunda edición!".

Figura 0: Update. Fotograma de vídeo pirata que grabó esa conversación.

Tras la conversación, seguimos con la fiesta, pero ahí me quedó marcada la noche del jueves, y quise recordarla con un tweet que puse sobre el tema...

Figura 1: Tweet sobe la conversación que mantuvimos

El día D

Llegado el sábado, decidí pasarme a ver la charla de Moxie aunque fuera solo los 20 primeros minutos, pero cuando llegué, la cola era inmensamente enorme. En mitad de ella estaba Pedro Laguna, que nos invitó a unirnos a él, pero se lo decliné: "Voy a saludar a Moxie, y le pido que me meta con él en la sala, a ver si puedo coger un buen sitio para irme pronto".

El auditorio donde Moxie iba a hablar es de unas 3.000 personas, y aún así hubo gente que se quedó fuera para ver la charla, así que por si acaso tenía un mal sitio, me encaminé a la sala de speakers. "Morning Moxie, necesito que me metas contigo". Moxie, no puso ningún problema, me hizo el favor, y por el camino, algo así como 800 metros, fuimos hablando de su charla. "Moxie, solo tengo 20 minutos, así que cuenta lo bueno al principio". "Sure".

Una vez dentro, conseguimos acoplarnos en una de las zonas centrales. Guardé unos sitios para Pedro Laguna y Kevin Mitnik, junto a nuestro amigo Gonzalo, y allí nos quedamos todos preparados para ver la charla. La foto de Ezequiel Salis, deja claro que el ambiente no era para menos. Si consigues localizarme, habrás resuelto este "Donde está Wally".

Figura 2: Aspecto del teatro desde el nivel 2. Hay tres niveles. Encuéntrame con Pedro Laguna

Tenía poco tiempo, y Moxie comenzó su charla hablando de ... delfines que protegen a los barcos, y de cómo uno de ellos le atacó porque un marine le estaba haciendo una demo mientras un soldado de frontera le apuntaba con un arma para que levantara su mano con un cepillo de dientes. Sí... Moxie contó esa historia y tuvo a todo el mundo muerto de risa durante 5 minutos.

Luego comenzó, y en menos de 15 minutos acabó con MS-Chap-v2. Tras explicar el algoritmo, con una presentación magistral, resumió lo no-disponible cuando grabas un handshake MS-Chap-v2 a solo:

- MD4(HashUserPassword)
- DES(HashUserPasswrod)+ DES(HashUserPasswrod)+ DES(HashUserPasswrod)

Figura 3: Generación de la respuesta en el handshake

Hasta el momento seguía vigente el trabajo de Bruce Schneier y Mudge, donde se muestra que se puede romper MS-Chap-v2 con un ataque de diccionario en el handshake, pero Moxie empezó a matarlo siguiendo el trabajo publicado aquí:
Paso 1) No es triple DES, es DES+DES+DES, así que será más fácil que lo imaginado. 24 bytes.
Paso 2) Claves DES son de 7 bytes, así que hemos de quitar uno de los bytes de cada una. 21 bytes.
Paso 3) El DES se hace con el Hash MD4, que es solo de 16 bytes de longitud y Microsoft rellena con ceros hasta 21. Así que el problem se reduce a crackear un DES de los 7 bytes del hash, un DES de los 7 segundos bytes del hash,  y un DES de los últimos 2 bytes. Este último paso es trivial, así que solo debemos resolver los dos primeros. 14 bytes.
Paso 4) Como no están anidados los DES, se pueden hacer en la misma iteración, con lo que sería hacer un único 2*57.
Con ese espacio, algo ya bastante más crackeable, Moxie decidió utilizar un servicio externo de HPC y listo a CloudCracker.com. En menos de 24 horas,  descifra cualquier clave MS-Chap-v2. No habían pasado los 20 minutos, y Moxie ya se lo había cargado. Impresive...

Saludos Malignos!

6 comentarios:

Teleco dijo...

Ésta sigue siendo mi cara O_O

Aetsu Alpha dijo...

Brutal!!

Anónimo dijo...

Vestias de celeste o algo similar Chema ? :D

Anónimo dijo...

EN POCAS PALABRAS SI CAPTURO EL HANDSHAKE DE LA RED WIFI DE MI VECINO CON SEGURIDAD WPA -AES . O WPA 2 PSK , ME DARA LA CLAVE AVER CHEMA SI POR FAVOR ME DICES ESO CloudCracker.com

saludos bro eres el mejor y lo sabes , vi la charla que hicistes , ese tio gordo que te dijo " UNANSE TODOS PARA HACKEAR " que tio tan estupido en verdad , ojala lo aya tropellado por invecil de ....jajja espero que me respondas chemaaa salud

Anónimo dijo...

Chema! Parece que moxie se lleva el mérito y el dinero pero la implementación la hicieron David Hulton y Pico Computing sobre investigación ya publicada a la que no mencionan.

La herramienta publicada es solo para poder usar su servicio pago.

https://twitter.com/delroth_/status/229271501948477440

https://twitter.com/ipv_/status/230262924432797696

explicación y herramienta publicada previamente de forma honesta y sincera:

http://esec-pentest.sogeti.com/challenge-vpn-network/decipher-mppe-breaking-ms-chap-v2

Anónimo dijo...

chema respondea mi pregunta pibeeeeeeeeeeeeeeeeeeeeeeeeeee

Entradas populares