
Sistema de fila e recursos para cracking de senhas
O CrackLord é um sistema projetado para fornecer um sistema escalável, plugável e distribuído tanto para quebra de senhas quanto para outros trabalhos que necessitem de muitos recursos computacionais. Melhor dizendo, o CrackLord é uma forma de balancear a carga de recursos, como CPU, GPU, Rede, etc., de múltiplos sistemas de hardware em um único serviço de fila através de dois serviços primários: o Recurso e a Fila. Ele não tornará essas tarefas mais rápidas, mas tornará mais fácil gerenciá-las.
Há três componentes principais no CrackLord, como mostrado na imagem acima:
Temos um conjunto de pacotes criados para cada lançamento que fazemos. Se você quiser apenas usá-los, pode fazê-lo simplesmente seguindo as instruções aqui.
Se você quiser compilar a partir do código-fonte, primeiro será necessário ter um ambiente de compilação Go funcionando com o GOPATH configurado. Além disso, você provavelmente vai querer Git e Mercurial configurados para obter as várias bibliotecas e plugins que usamos no código.
Primeiro, você precisa obter o cracklord em si.
go get github.com/jmmcatee/cracklord
Em seguida, precisamos baixar todas as dependências para o daemon de recurso e o daemon de fila.
go get github.com/jmmcatee/cracklord/cmd/queued
go get github.com/jmmcatee/cracklord/cmd/resourced
Agora podemos compilar o daemon de fila e o daemon de recurso
go build github.com/jmmcatee/cracklord/cmd/queued
go build github.com/jmmcatee/cracklord/cmd/resourced
Finalmente, podemos executar tanto o daemon de recurso quanto o daemon de fila, que estarão nos diretórios cmd/queued e cmd/resourced. Você também precisará configurar os vários arquivos de configuração; informações para isso podem ser encontradas em nosso wiki.
Provavelmente, a maneira mais fácil de se envolver é escrever um novo plugin de ferramenta. Se você tem ferramentas que usa como parte de testes, pesquisa ou trabalho e gostaria que elas fossem integradas, você pode escrever uma nova ferramenta muito facilmente e nos enviar um pull request. Garantiremos que seja integrada o mais rápido possível. No diretório de plugins, criamos uma ferramenta vazia para fornecer orientação e ajuda. Se você também tem uma maneira interessante de interagir com recursos, também pode escrever um plugin de gerenciador de recursos, talvez para um serviço em nuvem que ainda não suportamos ou alguma nova forma de realizar o trabalho.
Devido à maneira como a linguagem Go funciona, temos que compilar todas as ferramentas, então se você fizer algo que gostaria de compartilhar, por favor nos envie um pull request e testaremos e disponibilizaremos para todos usarem.
Temos uma API padrão que o daemon de fila publica para acesso. Nós fomos em frente e escrevemos uma GUI web padrão que também usa a mesma API. Isso não significa que você não possa fazer uma melhor! Também estamos pensando em escrever alguns scripts para automatizar tarefas comuns em nosso fluxo de trabalho. Se você acabou fazendo-os, envie-nos links ou um pull request e garantiremos que encontrem um lugar / daremos um destaque!
Estamos trabalhando duro para manter a documentação atualizada com tudo o que estamos fazendo, mas sempre há espaço para um tutorial, um guia ou um exemplo, e adoraríamos qualquer ajuda que você puder fornecer nesses aspectos. Vá até nosso wiki e veja o que precisa ser corrigido ou adicionado!
Claro, não há nada que impeça você de trabalhar nos próprios daemons de fila e recurso do CrackLord. Temos nossa lista de issues e qualquer ajuda para corrigi-las será muito apreciada.