Recuperando senhas de e-mails esquecidas usadas no Claws-Mail

Este artigo mostrará como recuperar senhas de e-mails esquecidas, usadas no cliente Claws-Mail. Se você usa Claws-Mail e por algum motivo esqueceu-se da senha digitada e precisa dela, este artigo é para você.

[ Hits: 4.187 ]

Por: Perfil removido em 23/06/2017


Preparando a versão Python do programa e usando ambas



Preparando a versão em Python

Além da versão em C, há a versão em Python do descriptografador de senhas, o script "clawsmail-passdecrypt.py".

Possui umas cento e vinte e cinco linhas atualmente, feitas em Python 2. Requer ao menos os módulos "Crypto.Cipher" e "base64". No Debian, resolve-se com a instalação do pacote "python-crypto":

# apt-get install python-crypto

Agora, usa-se o comando: chmod +x clawsmail-passdecrypt.py para torna-lo executável do prompt, ou então executa-se python clawsmail-passdecrypt.py na linha de comando.

Se tudo der certo, ao se executar o script, deverá aparecer as mensagens:

Usage: clawsmail-passdecrypt.py [OPTIONS] ENCRYPTED_PASS1...|FILE...

clawsmail-passdecrypt.py: error: missing file or string to decrypt
Caso não dê certo, reporte os erros nos comentários. Pode ser algum pacote a ser instalado ou outra coisa. Tenho muita coisa instalada aqui. Pode ser que não saiba de algo que devesse instalar, tanto no caso do código em C, quanto em Python.

Testando a descriptografia

Estando tudo certo, agora vamos aos testes. Primeiramente, o programa em C já compilado. Conforme testado, o retorno da linha de comando é:

./clawsmail-passdecrypt [ENCRYPTED_PASS1...|FILE...]
O escopo dos parâmetros é o do uso de uma ou mais strings de senhas criptografadas, ou um ou mais arquivos de configuração do Claws-Mail com senhas criptografadas.

Algo, literalmente, como:

./clawsmail-passdecrypt string-de-senha-criptografada
Ou:

./clawsmail-passdecrypt string-de-senha-criptografada-1 string-de-senha-criptografada-2 string-de-senha-criptografada-3 ...
E para arquivos de configuração:

./clawsmail-passdecrypt arquivo-de-senhas-criptografadas
Ou:

./clawsmail-passdecrypt arquivo-de-senhas-criptografadas-1 arquivo-de-senhas-criptografadas-2 arquivo-de-senhas-criptografadas-3
E como sugere a mensagem, até ambos os parâmetros combinados.

As strings do accountrc começam com ponto de exclamação (!), portanto, se estiver usando BASH ou qualquer Shell que entenda esse símbolo como algo diferente, poderá dar problema.

Em BASH, um significado para o ponto de exclamação seguido de um numero, é a da execução de um comando. Tal comando encontra-se no histórico, cuja localização em ordem numérica neste histórico, corresponde exatamente ao número.

Se for digitado no prompt dois pontos de exclamação juntos, um do lado do outro, resultará na execução do último comando do histórico. Para saber os comandos presentes no histórico, use o comando history no terminal, que aparecerão se as variáveis internas BASH estiverem adequadamente configuradas.

Não me perguntem se existem outros significados para ponto de exclamação no prompt de BASH. Usando man 1 bash, tem-se de 3500 a 5700 linhas de manual, dependendo da resolução do console. O importante é que se não for usada uma contrabarra (\), como mostrada no exemplo adiante, dará erro na execução do comando.

Com tudo pronto, o uso é muito simples. Para o arquivo de configuração estando em seu local natural e sendo apenas um, o comando poderá ser para o binário compilado:

./clawsmail-passdecrypt ~/.claws-mail/accountrc

E para o script em Python:

./clawsmail-passdecrypt.py ~/.claws-mail/accountrc

Ou:

python clawsmail-passdecrypt.py ~/.claws-mail/accountrc

Não precisando ser root em todos os casos.

O tempo de quebra de sete senhas de diversos tamanhos num i7, usando o programa em C, foi de acordo com o comando time:
  • real 0m0.002s
  • user 0m0.004s
  • sys 0m0.000s

E usando o script feito em Python, foi:
  • real 0m0.021s
  • user 0m0.016s
  • sys 0m0.004s

Para quebrar uma string aqui exemplificada, pode-se usar o comando:

./clawsmail-passdecrypt \!f3TI780AXVBWX1OPan/EBhGBrESuKh7QYI0ZaTRTmZl36PxbRA3xLCF9kXYe35HK64BlfVyn+gkh6Hp/Vw==

Cujo uso correto, é feito com a contrabarra (\) antes da exclamação. Conforme já explicado, a senha começa sempre com o caracter ! e a presença do mesmo no prompt sem contrabarra, dará erro. Caracteres especiais devem ser sempre representados com contrabarra, se existirem. Coisa semelhante é vista em linguagem C, BASHscript, SED, Regex etc.

Quem quebrar a senha da string corretamente, vai ganhar um joinha no comentário. É a mesma sintaxe para as duas formas de execução para a versão em Python.

Ainda sobre a versão em Python, ela possui parâmetros extras. É para o caso de o sistema ser um FreeBSD. Usa-se:

clawsmail-passdecrypt.py --freebsd ...

Ou:

clawsmail-passdecrypt.py --mode=ECB ...

No caso deste sistema ser o usado.

Página anterior     Próxima página

Páginas do artigo
   1. Explicação do projeto e preparação do programa versão C
   2. Preparando a versão Python do programa e usando ambas
   3. Referências
Outros artigos deste autor

A camada de enlace de dados

Minha experiência com Linux

OSS & ALSA - A História

Faça o GNU/Linux falar as horas para você

Uma "fábula" sobre acessar e mapear unidades de rede do Windows no Linux

Leitura recomendada

Zimbra 8.0 no CentOS 6.3

Servidor de emails com Dovecot e MTA Sceo (projeto brasileiro)

Integrando o Amavisd-new, SpamAssassin e ClamAV com o Postfix no SuSE 9.3

iRedMail como servidor de e-mails em servidor GNU/Linux ou BSD

Implementando auto-resposta utilizando o Exim

  
Comentários
[1] Comentário enviado por removido em 23/06/2017 - 14:22h

Pessoal, o claws-mail sofreu uma atualização e o accountrc mudou um pouquinho. Por isso é necessário acrescentar alguma informações sobre a quebra de senhas. Farei isto logo mais.

[2] Comentário enviado por lordestark em 23/06/2017 - 17:47h

Daooooooora, FreeBSD é mais tecnico kkkk


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts