web-dev-qa-db-fra.com

J'ai supprimé tout mon système Ubuntu avec Sudo rm * et mon dossier personnel est crypté avec ecryptfs.

Je viens de faire Sudo rm * et de tout effacer. (oui, je sais ce que vous pensez et je suis d'accord avec vous).

Mon SSD est 128G, Ubuntu 14.10 a été installé sur la partition complète, avec LVM et avec le répertoire personnel crypté avec ecryptfs (les deux paramètres choisis) lors de l'installation d'Ubuntu, l'année dernière).

Après mon erreur, j'ai éteint l'ordinateur et créé une image disque avec dd if=/dev/sda of=/externalDisk/ubuntu14.10.img bs=1M.

J'ai la phrase secrète pour ecryptfs (On m'a demandé cette phrase secrète lors de l'installation d'Ubuntu avec un dossier personnel crypté).


BOUNTY: Comment récupérer et décrypter des fichiers cryptés avec ecryptfs?


Veuillez vous référer à ma réponse ci-dessous pour voir ce que j'ai essayé jusqu'à présent.

4
Sulliwane

J'ai récupéré beaucoup de fichiers .eCryptfs ( 88 670 ) en utilisant Photorec. Maintenant, j'ai une erreur en essayant de les monter avec ecryptfs (voir ici: https://askubuntu.com/questions/636764/ecryptfs-mount-wrong-fs-type-bad-option-bad-superblock )

Ecryptfs

Tout d’abord, il est important de comprendre comment ecryptfs fonctionne . Le point clé est qu’il s’agit d’un chiffrement au niveau du système de fichiers . Cela signifie que le cryptage est contenu dans chaque en-tête de fichier et que nous essayons donc de le récupérer: les fichiers cryptés. Les décrypter viendra après la récupération.

eCryptfs a 2 mode par défaut dans Ubuntu.

  1. L’un ne crypte que le dossier _/home/user/Private_,
  2. Deuxièmement, le cryptage de l’ensemble du répertoire _/home/user_.

Voici comment cela fonctionne: Les fichiers cryptés sont stockés dans _/home/user/.Private_ pour le cas 1 et dans _/home/.ecryptfs/user/.Private_ pour le cas 2 (_/home/user/.Private_ est ensuite lié de manière symbolique à _/home/.ecryptfs/user/.Private_ pour le cas 2).

Ecryptfs utilise ses propres mots de passe ) pour chiffrer/déchiffrer les fichiers et le chemin d'accès aux fichiers. Cette phrase secrète est stockée salée/hachée dans un fichier appelé la phrase secrète wrapped-localisée (située dans _.ecryptfs_, celle située à côté de _.Private_ dossier). Lorsque l'utilisateur se connecte, il monte le répertoire inférieur (_.Private_, celui crypté) sur le répertoire supérieur (la cible, Private dans le cas 1, _/home/user_ dans le cas 2) . Et lorsque l'utilisateur se déconnecte, il est démonté.

Si vous devez un jour monter votre dossier crypté ecryptfs à partir d’un liveUSB ou d’un autre ordinateur, il est recommandé de sauvegarder (à l’avance) le mot de passe ecryptfs (l’utilisation du mot de passe de votre compte n’est pas toujours une option pour monter les dossiers). .

Monter l'image sur loop0

Juste après l’argent, la première chose que vous avez faite est de créer une image DD de votre disque. Maintenant, nous démarrons sur un liveUSB, nous allons monter cette image dd (stockée dans media/victor/externalDisk dans mon cas). Il faut d’abord vérifier le bloc de départ de la partition 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
_

Je peux maintenant monter la partition sur le périphérique en boucle en spécifiant le paramètre [offset] = bloc de départ [501750] x taille du bloc [512].

_losetup -o 256901120 /dev/loop0 /externalDisk/ubuntu14.10.img 
_

où _256901120_ est le décalage.

Puis affichez le résultat avec pvs:

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

puis activez avec:

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

et finalement montez (en lecture seule) la partition racine (juste pour jeter un coup d’œil à l’intérieur pour voir ce qui reste, mais les outils de récupération n’utiliseront pas cette monture) avec:

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

Une fois là-bas, je peux commencer à travailler sur mon image comme s'il s'agissait d'un périphérique (_/dev/ubuntu-vg/root_), car le programme le plus récupérable demande à un périphérique de récupérer à partir d'une entrée .

Récupérer des outils

J'ai essayé trois programmes de récupération, Extundelete , ext4magic et Photorec . Ce dernier a récupéré le plus grand nombre de fichiers .eCryptfs

  1. Photorec

