
Marfil é uma extensão da suíte Aircrack-ng, usada para avaliar a segurança de redes WiFi. Permite dividir o trabalho de realizar ataques de dicionário de longa duração entre vários computadores.
Marfil é uma extensão do conjunto Aircrack-ng, usado para avaliar a segurança de redes WiFi. Ele permite dividir o trabalho de executar ataques de dicionário de longa duração entre muitos computadores.
O conjunto Aircrack-ng fornece a ferramenta aircrack-ng, que é um programa de cracking de chaves 802.11 WEP e WPA/WPA2-PSK. Ao crackear este último, um dicionário ou lista de palavras deve ser usado. Quanto maiores esses dicionários, mais tempo o processo leva. Dependendo do seu hardware, pode levar dias ou semanas.
Se você tiver algum hardware adicional à sua disposição, o aircrack-ng não permite distribuir a carga entre eles: você precisa escolher o mais rápido e ficar com ele. É exatamente aí que o Marfil entra em ação.
Marfil é uma ferramenta baseada em PHP que distribui a carga de cracking entre diferentes nós. A abordagem seguida é consideravelmente simples: em vez de usar apenas um nó para crackear um arquivo .cap usando um dicionário grande, ele divide o dicionário e o distribui entre os demais nós. O processo de alto nível funciona assim:
.cap e o BSSID da rede alvo).cap e BSSID junto com uma parte do dicionário.cap é processado contra todas as partes de um dicionário sem sucesso, ou a senha é encontradaO processo se repete. Observe que o primeiro passo só é necessário na primeira vez ou sempre que os dicionários são atualizados. O nó servidor também pode funcionar como um nó cliente.
Marfil foi testado apenas no Linux até agora. No entanto, a abordagem seguida e as ferramentas utilizadas são consideravelmente independentes de plataforma, portanto deve funcionar também no Windows ou Mac.
Baixe o arquivo mais atualizado na seção de releases
Descompacte-o em todos os seus nós (servidor e clientes)
Instale o PHP5 e o conjunto aircrack-ng em todos os clientes
No Debian Linux, você pode fazer isso executando este comando:
sudo apt-get install php5 aircrack-ng
Instale o módulo SQLite para PHP5 no servidor
No Debian Linux, você pode fazer isso executando este comando:
sudo apt-get install php5-sqlite
No nó servidor, inicie um servidor web definindo a raiz como o diretório public no diretório do Marfil
Usando o servidor web embutido do PHP, isso pode ser feito executando o seguinte comando no diretório do Marfil:
php -S 0.0.0.0:8080 -t public
Você pode testar se funcionou acessando http://localhost:8080 em um navegador no seu nó servidor e ver uma lista vazia de solicitações de cracking
Certifique-se de que você pode acessar o servidor web a partir de seus clientes acessando http://YOUR_SERVER_IP_ADDRESS:8080 em um navegador web a partir de seus clientes
Coloque os dicionários no diretório storage/app/dictionaries. Pesquise na web por listas de palavras, se não tiver nenhuma
Execute este comando no diretório do Marfil para dividir os dicionários em partes e preparar o banco de dados de dicionários (dependendo do tamanho dos dicionários, pode levar um tempo):
Para adicionar solicitações de cracking, é necessário um arquivo .cap com o handshake WPA e o BSSID da rede alvo. Isso pode ser feito através da interface do servidor web ou executando o seguinte comando no diretório do Marfil de qualquer nó:
php artisan marfil:crack YOUR_SERVER_IP_ADDRESS:8080 path/to/file.cap 01:23:45:67:89:AB
Qualquer solicitação de cracking gerada com sucesso pode ser exibida na interface do servidor web
Qualquer um dos nós pode ser usado como cliente trabalhador. Para fazer isso, basta executar o seguinte comando no diretório do Marfil:
php artisan marfil:work YOUR_SERVER_IP_ADDRESS:8080
Este comando fará com que o cliente solicite trabalho a cada 60 segundos. Quando o servidor responder com trabalho, o cliente baixará os arquivos necessários e tentará crackear o arquivo .cap.
O progresso pode ser acompanhado por meio da interface web
Se algum problema for encontrado, por favor, reporte-o fornecendo todas as informações necessárias para reproduzi-lo. Não fazer isso resultará no fechamento do ticket.
Algumas notas adicionais:
É possível monitorar os logs do servidor acompanhando o arquivo storage/logs/lumen.log
O banco de dados pode ser regenerado executando este comando:
php artisan migrate:refresh
php artisan marfil:refresh-dictionaries