John the Ripper - Usage Examples


Estes exemplos são para lhe dar algumas dicas sobre o que características de João podem ser usados ​​para.

Linha de comando.

1. Primeiro, você precisa obter uma cópia do seu arquivo de senha. Se o seu sistema usa senhas shadow, você pode usar a utilidade "unshadow" de João para obter o arquivo de senha tradicional Unix, como root:
  umask 077
  unshadow / etc / passwd / etc / shadow> mypasswd
(Você pode precisar de substituir os nomes de arquivo conforme necessário.)
Então faça "MyPassWd" disponível para sua conta de usuário não-raiz que você vai correr sob John. Não há mais comandos precisarão ser executados como root.
Se o seu sistema é antigo o suficiente para que ele mantém senhas direita na leitura para todos / etc / passwd, basta fazer uma cópia desse arquivo.
Se você estiver indo para ser rachaduras senhas Kerberos do AFS, use utilitário "unafs" de João para obter um arquivo de passwd-like.
Da mesma forma, se você estiver indo para ser rachaduras senhas do Windows, use qualquer um dos muitos utilitários que despejam os hashes de senha do Windows (LM e / ou NTLM) em formato de saída pwdump de Jeremy Allison. Algumas destas utilidades aqui podem ser obtidos:
  http://www.openwall.com/passwords/pwdump
2. Agora, vamos supor que você tem um arquivo de senhas, "mypasswd", e querem quebrá-la. A maneira mais simples é deixar John usar sua ordem padrão de modos de cracking:
  john mypasswd
Isso vai tentar o modo "single crack" em primeiro lugar, em seguida, usar uma lista de palavras com as regras e, finalmente, ir para o modo "incrementais". Por favor, consulte MODOS para mais informações sobre esses modos.
É altamente recomendável que você obtenha uma lista de palavras maiores do que password.lst padrão de John e editar a linha "Wordlist = ..." no arquivo de configuração (ver CONFIG) antes de executar John. Alguns listas de palavras pode ser obtido aqui:
  http://www.openwall.com/wordlists/
Daqueles disponíveis na coleção no URL acima, all.lst (disponível para download como all.gz) e huge.lst (apenas disponível no CD) são bons candidatos para a definição "Wordlist = ...".
3. Se você tem algumas senhas rachado, eles são armazenados em $ JOHN / john.pot. O arquivo john.pot não pretende ser humano-friendly. Você deve estar usando o próprio John para exibir o conteúdo do seu "arquivo pot" em um formato conveniente:
  john --show mypasswd
Se a lista de conta se torna grande e não cabe na tela, você deve, é claro, usar redirecionamento de saída do seu shell.
Você pode notar que muitas contas têm uma concha desativado. Você pode fazer John ignorar aqueles no relatório. Assumindo que o shell deficientes é chamado de "/ etc / expirou", o comando seria:
  john --show --shells = - / etc / mypasswd expirada
ou mais curto, mas também irá corresponder "/ algum / caminho / expirado":
  john --show --shells = -expired mypasswd
ou se você também deseja ignorar alguma outra shell, diga "/ etc / newuser":
  john --show --shells = -expired, newuser mypasswd
Para verificar se alguma raiz (UID 0) contas ficou rachada:
  john --show --users = 0 mypasswd
ou para verificar se há rachado raiz (UID 0) contas em vários arquivos:
  john --show --users = 0 * * * passwd .pwd
Para exibir a raiz (nome de usuário "root") representam apenas:
  john --show --users = mypasswd raiz
E, finalmente, para verificar se há grupos privilegiados:
  john --show --groups = 0,1 mypasswd
4. Você pode preferir gerir os modos de craqueamento manualmente. É aconselhável começar com o modo de "single crack":
  john --single mypasswd
ou desde o estilo GNU dois hífens são opcionais e, desde nomes de opção pode ser abreviada pelo tempo que eles permanecem inequívoca:
  john -si mypasswd
Você não deve abreviar opções em roteiros que você gostaria de trabalhar com as futuras versões do John já que o que é inequívoca agora pode se tornar ambígua com a adição de mais opções.
Se você tiver mais arquivos de crack, é preferível para carregá-los ao mesmo tempo:
  john --single passwd1 passwd2
ou mesmo:
  john --single * * * passwd .pwd
Desta forma, John irá correr mais rápido e pode até quebrar senhas mais do que seria se você executou-lo em cada arquivo de senhas separadamente.
5. Para capturar senhas fracas não derivadas de informações pessoais dos usuários prontamente disponíveis, você deve proceder com modos de craqueamento exigindo mais tempo do processador. Em primeiro lugar, vamos tentar uma pequena lista de palavras com as regras de nomenclatura ter sido ativado palavra:
  john --wordlist = password.lst --Regras mypasswd
ou abreviar as opções:
  john -w = password.lst -ru mypasswd
Em seguida, avance com uma lista de palavras maiores, também aplicar as regras de nomenclatura ter sido:
  john --wordlist = all.lst --Regras mypasswd
Se você tem um monte de espaço em disco livre para trocar por desempenho e do tipo de hash de seus arquivos de senha é relativamente lenta, você pode usar a utilidade "único" de John para eliminar todas as senhas candidatos duplicados:
  john --wordlist = all.lst --Regras --stdout |  mangled.lst exclusivo
  john --wordlist = mangled.lst mypasswd
Se você sabe que seu alvo tipo de hash trunca senhas em um determinado comprimento, você pode otimizar ainda mais longe:
  john --wordlist = all.lst --Regras --stdout = 8 |  mangled8.lst exclusivo
  john --wordlist = mangled8.lst mypasswd
Alternativamente, você pode simplesmente usar huge.lst disponíveis no Openwall CDs de coleta lista de palavras. Tem regras de nomenclatura ter sido de palavras pré-aplicado para as línguas mais comuns e tem todas as duplicatas expurgados.
Dependendo alvo tipo de hash, o número de diferentes sais (se aplicável), o tamanho de sua lista de palavras, regras e desempenho do processador, craqueamento à base de lista de palavras pode levar de menos de um segundo para muitos dias.
Você não tem que deixar John rodando em um terminal (pseudo-). Se você estiver executando John em um sistema Unix-like, você pode simplesmente desligar o servidor, feche o seu xterm, etc. John vai pegar o SIGHUP (sinal de "desligamento") e continuar a executar. Alternativamente, você pode preferir para iniciá-lo em segundo plano de imediato:
  john --wordlist = all.lst --Regras mypasswd &
Obviamente, o "&" é específico para shells Unix e não vai funcionar na maioria das outras plataformas.
Você pode aumentar ainda mais este, especificando um nome de sessão:
  john --session = allrules --wordlist = all.lst --Regras mypasswd &
Isso garante que você não vai interferir acidentalmente com o exemplo de John executado em segundo plano se você prosseguir para iniciar outras sessões.
Para visualizar o status de uma sessão em execução, use:
  john --status
para a sessão default ou:
  john --status = allrules
para qualquer outra sessão. Isso funciona para ambas as sessões interrompidas e em execução. Para obter as informações mais up-to-date de uma sessão de corrida em um sistema Unix-like, enviar um SIGHUP para o adequado "john" do processo.
Quaisquer sessões interrompidas pode ser continuado com:
  john --restore
ou:
  john --restore = allrules
Finalmente, para fazer John ter menos impacto sobre outros processos, você deve definir a opção "Inativo = Y" no arquivo de configuração (ver CONFIG). O padrão pode variar dependendo da versão e compilação de JTR.
Para rachar única contas com um "bom" shell (em geral, a casca, usuário e filtros do grupo de trabalho acima descritas para todos os modos de craqueamento também):
  john --wordlist = all.lst --Regras --shells = sh, csh, tcsh, o bash mypasswd
Tal como com todos os outros modos de craqueamento, é mais rápido para quebrar todos os arquivos que você precisa, rachados simultaneamente:
  john --wordlist = all.lst --Regras passwd1 passwd2
Você pode rachar única algumas senhas. Isso vai tentar rachar tudo raiz (UID 0) contas em todos os arquivos de senha:
  john --wordlist = all.lst --Regras --users = 0 * passwd *
Alternativamente, você pode desejar para não perder tempo rachando suas próprias senhas, se você tem certeza que eles estão uncrackable:
  john --wordlist = all.lst --Regras --users = -root, solar * passwd *
Às vezes é útil para dividir sua senha hashes em dois conjuntos que você crack separadamente, como:
  john --wordlist = all.lst --Regras --salts = 2 * passwd *
  john --wordlist = all.lst --Regras --salts = -2 * passwd *
