Eu deletei todo o meu sistema Ubuntu com sudo rm *, e minha pasta pessoal é criptografada com o ecryptfs

4

Acabei de sudo rm * e apaguei tudo. (sim, eu sei o que você pensa e eu concordo com você).

Meu SSD é 128G, o ubuntu 14.10 foi instalado na partição completa, usando LVM e com o diretório / home criptografado com ecryptfs ( ambas as configurações escolhidas durante a instalação do Ubuntu, no ano passado).

Após o meu erro, eu desliguei o computador e fiz uma imagem de disco com dd if=/dev/sda of=/externalDisk/ubuntu14.10.img bs=1M .

Eu tenho a frase secreta para ecryptfs (me pediram essa frase secreta ao instalar o Ubuntu com pasta inicial criptografada).

BOUNTY: Como recuperar e descriptografar arquivos criptografados com ecryptfs?

Por favor, consulte a minha resposta abaixo para ver o que eu tentei até agora.

    
por Sulliwane 03.06.2015 / 07:35

4 respostas

4

Recuperei muitos arquivos .eCryptfs ( 88 670 ) usando o Photorec. Agora eu tenho um erro ao tentar montá-los com ecryptfs (veja aqui: link )

Ecryptfs

Primeiro, é importante entender como funciona o ecryptfs . O ponto chave é que é uma criptografia em nível de sistema de arquivos . Isso significa que a criptografia está contida em cada cabeçalho de arquivo e, portanto, o que estamos tentando recuperar são os arquivos criptografados . Descriptografá-los virá após a recuperação.

O eCryptfs tem 2 modos padrão no Ubuntu.

  1. Um está criptografando apenas a pasta /home/user/Private
  2. Segundo, está criptografando todo o diretório /home/user .

Veja como funciona: Os arquivos criptografados são armazenados em /home/user/.Private para o caso 1 e em /home/.ecryptfs/user/.Private para o caso 2 ( /home/user/.Private é então vinculado a /home/.ecryptfs/user/.Private para o caso 2).

Como a senha da maioria dos usuários é inferior a 10 caracteres, o ecryptfs usa seus próprios 32 caracteres senha longa para criptografar / descriptografar os arquivos e o caminho para os arquivos. Essa frase-senha é armazenada salgada / hashed em um arquivo chamado de frase-chave com quebra automática (localizada em .ecryptfs , a próxima da pasta .Private ). Quando o usuário faz o login, ele monta o diretório inferior ( .Private , o criptografado) no diretório superior (o destino, Private no caso 1, /home/user no caso 2). E quando o usuário faz logout, ele é desmontado.

Caso um dia você precise montar sua pasta criptografada ecryptfs a partir de um liveUSB ou de outro computador, é recomendável salvar (antecipadamente) a frase secreta ecryptfs (já que a senha da sua conta nem sempre é uma opção para montar as pastas).

Montar imagem no loop0

Logo após o dinheiro, a primeira coisa que você fez foi criar uma imagem dd do seu disco. Agora, inicializamos em um liveUSB, montaremos essa imagem dd (armazenada em media / victor / externalDisk no meu caso). Primeiro, precisa verificar o bloco inicial da partição Linux LVM (501758):

#fdisk -l media/victor/externalDisk/ss9backup.img 
Disk /media/victor/blackWD/ss9backup.img: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00026d62

                              Device Boot      Start         End      Blocks   Id  System
/media/victor/externalDisk/ubuntu14.10.img1   *        2048      499711      248832   83  Linux
/media/victor/externalDisk/ubuntu14.10.img2          501758   250068991   124783617    5  Extended
/media/victor/externalDisk/ubuntu14.10.img5          501760   250068991   124783616   8e  Linux LVM

Agora eu posso montar a partição no dispositivo de loop, especificando o [offset] = bloco inicial [501750] x tamanho do bloco [512].

losetup -o 256901120 /dev/loop0 /externalDisk/ubuntu14.10.img 

em que 256901120 é o deslocamento.

Em seguida, exiba o resultado com pvs :

#pvs
  PV         VG        Fmt  Attr PSize   PFree
  /dev/loop0 ubuntu-vg lvm2 a--  119,00g    0 

depois, ative com:

#vgchange -a y ubuntu-vg
2 logical volume(s) in volume group "ubuntu-vg" now active

e finalmente monte (somente leitura) a partição raiz (apenas para dar uma olhada no interior para ver o que resta, mas as ferramentas de recuperação não usarão essa montagem) com:

mount -o ro /dev/ubuntu-vg/root /mnt/Ubuntu14.10/

Uma vez lá, posso começar a trabalhar na minha imagem como se fosse um dispositivo ( /dev/ubuntu-vg/root ), pois a maioria dos programas de recuperação solicita que um dispositivo seja recuperado como uma entrada .

Recuperando ferramentas

