EcryptFS - Usando, Desvendando suas Chaves e Recuperando seus Arquivos

O EcryptFS garante a segurança do seu /home do Ubuntu de uma forma bem simples, porém, caso você tenha problemas com seu S.O., pode acabar tendo uma baita dor de cabeça para decriptar os dados. Nesse artigo, explico como você pode entender um pouco mais dos passos de decriptação no EcryptFS e como você pode ter seus arquivos de volta.

[ Hits: 3.784 ]

Por: Thiago em 05/10/2020


Introdução



Atualmente, passei por alguns problemas com o Ubuntu e com isso foi necessário que eu extraísse todos os dados que estavam no disco.

Como o meu diretório /home estava criptografado, tive que descriptografá-lo para fazer o backup, porém, eu não tinha mais acesso aos dados através do S.O.

Resolvi criar esse procedimento, pois busquei por informações para o EcryptFS na internet, mas ainda assim surgiram algumas dúvidas durante a recuperação (principalmente a parte de qual Passphrase/Senha, eu deveria usar em cada momento), essas dúvidas estão explicadas aqui.

Procurei fazer o procedimento de forma detalhada, porém, caso ainda tenham alguma sugestão/dúvida, fiquem à vontade para deixar nos comentários! :D

Observações iniciais

  • Você precisará subir um live-CD no computador com o disco encriptado. Confirme se o live-CD possui o ecryptfs instalado;
  • Você precisará de um disco externo para copiar/mover os arquivos decriptados;
  • wrapped-passphrase - é o arquivo onde está localizada sua Passphrase de criptografia/decriptografia dos seus arquivos (***NUNCA EXCLUA ESSE ARQUIVO, OU VOCÊ NÃO PODERÁ MAIS RECUPERAR SEUS DADOS***). Essa Passphrase tem 32 dígitos e é algo semelhante a 01df432d41023d300d4f0421dfq43af1 (obviamente, essa não é minha Passphrase);
  • O disco onde estão as informações que você precisa recuperar;
  • O disco para onde Você irá transferir os arquivos recuperados;
  • /diretório_recuperados/ - esse diretório deve ser criado no antes de montar os arquivos encriptados;
  • user - esse é seu usuário que tem o /home encriptada.

Passo 1: Passos para a recuperação - Obtendo a wrapped-passphrase

Inicie o live-CD e monte-o, não precisa acessar o disco.

Digite o comando:

sudo ecryptfs-unwrap-passphrase /media//home/.ecryptfs/user/.ecryptfs/wrapped-passphrase

Para o sudo, utilize a senha do seu usuário atual (o usuário do live-CD);

Após digitar a senha, será solicitada a Passphrase, use a senha do usuário de login (user) do perfil com os arquivos criptografados e que está tentando recuperar.

Será gerada uma chave de 32 dígitos, essa é a Passphrase que irá descriptografar seus arquivos, guarde ela.

Passo 2: Passos para a recuperação - Obtendo a chave FNEK

Digite o comando:

sudo ecryptfs-add-passphrase --fnek

Quando for solicitada a Passphrase, use a chave de 32 dígitos gerada no passo anterior.

Serão gerados duas chaves de 16 dígitos cada, guarde a segunda chave (bbbbbbbbbbbbbbbb).

Saída do comando:

Inserted auth tok with sig  into the user session keyring
Inserted auth tok with sig  into the user session keyring


Passo 3: Passos para a recuperação - Montando o /home e recuperando seus arquivos

Finalmente, vamos recuperar os arquivos. Vamos montar o diretório para que possamos copiar os arquivos e/ou movê-los

Digite o comando para montar os arquivos em modo leitura e escrita (dessa forma, você poderá movê-los para a nova unidade):

sudo mount -t ecryptfs -rw /media//home/.ecryptfs/user/.Private/ /media//diretorio_recuperados

Quando solicitada a Passphrase, digite a Passphrase de 32 dígitos gerada no Passo 1.

Nesse momento, serão necessárias respostas à algumas questões, utilize as respostas à seguir:

Select cipher:
    1) aes: blocksize = 16; min keysize = 16; max keysize = 32
    2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
    3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
    4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
    5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
    6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
Selection : aes


Utilize a resposta padrão.

Select key bytes:
   1) 16
   2) 32
   3) 24
Selection : 16


Utilize a resposta padrão.

Enable plaintext passthrough (y/n) : n

Utilize a resposta padrão.

Enable filename encryption (y/n) : y

Utilize y ao invés da proposta padrão.

Filename Encryption Key (FNEK) Signature : bbbbbbbbbbbbbbbb

Utilize a chave de 16 dígitos "bbbbbbbbbbbbbbbb" gerada no Passo 2, ao invés da chave sugerida.

Attempting to mount with the following options:
    ecryptfs_unlink_sigs
    ecryptfs_fnek_sig=bbbbbbbbbbbbbbbb
    ecryptfs_key_bytes=16
    ecryptfs_cipher=aes
    ecryptfs_sig=aaaaaaaaaaaaaaaa
Mounted eCryptfs


Os arquivos serão montados no diretório /media//diretorio_recuperados e agora Você tem seus arquivos disponíveis. :)

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Kali On The Box - Colocando o Kali para rodar no Raspberry Pi

Leitura recomendada

Segurança com Iptables

PaX: Solução eficiente para segurança em Linux

SSH: Métodos e ferramentas para invasão

Servidor de logs em Debian Linux

Aquisição Estática de Dados em Computação Forense

  
Comentários
[1] Comentário enviado por maurixnovatrento em 05/10/2020 - 22:25h


Legal cara.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[2] Comentário enviado por diegomrodrigues em 06/10/2020 - 09:59h

Excelente material. Parabéns!

Atenciosamente,
Diego M. Rodrigues

[3] Comentário enviado por thiagovb em 06/10/2020 - 11:42h


[1] Comentário enviado por mauricio123 em 05/10/2020 - 22:25h


Legal cara.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]


Obrigado pelo comentário e pelo incentivo =]

[4] Comentário enviado por thiagovb em 06/10/2020 - 11:43h


[2] Comentário enviado por diegomrodrigues em 06/10/2020 - 09:59h

Excelente material. Parabéns!

Atenciosamente,
Diego M. Rodrigues


Obrigado pelo comentário e pelo incentivo. Espero poder criar mais conteúdos em breve. =]


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts