In questo articolo, esploreremo come utilizzare il meccanismo di trasmissione di dati personalizzati da agenti durante una ricerca di forza bruta per trovare hash MD5.
Le unità di ricerca delle password dagli hash MD5 vengono inviate a agenti remoti, i quali restituiscono le password trovate. Una volta trovata, la password verrà visualizzata nella finestra "Esperti" del terminale principale. La velocità della rete di calcolo e i progressi verranno mostrati in tempo reale.

Ad esempio, l'hash MD5 "ab4f63f9ac65152575886860dde480a1" è stato trovato in pochi secondi come password di 6 caratteri 'azerty'.
Il programma dimostra anche il principio di virtualizzazione dei parametri di input non lineari e non numerici in un contatore numerico. Per fare ciò, impostiamo il flag di input "non utilizzato nella ricerca di forza bruta" e aggiungiamo un contatore di lavoro chiamato 'Counter', che è controllato dal programma:
//--- parametri di input sinput int PasswordLengthFrom =6; // Lunghezza della password da sinput int PasswordLengthTo =6; // Lunghezza della password a sinput BruteForceEnumType BruteforceType =BRUTEFORCE_SET_ASCII_DIGITS;// Charset attacco forza bruta sinput string BruteforceCharacters =""; // Charset personalizzato forza bruta sinput HashEnumType HashType=HASH_TYPE_SINGLE; // Tipo di hash sinput string HashList="ab4f63f9ac65152575886860dde480a1"; // Sorgente hash di azerty // hash MD5 o nome file (1 hash per riga) sinput long Counter=0;

Utilizzando la modalità master ibrida, che consente di eseguire una copia dell'EA nel terminale oltre a copie su agenti remoti e locali, possiamo:
- gestire agenti remoti e distribuire compiti a loro
- ricevere frame di dati dagli agenti remoti
- gestire i dati ricevuti, salvarli o visualizzarli sul grafico
Lo screenshot sopra mostra che l'EA master visualizza con successo la velocità della ricerca di forza bruta nella rete di calcolo.
Per attivare la modalità master, è necessario aggiungere il gestore OnTesterInit nell'EA, dove puoi leggere tutti i parametri di input, convertirli in un contatore lineare e ridefinire esplicitamente la modalità operativa di qualsiasi variabile di input. Il codice qui sotto mostra come convertire i parametri non numerici/non lineari in un contatore double, quindi impostare nuovi limiti e la modalità operativa del parametro numerico Counter:
void OnTesterInit() { double passes=0.0; //--- Calcola i limiti if(!ExtScanner.CalculatePasses(PasswordLengthFrom,PasswordLengthTo,BruteforceType,BruteforceCharacters,passes)) return; ParameterSetRange("Counter",true,0,0,1,1+long(passes/MIN_SCAN_PART)); }
Anche se il parametro Counter era inizialmente bloccato, successivamente è stato ridefinito come un contatore di lavoro attivo con limiti espliciti. Ciò significa che il tester lavorerà con questo particolare parametro.
Commento 0