
Marfil es una extensión del conjunto Aircrack-ng, utilizada para evaluar la seguridad de redes WiFi. Permite dividir el trabajo de realizar ataques de diccionario de larga duración entre muchos ordenadores.
Marfil es una extensión del conjunto Aircrack-ng, utilizado para evaluar la seguridad de redes WiFi. Permite dividir el trabajo de realizar ataques de diccionario de larga duración entre muchas computadoras.
El conjunto Aircrack-ng proporciona la herramienta aircrack-ng, que es un programa de cracking de claves 802.11 WEP y WPA/WPA2-PSK. Al crackear este último, se debe utilizar un diccionario o lista de palabras. Cuanto más largos sean estos diccionarios, más tiempo tomará el proceso. Dependiendo de tu hardware, podría incluso llevar días o semanas.
Si tienes hardware adicional a tu disposición, aircrack-ng no te permite distribuir la carga entre ellos: tienes que elegir el más rápido y limitarte a él. Aquí es exactamente donde entra Marfil.
Marfil es una herramienta basada en PHP que distribuye la carga de cracking entre diferentes nodos. El enfoque seguido es considerablemente simple: en lugar de usar un solo nodo para crackear un archivo .cap usando un diccionario grande, divide el diccionario y lo distribuye entre los demás nodos. El proceso de alto nivel es el siguiente:
.cap y el BSSID de la red objetivo).cap y el BSSID junto con una parte del diccionario.cap se procesa contra todas las partes de un diccionario sin éxito o se encuentra la contraseñaEl proceso se repite. Ten en cuenta que el primer paso solo es necesario la primera vez o cuando se actualizan los diccionarios. El nodo servidor también puede funcionar como nodo cliente.
Marfil solo ha sido probado en Linux hasta ahora. Sin embargo, el enfoque seguido y las herramientas utilizadas son considerablemente independientes de la plataforma, por lo que también debería funcionar en Windows o Mac.
Descarga el archivo más actualizado en la sección de lanzamientos
Descomprime en todos tus nodos (servidor y clientes)
Instala PHP5 y el conjunto aircrack-ng en todos los clientes
En Debian Linux puedes hacerlo ejecutando este comando:
sudo apt-get install php5 aircrack-ng
Instala el módulo SQLite para PHP5 en el servidor
En Debian Linux puedes hacerlo ejecutando este comando:
sudo apt-get install php5-sqlite
En el nodo servidor, inicia un servidor web estableciendo la raíz como el directorio public en el directorio de Marfil
Usando el servidor web integrado de PHP, esto se puede hacer ejecutando el siguiente comando en el directorio de Marfil:
php -S 0.0.0.0:8080 -t public
Puedes probar que funcionó accediendo a http://localhost:8080 en un navegador en tu nodo servidor y ver una lista vacía de solicitudes de cracking
Asegúrate de poder acceder al servidor web desde tus clientes accediendo a http://YOUR_SERVER_IP_ADDRESS:8080 en un navegador web desde tus clientes
Coloca los diccionarios en el directorio storage/app/dictionaries. Busca en la web listas de palabras, si no tienes ninguna
Ejecuta este comando en el directorio de Marfil para dividir los diccionarios en partes y preparar la base de datos de diccionarios (dependiendo del tamaño de los diccionarios, podría tomar un tiempo):
Para añadir solicitudes de cracking, se necesita un archivo .cap con el handshake WPA y el BSSID de la red objetivo. Esto se puede hacer a través de la interfaz del servidor web o ejecutando el siguiente comando en el directorio de Marfil de cualquier nodo:
php artisan marfil:crack YOUR_SERVER_IP_ADDRESS:8080 path/to/file.cap 01:23:45:67:89:AB
Cualquier solicitud de cracking generada con éxito se puede mostrar en la interfaz del servidor web
Cualquier nodo se puede utilizar como cliente trabajador. Para hacerlo, simplemente ejecuta el siguiente comando en el directorio de Marfil:
php artisan marfil:work YOUR_SERVER_IP_ADDRESS:8080
Este comando hará que el cliente solicite trabajo cada 60 segundos. Cuando el servidor responda con trabajo, el cliente descargará los archivos necesarios e intentará crackear el archivo .cap.
El progreso se puede seguir mediante la interfaz web
Si se encuentra algún problema, por favor, repórtalo proporcionando toda la información necesaria para reproducirlo. No hacerlo resultará en el cierre del ticket.
Algunas notas adicionales:
Es posible ver los registros del servidor monitoreando el archivo storage/logs/lumen.log
La base de datos se puede regenerar ejecutando este comando:
php artisan migrate:refresh
php artisan marfil:refresh-dictionaries