Auditando senhas com John The Ripper
Senhas são a parte mais fraca de qualquer sistema de segurança, pois pessoas que não conhecem os riscos causados por senhas fracas são responsáveis por criar tais senhas. Auditar as senhas que seus usuários utilizam para acessar os servidores é necessário para se garantir o mínimo de segurança nesse quesito. Com uma ferramenta como o John The Ripper, isso fica muito fácil.
Parte 4: Configurando o JtR
Toda a configuração do John é feita em um arquivo texto chamado john.conf em sistemas Unix ou john.ini no Windows, por exemplo. Neste arquivo você consegue definir regras para a descoberta de senhas, wordlists, parâmetros para os modos e até definir um novo modo de descoberta de senhas.
Este arquivo é dividido em várias seções. Todas as seções começam com uma linha com seu nome entre colchetes ( [] ). As opções destas seções são definidas em variáveis de modo bem simples, como em:
variável = valor
Os nomes de seções e variáveis são case-insensitive, ou seja, SECAO1 e secao1 são a mesma seção e VAR1 e var1 são a mesma variável. Os caracteres # e ; são completamente ignorados, assim como linhas em branco.
Abaixo estão as explicações das opções dividas por seção:
Options:
Nesta seção ficam as regras default do software para a quebra das senhas. São regras como substituição de strings, escrita 1337 e outras. :)
List.Rules:Wordlist
Nesta seção ficam as regras de substituição de caracteres, modificações de palavras, etc quando se está usando uma wordlist para tentar quebrar as senhas do arquivo.
List.Rules:NT
Nesta seção ficam as regras utilizadas quando se está quebrando senhas cifradas utilizando o algoritmo NTLM (Windows).
Incremental*
Aqui ficam as regras para o tipo de quebra de senhas chamado Incremental (todos os "tipos" de tentativas de quebra de senha que o John utiliza serão explicados mais adiante neste documento).
List.External:*
São alguns filtros pré-definidos para substituição de palavras, eliminação de caracteres indesejados, etc.
Quando você tiver mais experiência com o JtR será bastante útil dar uma lida nessas seções para entender como ele funciona e ter um conhecimento melhor dos algoritmos.
Este arquivo é dividido em várias seções. Todas as seções começam com uma linha com seu nome entre colchetes ( [] ). As opções destas seções são definidas em variáveis de modo bem simples, como em:
variável = valor
Os nomes de seções e variáveis são case-insensitive, ou seja, SECAO1 e secao1 são a mesma seção e VAR1 e var1 são a mesma variável. Os caracteres # e ; são completamente ignorados, assim como linhas em branco.
Abaixo estão as explicações das opções dividas por seção:
Options:
- Wordlist: A wordlist a ser utilizada pelo JtR. O arquivo pode estar em qualquer lugar, basta especificar o caminho correto nessa variável;
- Idle: Configura o John para usar seu CPU quando este estiver inativo. Diminui o desempenho da quebra da senha porém não impacta tanto no desempenho de outros programas. O padrão desta opção é N (desabilitado);
- Save: Intervalo no qual o software irá gravar seu progresso para no caso de uma interrupção ele possa recomeçar novamente de onde havia parado;
- Beep: Emite um bip quando uma senha é quebrada.
Nesta seção ficam as regras default do software para a quebra das senhas. São regras como substituição de strings, escrita 1337 e outras. :)
List.Rules:Wordlist
Nesta seção ficam as regras de substituição de caracteres, modificações de palavras, etc quando se está usando uma wordlist para tentar quebrar as senhas do arquivo.
List.Rules:NT
Nesta seção ficam as regras utilizadas quando se está quebrando senhas cifradas utilizando o algoritmo NTLM (Windows).
Incremental*
Aqui ficam as regras para o tipo de quebra de senhas chamado Incremental (todos os "tipos" de tentativas de quebra de senha que o John utiliza serão explicados mais adiante neste documento).
List.External:*
São alguns filtros pré-definidos para substituição de palavras, eliminação de caracteres indesejados, etc.
Quando você tiver mais experiência com o JtR será bastante útil dar uma lida nessas seções para entender como ele funciona e ter um conhecimento melhor dos algoritmos.
Existem métodos para se quebrar senhas de usuários windows no padrão NTLMv1, inclusive comerciais, que conseguem quebrar uma senha de até 15 caracteres em no máximo 10 minutos.
Legal o artigo, parabéns :) nota 10.