
Sistema distribuído de quebra de senhas por força bruta que paraleliza ataques baseados em dicionário e crunch em várias máquinas por meio de clientes web e desktop.
Aviso
Estou revisando o código do Kraken-Client e, como este foi meu primeiro aplicativo React, ele está antigo, desajeitado e precisa de grandes melhorias (o servidor também precisa de alguns ajustes). Nas próximas semanas/meses, farei o possível para reescrevê-lo em React atualizado ou em outro framework. Fique à vontade para continuar usando-o como está. Se tiver algum problema, continue abrindo issues e fornecendo feedback. Obrigado!
Kraken é uma ferramenta online distribuída de quebra de senhas por força bruta. Ela permite paralelizar dicionários e a geração de palavras baseada no crunch em várias máquinas, tanto como aplicativo web em um navegador quanto como cliente standalone baseado em Electron. Kraken visa ser fácil de usar, tolerante a falhas e escalável.
Escrevi o Kraken porque queria aprender mais sobre segurança ofensiva e criar uma solução fácil para superar a limitação de usar um único dispositivo ao tentar distribuir cargas de trabalho de força bruta.
Kraken é uma aplicação dockerizada usando docker-compose, que iniciará o banco de dados (Postgres), o armazenamento de arquivos compatível com S3 (Minio), o servidor e o cliente de navegador. Você pode encontrar o arquivo docker-compose no diretório raiz do repositório. Pode implantá-lo usando o seguinte comando:
docker-compose up
O Cliente de Navegador do Kraken deve estar acessível em:
Nota: Para executar o Cliente de Navegador de uma máquina remota, você DEVE usar HTTPS tanto para a URL do servidor quanto para a URL do navegador. Ex.: Se você estiver hospedando o servidor em 192.168.1.2, o cliente de navegador estará disponível em https://192.168.1.2:8443 e a URL do servidor deve ser https://192.168.1.2:8443/api
Para fazer upload de listas de senhas ou dicionários, faça upload para o Console Minio em <a href=http://localhost:9001>localhost:9001. Veja os passos abaixo para um guia detalhado. Caso contrário, você pode gerar listas de palavras dinamicamente usando o crunch. Veja as opções do crunch e como usá-las aqui: página man do crunch
O servidor do Kraken roda em <a href=http://localhost:5000>localhost:5000 e também hospeda a documentação Swagger em <a href=http://localhost:5000/swagger>localhost:5000/swagger.
O cliente de desktop é um aplicativo portátil baseado em Electron e pode ser executado no Mac, Windows e Linux. Devido às permissões sensíveis necessárias para funcionar, é altamente recomendável que você mesmo o compile clonando o repositório e usando:
cd kraken-client
npm install
npm run electron-start
Nota: O executável portátil do Windows precisa ser executado na pasta com suas dependências do hashcat. Os arquivos do hashcat podem ser baixados da página inicial ou aqui. Incluí um arquivo zip compactado com o executável portátil e os arquivos necessários do hashcat. Eles podem ser baixados:
Os lançamentos incluem um AppImage para Linux que requer apenas a instalação do hashcat.
Instale o hashcat:
sudo apt-get install hashcat
Você precisará dar permissão ao AppImage para executar através das propriedades.
Para adicionar suas listas de palavras ao Minio, siga estes passos:





Este guia está em andamento, mas fique à vontade para abrir uma issue ou entrar em contato comigo para qualquer ajuda necessária.