O **John** é uma ferramenta de [[quebra de senhas]] via _brute force_, _dictionary attack_ e _incremental attack_. Ele suporta vários formatos de [[hash]], como **MD5, SHA1, NTLM, bcrypt**, entre outros. ## Exemplos de uso Crack simples com dicionário ```shell john --wordlist=rockyou.txt hash.txt ``` Ver senhas quebradas ```shell john --show hash.txt ``` Como quebrar de forma incremental: ```shell john --incremental hash.txt ``` ❗O modo incremental será explicado mais abaixo. Como visualizar os tipos de formatos suportados: ```shell john --list=formats ``` ### Modo Incremental O modo **`--incremental`** é uma forma de **força bruta** inteligente. Em vez de tentar _todas_ as combinações possíveis no universo aleatoriamente, o John tenta as senhas **mais prováveis primeiro**, com base em **estatísticas de senhas reais**. Ele usa um **algoritmo incremental** que prioriza combinações com **caracteres mais comuns**, com base em **frequência e padrões observados** (ex: "123", "abc", "qwe", etc). Por padrão, ele tenta: - Senhas de 1 até 8 caracteres (pode ser alterado) - Com todos os tipos de caracteres: letras minúsculas, maiúsculas, números e símbolos - Seguindo perfis como `All`, `Digits`, `Alpha`, etc ```shell john --incremental=Digits hash.txt ``` Visualizar perfis disponíveis: ```shell john --list=incremental-modes ```