Tuesday, May 31, 2011

Recuperando senha de HD criptografado com TrueCrypt

Uma ferramenta que vem se popularizando muito nos últimos tempos é o TrueCrypt, utilizada para criptografar discos ou criar um "repositório" de dados criptografado. O uso principal que vejo durante os trabalhos de perícia é a criptografia de disco inteiro (full disk encryption). Acho muito válido, é sinal de que as pessoas estão se conscientizando do valor da informação: "se roubarem meu notebook eu compro outro, mas meus dados são importantes"... É claro que tem também o sujeito mal intencionado, que provavelmente armazena conteúdo ilícito no HD criptografado e acha que assim estará seguro ¬.¬

Este post é dedicado a estes sujeitos que estão mal intencionados =)

Vou demonstrar neste post o procedimento para recuperar as senhas de volumes TrueCrypt utilizando o PRTK, da AccessData, mas o procedimento é o mesmo se for utilizar alguma ferramenta gratuita.

O primeiro passo é identificar a criptografia com o TrueCrypt, e para tal vou utilizar a documentação do produto, principalmente a seção que especifica o formato do volume criptografado (o header). Isso fica fácil, pois o "BootLoader" não fica criptografado, é possível visualizar as strings de comandos e inicialização do BootLoader, conforme figura a seguir:

Perceba a string "TrueCrypt Boot Loader" no HEX do disco. 


Vamos trabalhar só com a porção de dados que seria o "cabeçalho" do arquivo, e para delimitar este cabeçalho, vamos utilizar as  informações que estão disponíveis em: http://www.truecrypt.org/docs/?s=volume-format-specification

Pela documentação, o que nos interessa é a porção de dados do offset 0 até o offset 131072. Vamos para a visualização em HEX do volume. Utilize então o CTRL + G para ir até esta posição 131072 (ou right click e opção Go to offset...). Selecione todo este intervalo de dados (offset 0 até o offset 131072) e exporte este bloco de dados (opção Save selection... do right click).

O objetivo desta operação é apresentar ao PRTK apenas uma pequena massa de dados, o que vai otimizar o processamento de tentativa de recuperação da senha. Este pequeno bloco de dados que exportamos tem todas as informações necessárias para o PRTK tentar recuperar a senha do volume completo.

O nosso próximo passo é adicionar este arquivo recém gerado ao PRTK. Vamos carregar o PRTK e então adicionar o arquivo para ser processado, conforme figura abaixo:


Uma vez adicionado o arquivo ao PRTK, este já o identifica como sendo um TrueCrypt e apresenta as formas de ataque disponíveis para a tentativa de recuperação de senha:


Depois de algum tempo (que pode variar de algumas horas até algumas centenas de anos!), o resultado é exibido na interface do PRTK:



Claro que foi montado um laboratório para demonstrar esta situação. Em condições normais, uma senha com esta complexidade (P@ssw0rd) demoraria bastante tempo para ser recuperado.

Meus agradecimentos aos colegas de trabalho Maísa Horta Canguçu de Souza e Mauro Salomão de Castro. Eles escreveram o artigo, eu só mostrei o que deveria ser feito =)

10 comments:

Anonymous said...

Excelente matéria Rabelo! Parabéns!

Luiz Rabelo said...

Obrigado!

Anonymous said...

Eo arquivo chave?

Anonymous said...

que pode variar de algumas horas até algumas centenas de anos, de que adianta então ??

Anonymous said...

Oh my God!!! The end is near...

Luiz Rabelo said...

que pode variar de algumas horas até algumas centenas de anos, de que adianta então ??

R: se demorar algumas horas ou alguns dias (melhor caso), problema resolvido. Ou vai desistir sem nem tentar? =)

Luiz Rabelo said...

Eo arquivo chave?

R: o arquivo chave contém um stream de dados que foi utilizado como chave criptográfica. Se estiver utilizando força bruta, irá demorar alguns séculos para conseguir recuperar o stream de dados correto.

fernando said...

Gostei do artigo, quero vê quem quebra as senha q eu faço, de no mínimo 20 caractere de alta complexidade..kkkkkkkk, pode até quebra em 1000 anos..

Jedidias said...

Parabéns pela matéria, Luiz... Ainda bem que não estou recebendo pra fazer isso... Vou mandar o cara trocar o HD...

Obs: Tem como formatar essa bagaça sem recuperar nada? Porque só quero reinstalar o Windows, mas nem pra isso tá servindo...

andre paulo silva liro said...

tenho uma partição criptografada com uma senha longa (acima de 25 caracteres) tentei quebrar a senha por orça bruta durante 30 dias sem interrupções, acredito que para chegar ao minimo de 25 caracteres demoraria no minimo 500 anos na minha maquina.

Post a Comment