Isso fará com que John tentar sais utilizados em dois ou mais hashes de senha primeiro e depois tentar o resto. Tempo rachaduras total será quase o mesmo, mas você vai ter algumas senhas rachados mais cedo, o que é útil, por exemplo, para testes de penetração e demonstrações que o gerenciamento. Da mesma forma, você pode verificar todos os hashes de senha com uma pequena lista de palavras, mas apenas aqueles que você pode conferir mais rápido (com "-sais = 2") com um maior. Com um grande número de hashes de senha e / ou com uma distribuição altamente não-uniforme de sais, pode ser apropriado usar um limiar superior a 2 com "-sais" (às vezes até mesmo valores tão altos como 1000 vai fazer).
Note-se que as regras de listas de palavras padrão incluem ":" (a não-op - tentar palavras como eles estão na lista) na primeira linha. Se você já correu por uma lista de palavras sem o uso de regras, e então decidiu tentar também a mesma lista de palavras com as regras, é melhor você comentar esta linha fora.
6. O modo de craqueamento mais poderoso em João é chamado de "incrementais" (não um nome próprio, mas manteve por razões históricas). Você pode simplesmente executar:
  john --incremental mypasswd
ou:
  john -i mypasswd
Isto irá usar os parâmetros do modo padrão "incrementais", que são definidos na seção do arquivo de configuração chamado quer [Incremental: ASCII] (para a maioria dos tipos de hash) ou [Incremental: LM_ASCII] (para Windows hashes LM). Por padrão, o [Incremental: ASCII] parâmetros são definidos para usar o conjunto de caracteres ASCII imprimíveis completo (95 caracteres) e para tentar todos os comprimentos de senha possíveis, de 0 a 13 (se o tipo de hash atual tem um comprimento inferior senha máximo, modo incremental de limite de comprimento é reduzido em conformidade). [Incremental: LM_ASCII] é semelhante, exceto que ele tira proveito de hashes LM case-insensitive e de suas metades sendo sendo limitada a 7 caracteres cada.
Não espere sessões de modo "incrementais" para terminar em um tempo razoável (a menos que todas as senhas são fracas e ficar rachado), leia MODOS para uma explicação sobre isso.
Em alguns casos, é mais rápido usar alguns outros parâmetros modo incremental pré-definidas e só quebrar senhas mais simples, a partir de um conjunto de caracteres limitado. O seguinte comando irá tentar 10 diferentes personagens somente, senhas de "0" a "99999999999999999999" (em uma melhor ordem):
  john -i = dígitos mypasswd
Claro, você pode usar a maioria dos recursos adicionais comprovados acima para o modo de lista de palavras com o modo "incrementais" também. Por exemplo, em um teste de penetração em grande escala, você pode ter John rachar somente o root (UID 0) contas em um conjunto de arquivos de senha:
  john -i u = 0 * .pwd
7. Se você tem um arquivo de senha para que você já tem um monte de senhas rachados ou obtidos por outros meios, e as senhas são incomuns, então você pode querer gerar um novo arquivo charset, com base em frequências caráter daquele senha apresentar apenas:
  john --faça-charset = custom.chr mypasswd
Em seguida, use esse novo arquivo com o modo "incrementais".
Se você tem muitos arquivos de senha de um determinado país, organização, etc., pode ser útil para usar todos eles para o arquivo charset que você usar para quebrar ainda mais senhas a partir desses arquivos ou a partir de alguns outros arquivos de senha do o mesmo lugar:
  john --faça-charset = custom.chr passwd1 passwd2
  [Configure seu costume modo "incrementais" agora.  Veja abaixo.  ]
  john -i = costume passwd3
Você pode usar alguns filtros de palavras pré-definidos ou personalizados ao gerar o arquivo charset ter John considerar apenas algumas senhas simples:
  john --faça-charset = my_alpha.chr --external = filter_alpha mypasswd
Se o seu "arquivo pot" obteve grande o suficiente (ou se você não tem quaisquer arquivos charset em tudo), você pode querer usá-lo para gerar um novo conjunto de arquivos principais charset:
  makechr