Voici les instructions pour démarrer avec photorec (crédits à @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
_

voir ci-dessous:

enter image description here

  1. Extundelete

Extundelete n'était pas aussi bon que Photorec, mais vous pouvez l'essayer. Sur votre liveUSB démarré Ubuntu, assurez-vous d’avoir activé les référentiels d’univers, puis exécutez:

_apt-get install extundelete
_

puis cd dans un dossier où vous disposez de beaucoup d’espace (les fichiers récupérés y seront copiés) et exécutez cette commande (où /dev/ubuntu-vg-root est la partition à partir de laquelle vous voulez récupérer les fichiers, ne doit pas être monté , ou lire seulement au plus !!!):

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

Vous pouvez essayer de limiter le programme pour qu'il récupère d'un dossier spécifique (_--restore-directory_) ou restreindre les fichiers supprimés après une date spécifique (_--after_), voir tous les options de commande .

Une fois le programme terminé, recherchez les fichiers récupérés avec ECRYPTFS_FNEK_ENCRYPTED.XXXXX dans le nom. Plus vous en avez, plus vous êtes heureux.

Vous pouvez lire ce mec et cet article qui ont tous deux eu le même problème.

Personnellement, je n'ai pas trouvé beaucoup de fichiers cryptés, et tous ont une très petite taille.

Décrypter les fichiers récupérés

Reportez-vous à ce fil pour m'aider à résoudre ce dernier problème: https://askubuntu.com/questions/636764/ecryptfs-mount-wrong-fs-type-bad-option-bad-superblock

Ceci est une réponse wiki, merci de l'améliorer!

4
Sulliwane

Vous aurez besoin d’un livecd: Récupérer via le tutoriel howtogeek

  1. Monter le volume
  2. Terminal ouvert
  3. Entrez: Sudo ecryptfs-recover-private

Cela devrait être votre solution en fonction de ce lien.

En cas de défaillance:

ecryptfs-unwrap-passphrase
1
Trey Gordon

MODIFIER

Oh, je viens de comprendre que photorec est déjà capable de restaurer les fichiers ecryptfs par défaut: -\Donc oubliez ce que j'ai écrit auparavant.

Tout ce que vous avez à faire est de télécharger photorec de http://www.cgsecurity.org , de l'extraire et de l'exécuter.

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

Ceci fait, vous trouverez de nombreux dossiers recup_dir.X dans /path/for/recovered/files, qui contiennent tous les fichiers récupérés. Copiez tous les *.eCryptfs de ceux-ci dans un dossier .Private et exécutez Sudo ecryptfs-recover-private cela devrait trouver le .Private et demander votre phrase de passe Mount (32 caractères qui auraient dû être sauvegardés après création de la maison cryptée)

Enfin, vous trouverez vos fichiers déchiffrés dans /tmp/ecryptfs.xxxxxx. Mais tous les noms de fichiers ont disparu. Ils sont nommés comme f123456.eCryptfs. Mais en regardant les types de mime, vous trouverez tous vos fichiers importants.


VIEUX

Des outils tels que photorec recherchent dans tout le lecteur les signatures connues de .jpg et plusieurs autres types. Parce que vous avez crypté vos fichiers, cela ne fonctionnera pas.

Mais ecryptfs écrit son propre en-tête dans chaque fichier. J'ai créé un compte de test chiffré et jeté un coup d'œil à ces fichiers avec un visualiseur hexadécimal

hex-view

Comme vous pouvez le constater, chaque fichier a des octets identiques commençant par 0x20 à 0x28 contenant 00 11 22 33 44 55 66 77 60 et également de 0x3B à 0x50 contenant 62 08 5F 43 4F 4E 53 4F 4C 45 00 00 00 00 09 50 C7 5C 1F 2C 69 6E. Cela pourrait être différent sur vos fichiers. Mais comme vous avez déjà récupéré des fichiers avec extundelete, vous pouvez le vérifier.

Sachant cela, vous pouvez créer votre propre signature pour photorec suivante le tutoriel sur le site officiel de photorec .

Bonne chance!

1
Germar

Vous devriez créer un usb live amorçable et utiliser l’essai Ubuntu pas installer, puis dd de votre sauvegarde sur votre ordinateur portable, et vous devriez être prêt à partir. C’est-à-dire si vous avez une autre sauvegarde que celle qui a suivi l’erreur. mais de toute façon vous avez utilisé le drapeau -rf afin qu'il puisse même fonctionner avec celui que vous avez

0
Talal