Supponendo che la passphrase sia stata generata casualmente, le due informazioni necessarie per eseguire il calcolo per un attacco forza bruta completa sono:
-
spazio delle chiavi. Questo è il numero di combinazioni possibili. In questo caso, 26 maiuscole, 26 minuscole e 10 cifre = 62 caratteri, in otto posizioni (quindi 62 ^ 8, 62 alla potenza di 8 o 62x62x62x62x62x62x62x62).
-
Velocità di cracking della GPU reale. Questo è molto variabile a seconda della piattaforma. I numeri di riferimento per gli strumenti come hashcat vengono generati in condizioni ideali che di solito non possono essere raggiunte negli attacchi del mondo reale, quindi l'esecuzione dell'attacco effettivo è il gold standard per determinare il throughput del mondo reale e quindi fare i calcoli per abbinare la scala target .
Ecco un attacco sotto i parametri nella tua domanda, eseguito su 6 GTX 1080:
$ 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 volta che conosci le prestazioni della tua GPU per quel hash e quell'attacco, puoi moltiplicare quella velocità (o dividere quella stima del tempo) per il numero di GPU che avrai. Se devi ridimensionare su più chassis, strumenti come Hashtopolis o hashview può gestire un cluster di sistemi. Se avessi dieci sistemi come sopra, ci vorrebbero 1275 giorni / 10 = ~ 4 mesi per esaurire completamente lo spazio delle chiavi (e ~ 2 mesi per rompere il caso medio). Hai un'idea.
Per le altre domande sulla capacità, in pratica, non hai bisogno di molta CPU per l'attacco stesso quando usi hashcat. Mi è stato detto che le versioni recenti di hashcat funzionano meglio quando il sistema host ha approssimativamente molta RAM come quantità totale di memoria della GPU, ma questo non è esatto. Ad esempio, il sistema sopra collettivamente ha 48G di memoria GPU, ma solo 32 GB di RAM e funziona bene per WPA2. Ma questa regola empirica della memoria è utile per i consigli generali sulla compilazione del sistema.
Come dovrebbe essere chiaro ormai, se hai solo 24 ore e la passphrase è stata generata casualmente, non andrai molto lontano. Ma quanto sopra dovrebbe aiutarti a eseguire i calcoli.