Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
sc:quebra_de_senhas [2026/08/20 08:35] – mazierosc:quebra_de_senhas [2026/08/28 14:38] (atual) – maziero
Linha 1: Linha 1:
 +====== Quebra de senhas ======
 +
 +Esta atividade prática visa compreender o uso de uma ferramenta de quebra de senha através de ataques do dicionário e de força bruta.
 +
 +{{  :sc:xkcd-936.png?600  |https://xkcd.com/936/}}
 +
 +==== Usando o John the Ripper ====
 +
 +O software [[http://www.openwall.com/john/|John the Ripper]] (JtR) é um quebrador de senhas (//password cracker//) bastante popular, usado para quebrar senhas de sistemas operacionais, arquivos ZIP, PDF, etc.
 +
 +"John" possui vários modos de operação, apresentados a seguir.
 +
 +=== Modo single ===
 +
 +Testa variações das informações obtidas no próprio arquivo de senhas, como o nome completo do usuário e seu diretório de trabalho ($HOME). É o método mais simples e rápido para começar.
 +
 +<code>
 +john -single password-file
 +</code>
 +
 +=== Modo wordlist ===
 +
 +Testa palavras em uma lista e variações delas. Pode ser lento se a lista de palavras for muito grande.
 +
 +<code>
 +john -wordlist:wordfile password-file
 +</code>
 +
 +Na maioria das distribuições Linux, listas de palavras usadas pelos corretores ortográficos podem ser encontradas em ''/usr/share/dict''.
 +
 +Existe a possibilidade de aplicar também regras de transformação de palavras:
 +
 +<code>
 +john -wordlist:wordfile -rules password-file
 +</code>
 +
 +=== Modo incremental ===
 +
 +Este modo testa todas as variações possíveis de senha com até N caracteres, o que pode ser MUITO lento:
 +
 +<code>
 +john -incremental password-file
 +</code>
 +
 +Pode-se restringir a busca exaustiva a um subconjunto de caracteres, usando um MODE:
 +
 +<code>
 +john -incremental=MODE password-file
 +</code>
 +
 +Os modos mais usuais são:
 +
 +  * ASCII - caracteres imprimíveis (//default//)
 +  * Alnum - alfanuméricos
 +  * Digits - dígitos
 +  * Alpha - letras
 +  * Lower - letras minúsculas
 +  * Upper - letras maiúsculas
 +  * LowerNum, UpperNum - letras + dígitos
 +  * LowerSpace, UpperSpace - letras + espaço
 +
 +=== Outras opções ===
 +
 +Quando John encontra uma senha, ele a mostra no terminal e a salva em um arquivo. As senhas já encontradas podem ser visualizadas com o comando ''john -show''.
 +
 +John pode ser interrompido (^C) e depois retomado com ''john -restore''; ele continua de onde havia parado.
 +
 +
 +==== Atividade ====
 +
 +Antes de começar:
 +  * Nos terminais do DINF, John está instalado no diretório ''/home/soft/john''. Para incluí-lo em seu caminho de executáveis, use o comando a seguir no //shell//: <code>
 +export PATH=/home/soft/john/bin:${PATH}
 +</code>
 +
 +Em sala:
 +
 +  - Analise os arquivos de senhas disponibilizados pelo professor (em {{password_files.zip|}}).
 +    * O diretório ''/home/soft/john/wordlist'' contém listas de palavras em várias línguas. 
 +  - Extraia os hashes e quebre as senhas destes arquivos PDF protegidos:
 +    * {{segredo-moleza.pdf}}
 +    * {{segredo-maisoumenos.pdf}}
 +    * {{segredo-pedreira.pdf}}
 +    * Ferramentas para extrair o hash de PDFs: ''pdf2john.pl'' e ''pdf2john.py'' (do //John the Ripper//) ou [[https://www.onlinehashcrack.com/tools-pdf-hash-extractor.php|este site]].
 +  - Identifique um site com tabelas //hash// pré-computadas e tente quebrar alguns dos hashes dos arquivos fornecidos pelo professor. Sugestões:
 +    * https://crackstation.net
 +    * http://rainbowtables.it64.com
 +
 +Em casa (opcional):
 +
 +  - Extraia o arquivo de //hashes// de um sistema Windows, analise sua estrutura e tente quebrar suas senhas.
 +    * Sugestão: use os programas ''pwdump'' ou ''fgdump'' para extrair os //hashes// do Windows.
 +  - Identifique ferramentas similares disponíveis na Internet e experimente uma delas com os mesmos arquivos.
 +    * Sugestões: [[http://www.oxid.it/cain.html|Cain and Abel]], [[http://hashcat.net/oclhashcat/|HashCat]], [[http://ophcrack.sourceforge.net/|Ophcrack]].