Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Home CrackingConstruyendo un clúster
www.layakk.com @layakk
Fernando Perera
Contenido
• Introducción al Cracking de Contraseñas
• Objetivos y Reconocimiento
• Arquitectura y Montaje
• Pruebas generales y Resultados
• Conclusiones
Cracking de Contraseñas
• Almacenamiento de contraseñas resumidas en un Hash.
• Ataques basados en prueba y error
Proceso Hash
P@ssw0rd! 217E50203A5ABA59CEFA863C724BF61B
Proceso Hash-1217E50203A5ABA59CEFA863C724BF61B P@ssw0rd!
Cracking de Contraseñas
916132832
1E+23
2E+23
3E+23
4E+23
5E+23
6E+23
5 6 7 8 9 10 11 12
Co
mb
inac
ion
es P
osi
ble
s
Tamaño en número de caracteres
Número de combinaciones posibles.
95 caracteres 78 caracteres 62 caracteres
Cracking de Contraseñas
916132832
9.161E+09
9.161E+10
9.161E+11
9.161E+12
9.161E+13
9.161E+14
9.161E+15
9.161E+16
9.161E+17
9.161E+18
9.161E+19
9.161E+20
9.161E+21
9.161E+22
9.161E+23
5 6 7 8 9 10 11 12
Co
mb
inac
ion
es P
osi
ble
s
Tamaño en número de caracteres
Número de combinaciones posibles. Escala Logarítmica
95 caracteres 78 caracteres 62 caracteres
Cracking de Contraseñas
• Muchos sistemas usan Salt para ayudar a securizar las contraseñas almacenadas
• Dificultan los ataques pre-computados
Proceso Hash
salt1P@ssw0rd! salt1:E7298088BEE4EF089B51CB6630069FEB
Proceso Hash
salt2P@ssw0rd! salt2:351C08787A8E74FDB7C07F55FB9BF6C0
Cracking de Contraseñas
• Ataques de Diccionario
– Ficheros de palabras
• Ataques de Fuerza Bruta personalizados
– Generación de combinaciones de caracteres durante el proceso de cracking
– Podemos reducir el espacio de claves ajustando una Máscara de caracteres.
Objetivos y Reconocimiento
Software Libre
• Software:
– 1 Nodo
– Clustering
Objetivos y Reconocimiento
Objetivos y Reconocimiento
• Hashcat– Paralelización del trabajo entre múltiples GPU
– Más de 150 algoritmos disponibles
– Ataques de Máscara (Fuerza Bruta “personalizada”), Diccionarios y Reglas.
• Hashtopus– Organización de tareas
– Gestión de nodos y actualizaciones de oclHashacat
– Reparto del trabajo por tiempo de dedicación
– Asignación automática y manual de tareas
– Resultados centralizados y organizados
Objetivos y Reconocimiento
• GPU: GFLOPS Benchmark
6144 5632
11466
8600
0
5000
10000
15000
Nvidia Titan X GTX 980 Ti R9 295X2 R9 Fury X
GPUs
GFLOPS
Objetivos y Reconocimiento
• GPU: Consumo y temperatura
56
95
75
85
474
409
368
367
0 100 200 300 400 500
R9 Fury X
R9 295X2
GTX 980 Ti
Nvidia Titan X
GPUs
Series2 Series1
Objetivos y Reconocimiento
• GPU: Rendimiento
5.127.610810811
14.7
11.62162162
24.57622.528 22.932
19.11111111
0
5
10
15
20
25
30
Nvidia Titan X GTX 980 Ti R9 295X2 R9 Fury X
GPUs
GFLOPS/E GFLOPS/W
Objetivos y Reconocimiento
• GPU: Benchmark Hashcat real
0 0 0 0
100 100 100 100
0
20
40
60
80
100
MD5 (24809,8 MH/s) NTLM (41354,5 MH/s) NetNTLMv2 (1637,5 MH/s) sha512crypt, unix (147200H/s)
GPUsNvidia Titan X Nvidia GTX 980 Ti Radeon R295x2 Radeon Fury X (no info) Nvidia GTX 1080 (referencia)
Arquitectura y Montaje
Arquitectura y Montaje
Arquitectura y Montaje
Arquitectura y Montaje
Arquitectura y Montaje
Arquitectura y Montaje
Arquitectura y Montaje
Arquitectura Multi-nodo
• Datos Generales– 3 Nodos
– 12x Nvidia GTX 980 Ti EVGA Hybrid (4+4+4)
– 112 GB de RAM (48+32+32)
– Interconexión Gigabit entre nodos
– Dos bloques RAID1 de 256GB en el servidor + 256GB por nodo
• Red
– Servidor:
• Doble Interfaz de red
• Firewall, Puerta de enlace, Web, BD…
• Red de Cómputo Gigabit Ethernet
Arquitectura Multi-nodo
DEMO
Pruebas generales y Resultados
0
10
20
30
40
50
60
70
80
90
1 1 1 1 1 1 1 1 1
49.81 50.26 51.63 49.9253.97
48.6151.54 51.22 50.82
74.72 75.39 77.45 74.8980.96
72.9277.30 76.83 76.23
Ve
ces
Incremento de potencia
PC Normal 2 Nodos 3 Nodos
Pruebas generales y Resultados
Algoritmo Velocidad Tiempo 8 c
NTLM 346,4 GH/s 5 horas y media
NetNTLMv2 10669,9 MH/s 7 días
sha512crypt (unix) 1104,08 kH/s 237 meses y medio
Wordpress 53720,94 kH/s 47 meses
MySQL 29911,54 MH/s 2 días y medio
Pruebas generales y Resultados
• Temperatura y Uso
¿Y que mas podría hacer?
• Generación de Rainbow-Tables y otras operaciones de pre-cómputo para cracking.
• Simulaciones, Rendering, Computo Científico.
• Juegos ultra, Realidad Virtual.
Conclusiones
• Las contraseñas cortas son un riesgo.
– Frases poco predecibles o con modificaciones.
– Segundo factor de autenticación.
• El coste de la construcción de una máquina de cracking no es tan elevado.
• El sistema puede ser montado y usado por usuarios con pocos conocimientos técnicos.
¡Gracias!¿Preguntas?