onde "makechr" é um script que invoca "john -Fazer-charset = ..." com nomes diferentes, para todos os filtros de palavras de modo externos definidos no arquivo de configuração. Neste exemplo, John irá substituir os arquivos de charset com os novos que estão com base em sua totalidade $ JOHN / john.pot (João usa todo o "arquivo pot" se você não especificar quaisquer arquivos de senha).
8. Finalmente, você pode querer enviar um e-mail a todos os usuários com senhas fracas para dizer-lhes para mudar suas senhas. (Isso nem sempre é uma boa idéia, no entanto, uma vez que muitas pessoas não verificar o seu e-mail ou ignorar essas mensagens, e as mensagens podem ser uma dica para os crackers.) Edite o script "mailer" fornecido com John: a mensagem ele envia e possivelmente o comando mail (especialmente se o arquivo de senha é de uma máquina diferente). Em seguida, execute:
  mailer mypasswd

Arquivo de configuração.

Por favor, consulte CONFIG para informações gerais sobre o arquivo de configuração e seus possíveis localizações.
1. Vamos supor que você notar que em algum senha apresentar uma grande quantidade de usuários têm suas senhas para acessar definir nomes com "?!" Anexado. Então você acabou de fazer um novo "single crack" regra de modo (ver REGRAS para obter informações sobre a sintaxe) e colocá-lo em algum lugar próximo ao início:
  [List.Rules: Single]
  Az "?!"
Dica: se você quiser desativar temporariamente todas as regras padrão, você pode simplesmente mudar o nome da seção para algo João não utilizar e definir um novo com o nome da seção de idade, mas não se esqueça de deixar o prefixo "Lista". o nome para manter intacta a sintaxe do arquivo de configuração correta.
Tudo o mesmo se aplica a lista de palavras regras de modo bem.
2. Se você gerar um arquivo charset personalizado (descrito acima) você também precisará definir uma seção arquivo de configuração com os parâmetros do modo "incrementais". No caso mais simples que vai ser como esta (onde "Custom" pode ser substituído por qualquer nome que quiser):
  [Incremental: Custom]
  File = custom.chr
Desta forma, John só vai usar caracteres de senhas utilizadas para gerar somente o arquivo charset. Para fazer com que John tentar mais alguns personagens, acrescentar:
  Extra =! @ # $%
Esses caracteres extras serão adicionadas, mas ainda considerado o menos provável. Se você quiser ter certeza de que, com seus personagens extras, John vai tentar 95 caracteres diferentes, você pode adicionar:
  CharCount = 95
Isso fará com que John imprimir um aviso se ele só tem menos de 95 caracteres em sua charset.
Você também pode usar CharCount para limitar o número de diferentes personagens que John tenta, mesmo se o arquivo tem mais charset:
  CharCount = 20
Se você não usar qualquer filtro ao gerar o arquivo de charset, estabelecendo CharCount esta baixa fará com que John nunca tente personagens raras e combinações de caracteres, nem mesmo para senhas realmente curtos, gastando o tempo em simples senhas candidatos mais longos em vez disso. No entanto, a comutação de comprimento padrão geralmente é inteligente o suficiente para que você não deve precisar este truque.
Para fazer com que John tentar senhas de certos comprimentos única, use as seguintes linhas:
  MinLen = 6
  MaxLen = 8
Definindo "minLen" alta, como no exemplo acima, é razoável se as senhas mais curtas não foram autorizados a definir na máquina que você tem o arquivo de senhas a partir de (no entanto, notar que a raiz geralmente pode definir qualquer senha de qualquer usuário e muitas vezes há lacunas na capacidade de aplicação da política de senha 'sistemas operacionais).
Pelo contrário, você pode querer definir "MaxLen" baixo se você acha que há uma grande quantidade de senhas curtas.
3. Outro exemplo: um grande número de usuários em algum site de uso a curto duplicada palavras como suas senhas, como "fredfred". Como o número de tais senhas potenciais é bastante baixo, faz sentido para codificar um novo modo de craqueamento externa que tenta-los todos, até certa extensão.
Você pode encontrar a implementação efectiva de tal modo rachando com muitos comentários no arquivo de configuração padrão fornecidos com John. Por favor, consulte EXTERNO para obter informações sobre a linguagem de programação usada.
Postagem mais recente Postagem mais antiga Página inicial

Populares

Recente

Software Avançado De Investigação Forense Móvel

O MOBILedit Forensics é um software forense avançado para telefones, que  extrai  e  analisa profundamente o conteúdo do telefone,  incluind...