
Marfil è un'estensione della suite Aircrack-ng, utilizzata per valutare la sicurezza delle reti WiFi. Permette di suddividere il lavoro di esecuzione di attacchi dizionario di lunga durata tra molti computer.
Marfil è un'estensione della suite Aircrack-ng, utilizzata per valutare la sicurezza delle reti WiFi. Permette di suddividere il lavoro di esecuzione di attacchi con dizionario di lunga durata tra molti computer.
La suite Aircrack-ng fornisce lo strumento aircrack-ng, che è un programma per il cracking delle chiavi 802.11 WEP e WPA/WPA2-PSK. Quando si esegue il cracking di queste ultime, è necessario utilizzare un dizionario o una word list. Più lunghi sono questi dizionari, più tempo richiede il processo. A seconda dell'hardware, potrebbe richiedere giorni o settimane.
Se disponi di hardware aggiuntivo, aircrack-ng non ti consente di distribuire il carico tra di essi: devi scegliere il più veloce e usare solo quello. È qui che entra in gioco Marfil.
Marfil è uno strumento basato su PHP che distribuisce il carico di cracking tra diversi nodi. L'approccio seguito è piuttosto semplice: invece di utilizzare un solo nodo per crackare un file .cap usando un grande dizionario, suddivide il dizionario e lo distribuisce tra gli altri nodi. Il processo ad alto livello è il seguente:
.cap e il BSSID della rete di destinazione).cap e il BSSID insieme a una parte del dizionario.cap viene elaborato rispetto a tutte le parti di un dizionario senza successo, oppure la password viene trovataIl processo si ripete. Si noti che il primo passaggio è necessario solo la prima volta o quando i dizionari vengono aggiornati. Il nodo server può anche funzionare come nodo client.
Marfil è stato testato solo su Linux finora. Tuttavia, l'approccio seguito e gli strumenti utilizzati sono considerevolmente indipendenti dalla piattaforma, quindi dovrebbe funzionare anche su Windows o Mac.
Scarica il file più aggiornato dalla sezione release
Decomprimilo in tutti i tuoi nodi (server e client)
Installa PHP5 e la suite aircrack-ng su tutti i client
Su Debian Linux puoi farlo eseguendo questo comando:
sudo apt-get install php5 aircrack-ng
Installa il modulo SQLite per PHP5 sul server
Su Debian Linux puoi farlo eseguendo questo comando:
sudo apt-get install php5-sqlite
Sul nodo server, avvia un server web impostando la root come directory public nella directory di Marfil
Usando il server web integrato di PHP, puoi farlo eseguendo il seguente comando nella directory di Marfil:
php -S 0.0.0.0:8080 -t public
Puoi verificare che funzioni accedendo a http://localhost:8080 in un browser sul nodo server e vedere un elenco vuoto di richieste di cracking
Assicurati di poter accedere al server web dai tuoi client accedendo a http://YOUR_SERVER_IP_ADDRESS:8080 in un browser web dai tuoi client
Posiziona i dizionari nella directory storage/app/dictionaries. Cerca word list sul web, se non ne hai
Esegui questo comando nella directory di Marfil per suddividere i dizionari in parti e preparare il database dei dizionari (a seconda della dimensione dei dizionari, potrebbe volerci un po'):
php artisan marfil:refresh-dictionaries
Per aggiungere richieste di cracking, è necessario un file .cap con l'handshake WPA e il BSSID della rete di destinazione. Questo può essere fatto tramite l'interfaccia del server web o eseguendo il seguente comando nella directory di Marfil di qualsiasi nodo:
php artisan marfil:crack YOUR_SERVER_IP_ADDRESS:8080 path/to/file.cap 01:23:45:67:89:AB
Qualsiasi richiesta di cracking generata con successo può essere visualizzata nell'interfaccia del server web
Qualsiasi nodo può essere utilizzato come client worker. Per farlo, basta eseguire il seguente comando nella directory di Marfil:
php artisan marfil:work YOUR_SERVER_IP_ADDRESS:8080
Questo comando farà sì che il client chieda lavoro ogni 60 secondi. Quando il server risponde con del lavoro, il client scaricherà i file necessari e proverà a crackare il file .cap.
L'avanzamento può essere monitorato tramite l'interfaccia web
Se viene trovato un problema, segnalalo fornendo tutte le informazioni necessarie per riprodurlo. In caso contrario, il ticket verrà chiuso.
Alcune note aggiuntive:
È possibile visualizzare i log del server monitorando il file storage/logs/lumen.log
Il database può essere rigenerato eseguendo questo comando:
php artisan migrate:refresh