Tentando quebrar uma senha fraca usando John

4

Eu tenho um computador dos anos 90. Ele tem um sistema de arquivos EFS (extensão) que não pode ser gravado no linux, portanto não posso redefinir a senha manualmente. Então eu tenho que quebrar minha senha. Por isso estou tentando usar o John the ripper.

em um arquivo me2, eu tenho uma entrada do arquivo original / etc / passwd: root: 8sh9JBUR0VYeQ: 0: 0: Superusuário ,: /: / bin / ksh

Algumas pessoas de outro segmento sugeriram que essa pode ser uma senha DES.

Então, estou tentando decifrar essa senha para poder voltar a esse computador.

sudo john me2
Loaded 1 password hash (descrypt, traditional crypt(3) [DES 128/128 SSE2-16])
Press 'q' or Ctrl-C to abort, almost any other key for status
Warning: MaxLen = 13 is too large for the current hash type, reduced to 8

Eu vejo o aviso e estou imaginando o que isso significa. Deixei John, o ripper, correndo por algumas horas e voltei. Parece que ainda está indo ... Então eu estou pensando que algo não deve estar certo.

    
por j0h 01.08.2015 / 03:33

2 respostas

8

Esta senha é dividida com o método tradicional baseado em DES . Este método não é tão quebrado que permite encontrar diretamente a senha do hash. Requer força bruta, isto é, o cálculo de hashes de senhas até encontrar o caminho certo. Esse método de hash é quebrado na medida em que o cálculo de hash é relativamente rápido e a senha é limitada a 8 caracteres (e o sal também é muito pequeno). Os benchmarks John aumentam para cerca de 6 milhões por segundo por núcleo.

Para a maioria das senhas escolhidas pelo homem, 6 milhões por segundo significa uma pausa quase instantânea. Mas se a senha foi escolhida aleatoriamente entre todas as senhas possíveis de 8 caracteres imprimíveis, existem cerca de 6,7 × 10 15 senhas possíveis, o que significa cerca de 12800 dias de tempo de CPU acumulado.

Você não especificou qual dos muitos sistemas de arquivos chamados EFS é. Com a maioria dos sistemas de arquivos, você pode pesquisar a imagem do disco pelo conteúdo do arquivo, desde que o arquivo não esteja compactado ou criptografado. É improvável que a modificação de um arquivo sem entender a estrutura do sistema de arquivos funcione, a menos que você altere os bytes no lugar e deixe o tamanho do arquivo inalterado. Portanto, supondo que o arquivo não esteja compactado ou criptografado, veja o que você pode fazer:

  • Conecte o disco em um computador que executa o Linux ou alguma outra variante do Unix.
  • Faça uma cópia da imagem do disco. Isso é importante: se você desistir, poderá tornar o original irrecuperável.
  • Use ferramentas binárias para localizar o conteúdo do arquivo passwd na imagem do disco. Consulte Localizar / substituir no dispositivo de bloco?
  • Substitua root:8sh9JBUR0VYeQ: por uma sequência de comprimento igual, que é o hash de uma senha que você conhece. Você pode usar perl -le 'print crypt("swordfis", "aa")' para gerar um hash de senha para swordfis .

Como alternativa, o computador pode oferecer uma maneira de ignorar o processo normal de inicialização se você tiver acesso físico.

    
por 02.08.2015 / 00:29
6

Sua senha de root é qwer134 .

% /usr/sbin/john --show pwdfile 
root:qwer134:0:0:Super-User,,,,,,,:/:/bin/ksh
lp:passwd1:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp:NO PASSWORD:10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico

3 password hashes cracked, 0 left

Demorou cerca de 2,5 dias para encontrar a senha de root e poderia ter demorado muito mais tempo. Você pode criptografar a senha para verificar se os hashes realmente correspondem:

% perl -le 'print crypt("qwer134", "8s")' 
8sh9JBUR0VYeQ
    
por 02.08.2015 / 15:46

Tags