usando John the Ripper para recuperar a senha RAR

5

Teste o John the Ripper no Mac OS X como uma solução de recuperação de senha RAR, mas o xargs me dá um erro:

john --incremental:all --stdout | xargs -I jtr unrar e -pjtr -inul test2.rar | grep 100%
xargs: unterminated quote

Mas quando eu adiciono '-0' ao xargs para lidar com a citação, recebo outro erro xargs:

john --incremental:all --stdout | xargs -0 -I jtr unrar e -pjtr -inul test2.rar | grep 100%
xargs: insufficient space for argument

O que eu suponho é que o '-0' está impedindo que os xargs usem novas linhas como delimitadores, o que está criando o problema de espaço?

Alguma idéia de como tornar os xargs felizes? Existe uma maneira de resolver o problema das cotações, mantendo o delimitador de nova linha intacto?

    
por chuckkahn 06.01.2012 / 19:06

2 respostas

4

Eu provavelmente faria algo assim:

john --incremental:all -stdout | while read pass;do
  rar x -p"${pass}" test2.rar
  if [ "$?" -eq 0 ];then
    exit 0
  fi
done

Substitua as opções rar, etc., conforme desejado. Desta forma, o comando só é executado até que ele descompacte o arquivo com sucesso e você não precise fazer uma pesquisa. $? é uma variável do shell que contém o código de retorno do último comando de execução e, se executado com êxito, é igual a 0. Então, se você corresponder com 0, saberá que o comando anterior "funcionou".

Editar 1 : "" é adicionado à volta da palavra-passe, como -p"${pass}" .

    
por 06.01.2012 / 21:33
3

Eu não sei de uma maneira (diferente de -0 mode) para fazer xargs ignorar as aspas em sua entrada, mas é fácil usar tr para converter as novas linhas para nulos e então usar -0 mode:

john --incremental: all --stdout | tr "\ n" "\ 0" | xargs -0 -I jtr unrar e -pjtr -inul test2.rar | grep 100%

    
por 06.01.2012 / 20:53