Hydra divide il file elenco di parole in tante parti quante sono le attività / i thread?

2

Sto giocando con Hydra e un'autenticazione xmpp.

Ho creato un server xmpp di base, riproducendo un'autenticazione (lato server) da un file pcap in chiaro. Penso di avere qualcosa di sbagliato nella gestione delle mie connessioni (sto creando un thread per ogni nuova connessione ma lo chiudo per errore) ma non importa, non è questo il mio punto.

Ho risolto questo problema di scalabilità. Per chi fosse interessato, era dovuto a un'ottimizzazione di Hydra, che non riproduceva il primo, chiamiamolo "Ciao richiesta". Un'autenticazione regolare richiede 4 richieste o risposte da un client, 4 pacchetti dal server. E questa ottimizzazione salta la prima, andando direttamente al 2 °, che sembra così nel mio caso: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='SCRAM-SHA-1'/>

Statistiche / Informazioni:

  • Conf. della VM: 2 CPU, 2 GB di RAM.
  • Posizione della password nella lista di parole: 795 ° posizione su 60k.
  • Attività singola: ~ 50 tentativi / min - > ~ 17min per trovare la password.
  • 16 attività: ~ 820 tentativi / min - > 1h14min da completare senza trovare il pw ('causa del problema di gestione delle connessioni).

Nuove statistiche (dopo l'ottimizzazione):

  • Attività singola: ~ 90 tentativi / min - > 9min 13s
  • 16 attività: ~ 1400 + tentativi / min - > 33s

La domanda è: Hydra divide la lista delle parole in 16 parti uguali? E come?

Una dimensione della parte è ~ 3.8k password. Il thread 1 funziona con le prime password da 3.8k? Il thread 2 che lavora sul 3801rst - > 7600? e così via fino al thread 16? In modo che le ultime 16 password testate siano 3799, 7599 e così via?

L'altra possibilità è che il thread 1 ad esempio proceda ogni 1% 16 (modulo) password dall'elenco di parole, in modo che le password vengano testate nello stesso ordine di se avessimo solo 1 task (/ thread) in esecuzione.

Posso testarlo da solo, ma se qualcuno lo ha già fatto, per favore illumina la mia oscurità.

    
posta T. Rode 29.11.2018 - 14:03
fonte

1 risposta

0

Ho trovato la risposta.

Hydra è, penso, facendo un modulo [numero di compiti] per creare ogni "subfile" che viene elaborato in parallelo. Perché quel ? Poiché è al 99% la stessa sequenza di test delle password, voglio dire che vengono elaborati nello stesso ordine.

Vale a dire: la password numero 1 verrà testata come numero 1, con l'avvio di 16 attività, la password numero 2000 verrà testata anche nella 2000 ° posizione nell'elaborazione di 16 task hydra.

Significa anche che il thread / task 1 elabora la password 1, 17, 33, 49 ...

Thread / task 2 elaborerà la password 2, 18, 34, 50 ... e così via.

E ovviamente le password vengono elaborate in modo sequenziale, ovvero nello stesso ordine, se lanci hydra con solo 1 compito.

L'ho provato su password 8k ed è quasi sempre lo stesso ordine in entrambi i casi, con variazioni molto piccole a volte.

    
risposta data 30.11.2018 - 15:12
fonte

Leggi altre domande sui tag