Eu tentei três programas de recuperação, Extundelete , ext4magic e Photorec . Este último recuperou a maioria dos arquivos .eCryptfs

  1. Photorec

Aqui estão as instruções para começar a usar o photorec (créditos para @Germar)

wget http://www.cgsecurity.org/testdisk-7.0.linux26-x86_64.tar.bz2
tar xvjf testdisk-7.0.linux26-x86_64.tar.bz2
cd testdisk-7.0
sudo ./photorec-static /d /home/victor/Downloads/recovery_folder /dev/ubuntu-vg/root

veja abaixo:

  1. Extundelete

O Extundelete não é tão bom quanto o Photorec, mas você pode experimentá-lo. No seu liveUSB inicializado Ubuntu, certifique-se de ter ativado os repositórios do universo e, em seguida, execute:

apt-get install extundelete

então cd em uma pasta onde você tem bastante espaço (os arquivos recuperados serão copiados lá), e execute este comando (onde / dev / ubuntu-vg-root é a partição da qual você deseja recuperar arquivos, não deve ser montada , ou somente leitura no máximo !!!):

extundelete /dev/ubuntu-vg/root --restore-all --after 'date -d 'Aug 16 02:35' +%s'

Você pode tentar restringir o programa a recuperar de uma pasta específica ( --restore-directory ) ou restringir a arquivos excluídos após uma data específica ( --after ), ver todos os opções de comando .

Após o término do programa, procure por arquivos recuperados com ECRYPTFS_FNEK_ENCRYPTED.XXXXX no nome. Quanto mais você tem, mais feliz você é.

Você pode ler esse cara e este artigo que tiveram problemas semelhantes.

Eu pessoalmente não encontrei muitos arquivos criptografados, e todos têm um tamanho muito pequeno.

Descriptografar os arquivos recuperados

Consulte este tópico para me ajudar a resolver este último problema: link

Esta é uma resposta do wiki, por favor, melhore-a!

    
por Sulliwane 13.04.2017 / 14:24
1

Você precisará de um livecd: Recuperar via tutorial howtogeek

  1. Montar o volume
  2. Terminal aberto
  3. Digite: sudo ecryptfs-recover-private

Esta deve ser sua solução de acordo com esse link.

Em caso de falha:

ecryptfs-unwrap-passphrase
    
por Trey Gordon 03.06.2015 / 07:48
1

EDITAR

Oh, eu acabei de descobrir, photorec já é capaz de restaurar ecryptfs arquivos por padrão: - \ Então esqueça o que eu escrevi antes.

Tudo o que você precisa fazer é baixar photorec do link , extrair e executá-lo

wget http://www.cgsecurity.org/testdisk-7.0.linux26-x86_64.tar.bz2
tar xvjf testdisk-7.0.linux26-x86_64.tar.bz2
cd testdisk-7.0
sudo ./photorec-static /d /path/for/recovered/files /media/victor/externalDisk/ubuntu14.10.img

Quando terminar, você encontrará muitas pastas recup_dir.X em /path/for/recovered/files que contêm todos os arquivos recuperados. Copie todos os *.eCryptfs destes para uma pasta .Private e execute sudo ecryptfs-recover-private , que deve encontrar .Private e peça a sua frase-senha de montagem (com 32 caracteres que deveria ter sido salva após criar a home criptografada)

Finalmente, você encontrará seus arquivos descriptografados em /tmp/ecryptfs.xxxxxx . Mas todos os nomes de arquivos sumiram. Eles são nomeados como f123456.eCryptfs . Mas olhando para os tipos MIME, você encontrará todos os seus arquivos importantes.

OLD

Ferramentas como photorec pesquisam a unidade inteira em busca de assinaturas conhecidas de .jpg e vários outros tipos. Como você criptografou seus arquivos, isso não funcionará.

Mas o ecryptfs escreve seu próprio cabeçalho em cada arquivo. Eu criei uma conta de teste criptografada e dei uma olhada nesses arquivos com um visualizador hexadecimal

Como você pode ver, cada arquivo tem bytes idênticos, começando de 0x20 a 0x28 contendo 00 11 22 33 44 55 66 77 60 e também de 0x3B a 0x50 contendo 62 08 5F 43 4F 4E 53 4F 4C 45 00 00 00 00 09 50 C7 5C 1F 2C 69 6E . Isso pode ser diferente em seus arquivos. Mas como você já recuperou alguns arquivos com extundelete você pode verificar isso.

Sabendo disso, você pode criar sua própria assinatura para photorec após o tutorial no site oficial da photorec .

Boa sorte!

    
por Germar 13.06.2015 / 03:40
0

Você deve fazer um live-usb inicializável e usar o comando ubuntu do try não instalar o dd do seu backup no laptop e você deve estar pronto. Isto é, se você tiver um outro backup diferente daquele após o erro. mas de qualquer forma você usou o flag -rf, então ele pode até funcionar com o que você tem

    
por Talal 14.06.2015 / 20:12