configuración de descifrado de contraseñas WPA

3

digamos que estoy intentando descifrar una contraseña WPA y necesito crear una configuración de máquina virtual para ella. ¿Cuál sería la configuración si me limito con un número específico de horas (digamos 24 horas y la contraseña es de 8 caracteres alfanuméricos)?

¿Alguna de las fórmulas que puedo usar para determinar cuáles serían mis salidas? me gusta cómo calcular el número de GPU, CPU y RAM que necesito para terminar en el límite de tiempo dado

    
pregunta Kaki Master Of Time 25.04.2018 - 15:20
fuente

2 respuestas

3

Suponiendo que la frase de contraseña se generó al azar, las dos piezas de información necesarias para realizar el cálculo de un ataque de fuerza bruta completa son:

  1. espacio de teclado. Esta es la cantidad de combinaciones posibles que hay. En este caso, 26 mayúsculas, 26 minúsculas y 10 dígitos = 62 caracteres, en ocho posiciones (por lo tanto, 62 ^ 8, 62 a la potencia de 8, o 62x62x62x62x62x62x62x62).

  2. Velocidad de craqueo de GPU en el mundo real. Esto es altamente variable dependiendo de la plataforma. Los números de referencia para herramientas como el hashcat se generan en condiciones ideales que generalmente no se pueden lograr en ataques del mundo real, por lo que ejecutar el ataque real es el estándar de oro para determinar el rendimiento del mundo real, y luego hacer los cálculos para coincidir con su escala objetivo .

Aquí hay un ataque bajo los parámetros de su pregunta, que se ejecuta en 6 GTX 1080s:

$ hashcat -a 3 -m 2500 -2 ?l?u?d hashcat-wpa2.hccapx ?2?2?2?2?2?2?2?2
hashcat (v4.1.0) starting...

OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #2: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #3: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #4: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #5: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #6: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU

[...]

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Applicable optimizers:
* Zero-Byte
* Single-Hash
* Single-Salt
* Brute-Force
* Slow-Hash-SIMD-LOOP

Password length minimum: 8
Password length maximum: 63

Watchdog: Temperature abort trigger set to 90c

[...]

Session..........: hashcat
Status...........: Running
Hash.Type........: WPA/WPA2
Hash.Target......: 8381533406003807685881523 (AP:ae:f5:0f:22:80:1c STA:98:7b:dc:f9:f9:50)
Time.Started.....: Wed Apr 25 06:39:06 2018 (4 mins, 40 secs)
Time.Estimated...: Sat Oct 23 07:02:24 2021 (3 years, 181 days)
Guess.Mask.......: ?2?2?2?2?2?2?2?2 [8]
Guess.Charset....: -1 Undefined, -2 ?l?u?d, -3 Undefined, -4 Undefined
Guess.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....:   332.4 kH/s (6.93ms)
Speed.Dev.#2.....:   327.8 kH/s (7.06ms)
Speed.Dev.#3.....:   329.5 kH/s (7.00ms)
Speed.Dev.#4.....:   328.7 kH/s (7.01ms)
Speed.Dev.#5.....:   330.4 kH/s (6.96ms)
Speed.Dev.#6.....:   330.1 kH/s (6.98ms)
Speed.Dev.#*.....:  1979.0 kH/s
Recovered........: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 553451520/218340105584896 (0.00%)
Rejected.........: 0/553451520 (0.00%)
Restore.Point....: 8437760/3521614606208 (0.00%)
Candidates.#1....: etET7778 -> exQC5678
Candidates.#2....: 1BDpERIN -> 1r8tBONA
Candidates.#3....: l5MUQURL -> lEeqNANA
Candidates.#4....: bjHuRANA -> bCLfNANA
Candidates.#5....: 2Rh7MANA -> 2VLbLESS
Candidates.#6....: rFrR7778 -> r0xsANAN

Una vez que conozca el rendimiento de su GPU para ese hash y ese ataque, puede multiplicar esa velocidad (o dividir esa estimación de tiempo) por la cantidad de GPU que tendrá. Si necesita escalar en varios chasis, herramientas como Hashtopolis o hashview puede administrar un conjunto de sistemas. Si tuviera diez sistemas como el anterior, tomaría 1275 días / 10 = ~ 4 meses para agotar completamente el espacio de teclas (y ~ 2 meses para descifrar el caso promedio). Tienes la idea.

Para tus otras preguntas sobre la capacidad, en la práctica, no necesitas mucha CPU para el ataque cuando usas hashcat. Me han dicho que las versiones recientes de hashcat funcionan mejor cuando el sistema host tiene aproximadamente la RAM como la cantidad total de memoria de GPU, pero esto no es exacto. Por ejemplo, el sistema anterior tiene 48G de memoria de GPU, pero solo 32GB de RAM y funciona bien para WPA2. Pero esta regla de oro de la memoria es buena para el consejo general de construcción del sistema.

Como debe quedar claro, si solo tiene 24 horas y su frase de contraseña se generó al azar, no llegará muy lejos. Pero lo anterior debería ayudarte a realizar los cálculos.

    
respondido por el Royce Williams 25.04.2018 - 16:59
fuente
3

TL; DR: No es razonable para una contraseña aleatoria.

Suponiendo que no puede usar ataques de diccionario (la contraseña es realmente aleatoria), es decir, 62 8 = 218 340 105 584 896 ≈ 2 * 10 14 combinaciones posibles . De acuerdo con this , puede obtener de manera optimista 10 8 AES-256 operaciones por segundo en un núcleo de CPU. Necesitarías 24 núcleos para romperlo en menos de un día. Debe tener más para asegurarse, especialmente en una máquina virtual, ya que la virtualización puede ralentizar las cosas. Si bien lanzarle una GPU puede ser una mejor idea, las GPU no permiten instrucciones específicas de AES, por lo que el rendimiento será al menos 10 veces peor, probablemente más como 20.

Sin embargo, eso sería bueno y bueno si WPA2 no se usó PBKDF2 con 4096 iteraciones. Asumiendo que un núcleo de CPU puede hacer eso en 1 ms, lo cual es optimista según mi punto de referencia VeraCrypt. Necesitaría 10 núcleos de CPU 14 / 24/3600/1000 = 1157408. ¡Más de 1 millón! Incluso si el rendimiento básico de la GPU fuera similar, todavía serían aproximadamente 500-1000 GPU modernas para romperlo en un día y eso es ser optimista en cada paso del camino.

    
respondido por el Peter Harmann 25.04.2018 - 15:34
fuente

Lea otras preguntas en las etiquetas