Sobre La Robustez de La Autenticacion
Transcript of Sobre La Robustez de La Autenticacion
![Page 1: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/1.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 1/55
Packin’ the PMKSobre la robustez de la autenticacion de
WPA/WPA2
Cedric Blancher y Simon Marechal
Computer Security Research LabEADS Innovation Works
Invitado especialOrganizacion no revelada ;)
BA-Con - 30 de Septiembre - 1ro de Octubre 2008
http://ba-con.com.ar/
![Page 2: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/2.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 2/55
Agenda
1 Autenticacion WPA/WPA2
2 Evaluacion de WPA-PSKComo funciona ?Costo teorico del ataqueComparacion entre implementacionesEvaluacion de la solidez de passwordsLımites de los ataques practicos
3 Reflexiones sobre WPA-EAPAutenticacion EAPPwneando la Master KeyConsideraciones practicas
4 Conclusion
![Page 3: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/3.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 3/55
Introduccion
Seguridad Wi-Fi...
WEP esta mutilado y roto
WPA vino a reemplazarlo
Ahora, tenemos WPA2
Preguntas
En que son buenos WPA y WPA2 ?
Cuanto tiempo van a durar ?
![Page 4: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/4.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 3/55
Introduccion
Seguridad Wi-Fi...
WEP esta mutilado y roto
WPA vino a reemplazarlo
Ahora, tenemos WPA2
Preguntas
En que son buenos WPA y WPA2 ?
Cuanto tiempo van a durar ?
![Page 5: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/5.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 4/55
Agenda
1 Autenticacion WPA/WPA2
2 Evaluacion de WPA-PSKComo funciona ?Costo teorico del ataqueComparacion entre implementacionesEvaluacion de la solidez de passwordsLımites de los ataques practicos
3 Reflexiones sobre WPA-EAPAutenticacion EAPPwneando la Master KeyConsideraciones practicas
4 Conclusion
![Page 6: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/6.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 5/55
Modos de autenticacion
Secreto pre-compartido (Preshared secret - PSK)
EAP
EAP Auth PMK 4 Way Handshake PTK
PSK PBKDF2
Jerarquıa de claves
Autenticacion lleva a una Master Key (MK)
Pairwise Master Key (PMK) se derivan de la MK
![Page 7: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/7.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 6/55
Una clave para gobernarlos a todos...
De la MK vienen todas las claves siguientes
Pairwise Master Key
Claves de intercambio de clave
Claves de encripcion
Claves de autenticacion si se aplica
KEK
PMK 4 Way Handshake PTK TEK
TMK
Obtener la Master Key == Obtener todo el resto
![Page 8: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/8.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 7/55
La opcion de clave pre-compartida (PresharedKey)
MK es su PSK
PMK se deriva de la MK
PMK
PSK PBKDF2
Obtener la PSK == Obtener la MK
![Page 9: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/9.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 8/55
La opcion EAP
Autenticacion entre el cliente y RADIUS
MK se deriva de la autenticacion
MK enviada al AP por RADIUS
Cliente
EAP Auth MK
RADIUS
Ownear cliente+RADIUS == Obtener MK
![Page 10: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/10.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 9/55
Agenda
1 Autenticacion WPA/WPA2
2 Evaluacion de WPA-PSKComo funciona ?Costo teorico del ataqueComparacion entre implementacionesEvaluacion de la solidez de passwordsLımites de los ataques practicos
3 Reflexiones sobre WPA-EAPAutenticacion EAPPwneando la Master KeyConsideraciones practicas
4 Conclusion
![Page 11: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/11.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 10/55
Calculando la PMK
La Master Key (MK)
es tu clave secreta o contrasena
8 a 63 caracteres ASCII imprimible (codigo entre32 y 126)
La Pairwise Master Key (PMK)
ser deriva de la Master Key y de datos del APusando la funcion PBKDF2
la funcion de derivacion consume mucho tiempo
![Page 12: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/12.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 11/55
El ataque
Recuperando los datos relevantes
se deben capturar durante el handshake
es posible forzar el handshake
solo funciona para un solo SSID
Probando una Master Key
1 por cada posible MK, calcular el correspondientePMK
2 calcular el PTK (cuatro llamados a HMAC-SHA1usando PMK y nonces)
3 finalmente, obtener el MIC (un llamado aHMAC-SHA1) y compararlo con el handshakecapturado
![Page 13: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/13.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 11/55
El ataque
Recuperando los datos relevantes
se deben capturar durante el handshake
es posible forzar el handshake
solo funciona para un solo SSID
Probando una Master Key
1 por cada posible MK, calcular el correspondientePMK
2 calcular el PTK (cuatro llamados a HMAC-SHA1usando PMK y nonces)
3 finalmente, obtener el MIC (un llamado aHMAC-SHA1) y compararlo con el handshakecapturado
![Page 14: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/14.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 11/55
El ataque
Recuperando los datos relevantes
se deben capturar durante el handshake
es posible forzar el handshake
solo funciona para un solo SSID
Probando una Master Key
1 por cada posible MK, calcular el correspondientePMK
2 calcular el PTK (cuatro llamados a HMAC-SHA1usando PMK y nonces)
3 finalmente, obtener el MIC (un llamado aHMAC-SHA1) y compararlo con el handshakecapturado
![Page 15: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/15.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 11/55
El ataque
Recuperando los datos relevantes
se deben capturar durante el handshake
es posible forzar el handshake
solo funciona para un solo SSID
Probando una Master Key
1 por cada posible MK, calcular el correspondientePMK
2 calcular el PTK (cuatro llamados a HMAC-SHA1usando PMK y nonces)
3 finalmente, obtener el MIC (un llamado aHMAC-SHA1) y compararlo con el handshakecapturado
![Page 16: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/16.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 11/55
El ataque
Recuperando los datos relevantes
se deben capturar durante el handshake
es posible forzar el handshake
solo funciona para un solo SSID
Probando una Master Key
1 por cada posible MK, calcular el correspondientePMK
2 calcular el PTK (cuatro llamados a HMAC-SHA1usando PMK y nonces)
3 finalmente, obtener el MIC (un llamado aHMAC-SHA1) y compararlo con el handshakecapturado
![Page 17: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/17.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 12/55
La funcion PBKDF2
Algoritmo de PBKDF2
x1 = HMAC_SHA1(MK, SSID + ’\1’);x2 = HMAC_SHA1(MK, SSID + ’\2’);for(i=1;i<4096;i++) {
x1 = HMAC_SHA1(MK, x1);x2 = HMAC_SHA1(MK, x2);
}return x1 + x2;
Costo
8192 llamados a HMAC-SHA1
![Page 18: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/18.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 13/55
La funcion HMAC-SHA1
Algoritmo para HMAC(secreto, valor)
poner secreto en dos buffers de 64 bytes, Bi y Bo,rellenando con ceros
Bisecret0000000000000000000000000000000000000000000000000000000000
Bosecret0000000000000000000000000000000000000000000000000000000000
![Page 19: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/19.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 14/55
La funcion HMAC-SHA1
Algoritmo para HMAC(secreto, valor)
XOR Bi con 0x36
XOR Bo con 0x5c
BiESUDSB6666666666666666666666666666666666666666666666666666666666
Bo/9?.9(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
![Page 20: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/20.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 15/55
La funcion HMAC-SHA1
Algoritmo para HMAC(secreto, valor)
agregar valor a Bi
BiESUDSB6666666666666666666666666666666666666666666666666666666666valor
![Page 21: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/21.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 16/55
La funcion HMAC-SHA1
Algoritmo para HMAC(secreto, valor)
agregar SHA1(Bi) a Bo
Bo/9?.9(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\e7de45e0b885228e9a48a9add37b504eba7fd3c4
![Page 22: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/22.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 17/55
La funcion HMAC-SHA1
Algoritmo para HMAC(secreto, valor)
obtener SHA1(Bo)
330b72d384df41adf440e1d8aeb543ab73eecb8a
Resumen
HMAC SHA1(s, v) =SHA1((s ⊕ 0x5c)||SHA1((s ⊕ 0x36)||v))
![Page 23: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/23.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 18/55
La funcion SHA1
Descripcion
es una funcion de hash criptografica
funciona sobre bloques de 64 bytes, rellenando laentrada del usuario (padding)
produce un digest de 20 bytes
la parte principal del esta funcion se llama”BODY”
las otras partes tienen un costo amortizado decero
![Page 24: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/24.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 19/55
El truco HMAC
Recordatorio
queremos SHA1(Bo || SHA1(Bi || value))
Que se va a calcular
BODY(secreto ^ 0x5c)
BODY(valor + padding)
⇒ hash1
BODY(secreto ^ 0x36)
BODY(hash1 + padding)
⇒ resultado
si el secreto esconstante . . .
. . . dos llamadosa BODY sepueden guardaren cache
![Page 25: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/25.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 19/55
El truco HMAC
Recordatorio
queremos SHA1(Bo || SHA1(Bi || value))
Que se va a calcular
BODY(secreto ^ 0x5c)
BODY(valor + padding)
⇒ hash1
BODY(secreto ^ 0x36)
BODY(hash1 + padding)
⇒ resultado
si el secreto esconstante . . .
. . . dos llamadosa BODY sepueden guardaren cache
![Page 26: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/26.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 19/55
El truco HMAC
Recordatorio
queremos SHA1(Bo || SHA1(Bi || value))
Que se va a calcular
BODY(secreto ^ 0x5c)
BODY(valor + padding)
⇒ hash1
BODY(secreto ^ 0x36)
BODY(hash1 + padding)
⇒ resultado
si el secreto esconstante . . .
. . . dos llamadosa BODY sepueden guardaren cache
![Page 27: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/27.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 20/55
La funcion BODY – inicializacion
Algoritmo
unsigned i n t K [ 8 0 ] ;memcpy (K, i n p u t , 6 4 ) ;a = c t x [ 0 ] ; b = c t x [ 1 ] ; c = c t x [ 2 ] ;d = c t x [ 3 ] ; e = c t x [ 4 ] ;
Cantidad de operaciones
asignar 32 bits en memoria : 22
![Page 28: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/28.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 21/55
La funcion BODY – expansion de la entrada
Expandir la entrada
K[ i ] = K[ i −3] ˆ K[ i −8] ˆK[ i −14] ˆ K[ i −16] ;
K[ i ] = r o t a t e l e f t (K[ i ] , 1 ) ;
Cantidad de operaciones
asignar 32 bits en memoria : 1
operaciones elementales : 4
se hace 64 veces
![Page 29: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/29.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 22/55
La funcion BODY – rondas
Algoritmo
STEP( v , w, x , y , z ,m, c ) :z += F (w, x , y ) + c + K[m] ;z += r o t a t e l e f t ( v , 1 ) ;w = r o t a t e l e f t (w , 3 0 ) ;
Cantidad de operaciones
asignar 32 bits en memoria : 2
operaciones elementales : 5 + costo de F
4 rondas de 20 pasos
el costo promedio de F es 3.75 operaciones
![Page 30: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/30.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 23/55
La funcion BODY – finalizar
Algoritmo
a += c t x [ 0 ] ; b += c t x [ 1 ] ; c += c t x [ 2 ] ;d += c t x [ 3 ] ; e += c t x [ 4 ] ;
Cantidad de operaciones
asignar 32 bits en memoria : 5
operaciones elementales : 5
![Page 31: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/31.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 24/55
La funcion BODY – resumen
Cantidad de operaciones elementales
inicializacion : 0
expansion de la entrada : 4 veces 64
rondas : 8.75 veces 80
finalizar : 5
total : 961
Comparacion con MD5
funcion BODY de MD5 : 496
si se crackea un solo MD5 : 317
![Page 32: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/32.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 25/55
Costo de la funcion PBKDF2
Cantidad de operaciones elementales
se necesitan 8192 llamados a HMAC-SHA1usando los mismos secretos
esto es, 2 + 8192 ∗ 2 llamados a SHA1
o sea 15.7M operaciones elementales
![Page 33: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/33.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 26/55
Velocidad teorica de la funcion PBKDF2
Hipotesis : procesadores perfectos
leer/escribir en memoria es gratis
no hay penalidades
Velocidades
implementacion perfecta en SSE2 corriendo a3Ghz en un x86 single core, unos 500 pruebas/s
implementacion perfecta en CELL (PS3, 7SPUs), unos 2,840 pruebas/s
implementacion perfecta en Linux CELL, unos2,440 pruebas/s
![Page 34: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/34.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 27/55
Implementaciones en el mundo real
Aircrack
650 pruebas/s en Xeon E5405 (4x2Ghz)
650 pruebas/s en Opteron 2216 (4x2.4Ghz)
”pipe multithreading”, falla en AMD
Productos Pico Computing
en un LX25 FPGA, 430 pruebas/s
en un FX60 FPGA, 1,000 pruebas/s
Pyrit (Proyecto GPU)
unos 6,000 pruebas/s en Tesla C870
![Page 35: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/35.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 28/55
Otros metodos de cracking
”rainbow tables” WPA-PSK
en realidad son tablas para buscar PMK
1,000,000 passwords para 1000 SSIDsprecomputados
Implementacion de Jason Crawford CELL
”Lockheed rompe redes Wireless encriptadas conWPA usando un cluster de 8 Sony PlayStations”
para que me molesto, ya esta roto :/
performance desconocido
![Page 36: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/36.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 29/55
Implementacion en la arquitectura CELL
CELL benchmark
no es un verdadero cracker, solo un benchmark
en Linux, por lo tanto solo 6 SPUs disponibles
se llena el pipeline crackeando 16 passwords almismo tiempo
Resultados
2,300 pruebas/s
cercano al valor teorico 2,400 pruebas/s
valor esperado en CELL
![Page 37: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/37.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 29/55
Implementacion en la arquitectura CELL
CELL benchmark
no es un verdadero cracker, solo un benchmark
en Linux, por lo tanto solo 6 SPUs disponibles
se llena el pipeline crackeando 16 passwords almismo tiempo
Resultados
2,300 pruebas/s
cercano al valor teorico 2,400 pruebas/s
valor esperado en CELL
![Page 38: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/38.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 30/55
Mi implementacion
NVidia CUDA cracker
un cracker (casi) completo, requiere el input deun aircrack-ng modificado
CUDA es sencillo : de no saber nada a esto en 4dıas
Resultados
4,400 pruebas/s en un 8800 gts
12,000 pruebas/s en un gtx280
se deberıa poder mejorar
mas o menos equivalente a Pyrit
![Page 39: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/39.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 30/55
Mi implementacion
NVidia CUDA cracker
un cracker (casi) completo, requiere el input deun aircrack-ng modificado
CUDA es sencillo : de no saber nada a esto en 4dıas
Resultados
4,400 pruebas/s en un 8800 gts
12,000 pruebas/s en un gtx280
se deberıa poder mejorar
mas o menos equivalente a Pyrit
![Page 40: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/40.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 31/55
El mejor costo beneficio
Comparaciones del costo raw
Tipo pruebas/s costo pruebas/s/$
LX25 430 385$ 1.1Q6600 800* 190$ 4.2Q9550 900* 325$ 2.77CELL 2300 400$ 5.75
gtx280 12,000 440$ 27.3gtx260 9200* 300$ 30.6
Pero . . .
velocidades marcadas con * no son benchmarksreales, sino resultados interpolados
el costo de CELL de 400$ es por una PlayStationcompleta
![Page 41: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/41.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 32/55
Funcion de evaluacion de la solidez de passwords
Una funcion F da la solidez s de un password p :F (p) = s.
Propiedades deseables
1 computar F (p) efectivamente dado cualquier p
2 dado un smax , enumerar y generar todas lospasswords {p0, p1, . . . pn} dondeF (pi ) < smax , 1 ≤ i ≤ n
3 generar el conjunto {pa, pa+1, . . . pb} dondeF (pi ) < smax , a ≤ i ≤ b sin generar{p0, . . . pa−1}
4 evaluar la solidez en una escala detallada
![Page 42: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/42.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 32/55
Funcion de evaluacion de la solidez de passwords
Una funcion F da la solidez s de un password p :F (p) = s.
Propiedades deseables
1 computar F (p) efectivamente dado cualquier p
2 dado un smax , enumerar y generar todas lospasswords {p0, p1, . . . pn} dondeF (pi ) < smax , 1 ≤ i ≤ n
3 generar el conjunto {pa, pa+1, . . . pb} dondeF (pi ) < smax , a ≤ i ≤ b sin generar{p0, . . . pa−1}
4 evaluar la solidez en una escala detallada
![Page 43: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/43.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 33/55
Metodos conocidos
Busqueda en diccionarios
es debil si esta en un diccionario⇒ limitado a passwords ”conocidos”
Complejidad del conjunto de caracteres
un password solido contiene letras, numeros y almenos 3 caracteres especiales⇒ Aun ası se pueden crear passwords debiles
Test de cracking
es debil si se puede crackear en menos de 4 horas conjohn en mi maquina⇒ requiere recursos computacionales compatibles conel analisis de riesgo
![Page 44: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/44.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 33/55
Metodos conocidos
Busqueda en diccionarios
es debil si esta en un diccionario⇒ limitado a passwords ”conocidos”
Complejidad del conjunto de caracteres
un password solido contiene letras, numeros y almenos 3 caracteres especiales⇒ Aun ası se pueden crear passwords debiles
Test de cracking
es debil si se puede crackear en menos de 4 horas conjohn en mi maquina⇒ requiere recursos computacionales compatibles conel analisis de riesgo
![Page 45: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/45.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 33/55
Metodos conocidos
Busqueda en diccionarios
es debil si esta en un diccionario⇒ limitado a passwords ”conocidos”
Complejidad del conjunto de caracteres
un password solido contiene letras, numeros y almenos 3 caracteres especiales⇒ Aun ası se pueden crear passwords debiles
Test de cracking
es debil si se puede crackear en menos de 4 horas conjohn en mi maquina⇒ requiere recursos computacionales compatibles conel analisis de riesgo
![Page 46: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/46.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 34/55
Un mejor metodo
Cadenas de Markov
la distribucion de probabilidad condicional de lasletras Ln en un password es una funcion de laletra anterior, Ln−1, escrito P(Ln|Ln−1)
por ejemplo, P(sun) = P(s).P(u|s).P(n|u)
para mantener numeros amigables,P ′(x) = −10.log(P(x))
P ′(sun) = P ′(s) + P ′(u|s) + P ′(n|u)
![Page 47: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/47.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 35/55
En la practica
Funciona bien
tiene las propiedades deseadas
crackea mas efectivamente que john -inc (en mispruebas !)
existe un patch para john
Ejemplos de solidez
”chall”, solidez 100
”chando33”, solidez 200
”chaneoH0”, solidez 300
”chanlLr%”, solidez 400
”chanereaAiO4”, solidez 500
”% !”, solidez 1097
![Page 48: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/48.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 35/55
En la practica
Funciona bien
tiene las propiedades deseadas
crackea mas efectivamente que john -inc (en mispruebas !)
existe un patch para john
Ejemplos de solidez
”chall”, solidez 100
”chando33”, solidez 200
”chaneoH0”, solidez 300
”chanlLr%”, solidez 400
”chanereaAiO4”, solidez 500
”% !”, solidez 1097
![Page 49: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/49.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 36/55
Hipotesis
Fuerza del atacante
Atacante Tiempo disponible Recursos(GPUs)
Wardriver 15 minutos 1Individuo 7 dıas 2
Organizacion grande 1 ano 1024
Fuerza del defensor
escenario del peor caso : usuario de mac :)
password tiene 12 caracteres o menos
![Page 50: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/50.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 37/55
Passwords no muy buenos
Fuentes estadısticas
un foco enfocado en Apple que fue owneado
los passwords fueron publicados en texto planoen 4chan
Solidez de passwords
628,753 passwords
solidez media : 245
solidez mediana : 197
las ”bases” mas comunes de los passwords :password, qwerty, apple, letmein
![Page 51: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/51.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 38/55
Solidez de passwords crackeables
Ahora
wardriver : 7.2M, solidez markov de 169
individuo : 14.5G, solidez markov de 239
organizacion grande : 387.8T, solidez markov de344
En 10 anos, 32 veces mas rapido (Moore)
wardriver : 345.6M, solidez markov de 202
individuo : 464.5G, solidez markov de 273
organizacion grande : 12409T, solidez markov de388
![Page 52: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/52.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 39/55
Proporcion descubierta vs. poder de computo
100 200 300 400
0%
25%
50%
75%
90%
100%
Poder de computo
Pro
por
cio
nd
escu
bie
rta
Wardriver
IndividuoOrganizacion
Extrapolacion en 10 anos
![Page 53: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/53.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 39/55
Proporcion descubierta vs. poder de computo
100 200 300 400
0%
25%
50%
75%
90%
100%
Poder de computo
Pro
por
cio
nd
escu
bie
rta
Wardriver
IndividuoOrganizacion
Extrapolacion en 10 anos
![Page 54: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/54.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 39/55
Proporcion descubierta vs. poder de computo
100 200 300 400
0%
25%
50%
75%
90%
100%
Poder de computo
Pro
por
cio
nd
escu
bie
rta
Wardriver
IndividuoOrganizacion
Extrapolacion en 10 anos
![Page 55: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/55.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 40/55
Agenda
1 Autenticacion WPA/WPA2
2 Evaluacion de WPA-PSKComo funciona ?Costo teorico del ataqueComparacion entre implementacionesEvaluacion de la solidez de passwordsLımites de los ataques practicos
3 Reflexiones sobre WPA-EAPAutenticacion EAPPwneando la Master KeyConsideraciones practicas
4 Conclusion
![Page 56: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/56.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 41/55
Problemas usuales
La solidez de EAP depende directamente de unabuena configuracion
Buena eleccion del metodo EAP
Autenticacion RADIUS apropiada
En particular...
Verificar estrictamente el certificado RADIUS paraevitar MiM
![Page 57: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/57.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 42/55
Mirando mas cuidadosamente
AP actua como retransmisor entre el cliente y unservidor RADIUS
AssocReq AP
Station IdReq IdReq RADIUS
EAP Auth.
Comunicacion EAP directa entre el cliente y RADIUS
![Page 58: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/58.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 42/55
Mirando mas cuidadosamente
AP actua como retransmisor entre el cliente y unservidor RADIUS
AssocReq AP
Station IdReq IdReq RADIUS
EAP Auth.
Comunicacion EAP directa entre el cliente y RADIUS
![Page 59: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/59.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 43/55
Que pasa si...
Hay una falla explotable dentro de EAP ?
Capacidad de ejecutar codigo arbitrario
Acceso a la base de datos RADIUS
Acceso al backend
Etc.
Mas importante
Capacidad de generar trafico RADIUS !
![Page 60: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/60.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 44/55
De la transmision MK
Notificacion AP
Cuando se realiza la autenticacion, RADIUS notificaAP
EAP Success (3) o Failure (4)
se manda MK usando MS-MPPE-Recv-Key(atributo 17)
mensaje HMAC-MD5 (atributo 80)
![Page 61: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/61.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 45/55
Injectando MK arbitrarias
Ejecuta tu shellcode
Elabora un EAP Success
Pone tu propia MK en MS-MPPE-Recv-Key
Logra que se mande al AP
Pequeno problema...
Necesitas computar un mensaje HMAC-MD5
![Page 62: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/62.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 46/55
Eludiendo HMAC-MD5
No conoces el secreto de RADIUS
Pero owneaste el servidor...
Ideas
Leer secreto de la configuracion / memoria
Pedirle a RADIUS to elabore el paquete por vos
Metodos que dependen del producto
![Page 63: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/63.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 47/55
En la practica
Algunas cosas hechas o por hacer
EAP fuzzing (vulnerabilidades)
EAP fingerprinting (id)
Exploits
Entonces...
El atacante puede tener su propio MK enviado devuelta al AP
![Page 64: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/64.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 48/55
Todavıa no es el final...
Todavıa se necesita hacer un 4-Way Handshake
Hackear un WPA/WPA2 supplicant !
Modulo especıfico para wpa supplicant
Paso a paso
Responder el pedido EAP del AP
Empezar el dialogo EAP con RADIUS
Gatillar la vulnerabilidad
Mandar exploit
Agarrar EAP Success del AP
![Page 65: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/65.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 49/55
Cuando terminaste...
Al final...
Rogue client empieza la autenticacion
Explota el servidor RADIUS
Se autentica con MK arbitraria
Termina el dialogo WPA/WPA2 con AP
Mas importante...
Puede acceder a la red a traves de Wi-Fi
![Page 66: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/66.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 49/55
Cuando terminaste...
Al final...
Rogue client empieza la autenticacion
Explota el servidor RADIUS
Se autentica con MK arbitraria
Termina el dialogo WPA/WPA2 con AP
Mas importante...
Puede acceder a la red a traves de Wi-Fi
![Page 67: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/67.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 50/55
Agenda
1 Autenticacion WPA/WPA2
2 Evaluacion de WPA-PSKComo funciona ?Costo teorico del ataqueComparacion entre implementacionesEvaluacion de la solidez de passwordsLımites de los ataques practicos
3 Reflexiones sobre WPA-EAPAutenticacion EAPPwneando la Master KeyConsideraciones practicas
4 Conclusion
![Page 68: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/68.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 51/55
Seleccion de PSK
Recomendaciones
si es posible, usar un valor de 64 bytes al azar, ouno de los esquemas de autenticacion masseguros
usar passwords que no sean derivados de unapalabra conocida y con una solidez de 400 o masen la escala de Markow deberıa ser seguro paralos proximos anos
simplemente use ”chanereaAiO4”, es seguro !
![Page 69: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/69.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 52/55
Seleccion de PSK (cont.)
Cuidado
el cracker puede tener un mejor modelo para susataques
frases ”reales” pueden parecer seguras porqueson largas, pero lo mas probable es que seandebiles
criptograficas defectos podrıan ser descubiertos yexplotados
![Page 70: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/70.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 53/55
El futuro de PSK
Setup automatico de la clave
muchas soluciones propietarias, y un estandar
automagicamente configura la red y los settingsde seguridad
elimina el input del usuario, no mas clavesdebiles (ojala)
Wi-Fi Protected Setup
estandar de la Wi-Fi Alliance
autentica el aparato
in-band : ingresando un codigo PIN, apretandoun botonout-of-band : conectando una memoria USB,leyendo los RFIDs
puede ser atacado durante la primer asociacion
![Page 71: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/71.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 54/55
Consideraciones sobre EAP
Recomendaciones
Elegir cuidadosamente el metodo EAP
Asegurarse que los clientes puedan autenticarRADIUS
Proteger la maquina RADIUS
Proxear la autenticacion a otro servidor AAA
Cuidado
Verificar el certificado RADIUS, siempre
Contra tu propio CA, unicamente
![Page 72: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/72.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 54/55
Consideraciones sobre EAP
Recomendaciones
Elegir cuidadosamente el metodo EAP
Asegurarse que los clientes puedan autenticarRADIUS
Proteger la maquina RADIUS
Proxear la autenticacion a otro servidor AAA
Cuidado
Verificar el certificado RADIUS, siempre
Contra tu propio CA, unicamente
![Page 73: Sobre La Robustez de La Autenticacion](https://reader034.fdocuments.net/reader034/viewer/2022042814/5534e4584a7959937a8b4584/html5/thumbnails/73.jpg)
Copyright c© 2008 EADS
Packin’ the PMK — Cedric Blancher y Simon Marechal — 55/55
El fin...
Gracias por su atencion
Preguntas ?