
John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
Esta é a versão "jumbo" aprimorada pela comunidade do John the Ripper. Ela contém muito código, documentação e dados contribuídos por desenvolvedores jumbo e pela comunidade de usuários. É fácil adicionar novos códigos ao jumbo, e os requisitos de qualidade são baixos, embora ultimamente tenhamos começado a submeter todas as contribuições a uma quantidade considerável de testes automatizados. Isso significa que você obtém muita funcionalidade que não é necessariamente "madura", o que, por sua vez, implica que erros nesse código são esperados.
A página inicial do John the Ripper é:
https://www.openwall.com/john/
Se você tiver algum comentário sobre esta versão ou sobre o JtR em geral, por favor junte-se à lista de e-mails john-users e poste lá:
https://www.openwall.com/lists/john-users/
Para contribuições ao John the Ripper jumbo, use pull requests no GitHub:
https://github.com/openwall/john/blob/bleeding-jumbo/CONTRIBUTING.md
Abaixo está incluída a documentação básica do John the Ripper core.
O John the Ripper é um quebrador de senhas rápido, atualmente disponível para muitas variantes do Unix, macOS, Windows, DOS, BeOS e OpenVMS (este último requer um patch contribuído). Seu objetivo principal é detectar senhas fracas do Unix. Além de vários tipos de hash de senha crypt(3) mais comumente encontrados em várias variantes do Unix, são suportados nativamente hashes Kerberos/AFS e Windows LM, bem como tripcodes baseados em DES, além de centenas de hashes e cifras adicionais nas versões "-jumbo".
Consulte INSTALL para informações sobre como instalar o John no seu sistema.
Para executar o John, você precisa fornecer a ele alguns arquivos de senha e opcionalmente especificar um modo de quebra, assim, usando a ordem padrão de modos e assumindo que "passwd" é uma cópia do seu arquivo de senha:
john passwd
ou, para restringir apenas ao modo wordlist, mas permitindo o uso de regras de manipulação de palavras:
john --wordlist=password.lst --rules passwd
As senhas quebradas serão exibidas no terminal e salvas no arquivo chamado $JOHN/john.pot (na documentação e no arquivo de configuração do John, "$JOHN" refere-se ao "diretório inicial" do John; qual diretório realmente é depende de como você instalou o John). O arquivo $JOHN/john.pot também é usado para não carregar hashes de senha que você já quebrou quando executar o John novamente.
Para recuperar as senhas quebradas, execute:
john --show passwd
Durante a quebra, você pode pressionar qualquer tecla para obter o status, ou 'q' ou Ctrl-C para abortar a sessão salvando seu estado em um arquivo ($JOHN/john.rec por padrão). Se você pressionar Ctrl-C uma segunda vez antes que John tenha a oportunidade de concluir o tratamento do primeiro Ctrl-C, o John será abortado imediatamente sem salvar. Por padrão, o estado também é salvo a cada 10 minutos para permitir a recuperação em caso de falha.
Para continuar uma sessão interrompida, execute:
john --restore
Estas são apenas as coisas mais essenciais que você pode fazer com o John. Para uma lista completa de opções de linha de comando e exemplos de uso mais complexos, consulte OPTIONS e EXAMPLES, respectivamente.
Por favor, observe que distribuições "binárias" (pré-compiladas) do John podem incluir executáveis alternativos em vez de apenas "john". Você pode precisar escolher o executável que melhor se adapta ao seu sistema, por exemplo, "john-omp" para aproveitar múltiplas CPUs e/ou núcleos de CPU.
O John the Ripper foi projetado para ser rico em recursos e rápido. Ele combina vários modos de quebra em um único programa e é totalmente configurável para suas necessidades específicas (você pode até definir um modo de quebra personalizado usando o compilador embutido que suporta um subconjunto de C). Além disso, o John está disponível para várias plataformas diferentes, o que permite usar o mesmo quebrador em qualquer lugar (você pode até continuar uma sessão de quebra iniciada em outra plataforma).
De fábrica, o John suporta (e detecta automaticamente) os seguintes tipos de hash crypt(3) do Unix: tradicional baseado em DES, "bigcrypt", BSDI extended baseado em DES, FreeBSD baseado em MD5 (também usado no Linux e no Cisco IOS), e OpenBSD baseado em Blowfish (agora também usado em algumas distribuições Linux e suportado por versões recentes do Solaris). Também são suportados nativamente hashes Kerberos/AFS e Windows LM (baseados em DES), bem como tripcodes baseados em DES.
Ao executar em distribuições Linux com glibc 2.7+, o John 1.7.6+ suporta adicionalmente (e detecta automaticamente) hashes SHA-crypt (que são realmente usados por versões recentes do Fedora e Ubuntu), com paralelização OpenMP opcional (requer GCC 4.2+, precisa ser explicitamente ativado em tempo de compilação descomentando a linha OMPFLAGS apropriada perto do início do Makefile).
Da mesma forma, ao executar em versões recentes do Solaris, o John 1.7.6+ suporta e detecta automaticamente hashes SHA-crypt e SunMD5, também com paralelização OpenMP opcional (requer GCC 4.2+ ou Sun Studio recente, precisa ser explicitamente ativado em tempo de compilação descomentando a linha OMPFLAGS apropriada perto do início do Makefile e em tempo de execução definindo a variável de ambiente OMP_NUM_THREADS para o número desejado de threads).
As versões "-jumbo" adicionam suporte a centenas de tipos adicionais de hashes e cifras, incluindo implementações internas rápidas de SHA-crypt e SunMD5, hashes de senha Windows NTLM (baseados em MD4), vários hashes de senha de usuário do macOS e Mac OS X, hashes rápidos como MD5 bruto, SHA-1, SHA-256 e SHA-512 (que muitos "aplicativos web" historicamente usam indevidamente para senhas), vários outros hashes de senha de "aplicativos web", vários hashes de senha de servidores SQL e LDAP, e muitos outros tipos de hash, bem como muitos não-hashes, como chaves privadas SSH, arquivos S/Key skeykeys, TGTs Kerberos, sistemas de arquivos criptografados como arquivos .dmg do macOS e "sparse bundles", arquivos compactados criptografados como ZIP (PKZIP clássico e WinZip/AES), RAR e 7z, arquivos de documento criptografados como PDF e Microsoft Office - e estes são apenas alguns exemplos. Para carregar alguns desses arquivos maiores para quebra, um programa *2john correspondente deve ser usado primeiro, e então sua saída fornecida ao JtR -jumbo.
Há uma GUI oficial para o John the Ripper: Johnny.
Apesar do fato de que Johnny é orientado ao núcleo do JtR, espera-se que toda a funcionalidade básica funcione em todas as versões, incluindo a jumbo.
Johnny é um programa separado, portanto você precisa ter o John the Ripper instalado para usá-lo.
Mais informações sobre o Johnny e suas versões estão na wiki:
https://openwall.info/wiki/john/johnny
O restante da documentação está localizado em arquivos separados, listados aqui na ordem recomendada de leitura:
(*) a maioria dos usuários pode pular estes com segurança.
Há muitos arquivos de documentação adicionais no diretório "doc" do jumbo, que você também vai querer explorar.
Boa leitura!