
Uma ferramenta de linha de comando para detectar senhas compartilhadas.
Uma ferramenta de linha de comando para detectar senhas compartilhadas
Listar opções:
Shard (1.5) can run in 3 modes:
1) Single user single password - Use -u and -p
2) Single user multiple passwords - Use -u and -f
3) Multiple users and multple passwords - Use -f only
For more detailed usage examples see the wiki.
Usage: java -jar shard-1.5.jar [options]
-u, --username <value> Username to test
-p, --password <value> Password to test
-f, --file <value> A path to a file containing a set of credentials or passwords
--format <value> The format of the credentials. Must be a regular expression with 2 capture groups. The first capture group for the username and the second capture group for the password. Defaults to a regex that will match:
"username":"password"
-l, --list List available modules
-v, --version Print the version
--modules <value> Only run specific modules. A comma separated list
--help Prints this usage text
Listar módulos disponíveis:
$ java -jar shard.jar -l
Available modules:
Facebook
LinkedIn
Reddit
Twitter
Instagram
GitHub
BitBucket
Kijiji
DigitalOcean
Vimeo
Laposte
DailyMotion
Dado um nome de usuário e senha, o shard tentará autenticar em vários sites:
$ java -jar shard.jar -u username-here -p password-here
21:16:25.950 [+] Running in single credential mode
21:16:30.302 [+] username-here:password-here - Reddit, Instagram
Para testar várias credenciais, forneça um nome de arquivo. Por padrão, espera-se uma credencial por linha no formato "username":"password". Formatos personalizados podem ser fornecidos com a opção --format:
$ java -jar shard.jar -f /tmp/creds.txt
21:16:39.501 [+] Running in multi-credential mode
21:16:39.516 [+] Parsed 2 credentials
21:16:42.794 [+] username1:password1 - Reddit, Instagram
21:16:45.189 [+] username2:password2 - Facebook, LinkedIn, Twitter
Obtenha a versão mais recente na aba de releases, que foi construída como um fat jar usando sbt assembly.
ou
Construa você mesmo usando sbt, sbt assembly
Adicionar um novo módulo é fácil. Crie uma nova classe que herde de AbstractModule no pacote de módulos e adicione o módulo ao ModuleFactory.
O AbstractModule tem um método abstrato:
def tryLogin(creds: Credentials): Boolean
Este método recebe um objeto Credentials e retorna um booleano indicando um login bem-sucedido. Recomendo usar o TwitterModule como modelo. Para uma explicação aprofundada sobre como adicionar um novo módulo, veja o exemplo na wiki
Dependências:
Se Scala não é para você, confira as secondary_implementations, são reescritas do shard em outras linguagens. Se você adicionar um módulo a uma dessas implementações, eu o reescreverei em Scala e também o adicionarei ao projeto principal.
Contate-me, entre na sala do Gitter ou use este projeto no GitHub
Gostou deste projeto? Considere doar para 1EpSQumsD2EFKnisJXjStsUVsXpF4ge8dj