
Marfil est une extension de la suite Aircrack-ng, utilisée pour évaluer la sécurité des réseaux WiFi. Elle permet de répartir le travail d'exécution d'attaques par dictionnaire de longue durée entre plusieurs ordinateurs.
Marfil est une extension de la suite Aircrack-ng, utilisée pour évaluer la sécurité des réseaux WiFi. Elle permet de répartir le travail d'exécution d'attaques par dictionnaire de longue durée entre plusieurs ordinateurs.
La suite Aircrack-ng fournit l'outil aircrack-ng, qui est un programme de craquage de clés 802.11 WEP et WPA/WPA2-PSK. Lors du craquage de ce dernier, un dictionnaire ou une liste de mots doit être utilisé. Plus ces dictionnaires sont longs, plus le processus prend du temps. Selon votre matériel, cela peut même prendre des jours ou des semaines.
Si vous avez du matériel supplémentaire à votre disposition, aircrack-ng ne vous permet pas de répartir la charge entre eux : vous devez choisir le plus rapide et vous y tenir. C'est exactement là que Marfil entre en jeu.
Marfil est un outil basé sur PHP qui répartit la charge de craquage entre différents nœuds. L'approche suivie est considérablement simple : au lieu d'utiliser un seul nœud pour casser un fichier .cap avec un gros dictionnaire, il divise le dictionnaire et le distribue parmi les autres nœuds. Le processus de haut niveau se déroule comme suit :
.cap et le BSSID du réseau cible).cap et un BSSID ainsi qu'un morceau de dictionnaire.cap est traité avec toutes les parties d'un dictionnaire sans succès, soit le mot de passe est trouvéLe processus se répète. Notez que la première étape n'est nécessaire que la première fois ou lorsque les dictionnaires sont mis à jour. Le nœud serveur peut également fonctionner comme un nœud client.
Marfil n'a été testé que sur Linux jusqu'à présent. Cependant, l'approche suivie et les outils utilisés sont considérablement indépendants de la plate-forme, donc il devrait également fonctionner sur Windows ou Mac.
Téléchargez le fichier le plus récent dans la section des versions
Décompressez-le sur tous vos nœuds (serveur et clients)
Installez PHP5 et la suite aircrack-ng sur tous les clients
Sur Debian Linux, vous pouvez le faire en exécutant cette commande :
sudo apt-get install php5 aircrack-ng
Installez le module SQLite pour PHP5 sur le serveur
Sur Debian Linux, vous pouvez le faire en exécutant cette commande :
sudo apt-get install php5-sqlite
Sur le nœud serveur, démarrez un serveur web en définissant la racine comme le répertoire public dans le répertoire Marfil
En utilisant le serveur web intégré de PHP, cela peut être fait en exécutant la commande suivante dans le répertoire Marfil :
php -S 0.0.0.0:8080 -t public
Vous pouvez tester que cela a fonctionné en accédant à http://localhost:8080 dans un navigateur sur votre nœud serveur et voir une liste vide de demandes de craquage
Assurez-vous de pouvoir accéder au serveur web depuis vos clients en accédant à http://YOUR_SERVER_IP_ADDRESS:8080 dans un navigateur web depuis vos clients
Placez les dictionnaires dans le répertoire storage/app/dictionaries. Recherchez sur le web des listes de mots, si vous n'en avez pas
Exécutez cette commande dans le répertoire Marfil pour diviser les dictionnaires en morceaux et préparer la base de données des dictionnaires (selon la taille des dictionnaires, cela peut prendre un certain temps) :
Pour ajouter des demandes de craquage, un fichier .cap avec la poignée de main WPA et le BSSID du réseau cible est nécessaire. Cela peut être fait soit via l'interface du serveur web, soit en exécutant la commande suivante dans le répertoire Marfil de n'importe quel nœud :
php artisan marfil:crack YOUR_SERVER_IP_ADDRESS:8080 path/to/file.cap 01:23:45:67:89:AB
Toute demande de craquage générée avec succès peut être affichée dans l'interface du serveur web
N'importe quel nœud peut être utilisé comme client worker. Pour ce faire, exécutez simplement la commande suivante dans le répertoire Marfil :
php artisan marfil:work YOUR_SERVER_IP_ADDRESS:8080
Cette commande fera en sorte que le client demande du travail toutes les 60 secondes. Lorsque le serveur répond avec du travail, le client téléchargera les fichiers nécessaires et essaiera de casser le fichier .cap.
La progression peut être suivie via l'interface web
Si un problème est trouvé, veuillez le signaler en fournissant toutes les informations nécessaires pour le reproduire. Le non-respect de cette consigne entraînera la fermeture du ticket.
Quelques notes supplémentaires :
Il est possible de surveiller les logs du serveur en consultant le fichier storage/logs/lumen.log
La base de données peut être régénérée en exécutant cette commande :
php artisan migrate:refresh
php artisan marfil:refresh-dictionaries