webentwicklung-frage-antwort-db.com.de

Ich habe mein gesamtes Ubuntu-System mit Sudo rm * gelöscht und mein privater Ordner ist mit ecryptfs verschlüsselt

Ich habe gerade Sudo rm * und alles gelöscht. (Ja, ich weiß was du denkst und ich stimme dir zu).

Meine SSD ist 128G, Ubuntu 14.10 wurde auf der vollständigen Partition installiert, mit LVM und mit / home directory encrypted mit ecryptfs (beide Einstellungen gewählt während der Installation von Ubuntu (letztes Jahr).

Nach meinem Fehler habe ich den Computer heruntergefahren und mit dd if=/dev/sda of=/externalDisk/ubuntu14.10.img bs=1M.

Ich habe die Passphrase für ecryptfs (Ich wurde bei der Installation von Ubuntu mit verschlüsseltem Home-Ordner nach dieser Passphrase gefragt).


BOUNTY: Wie kann ich mit ecryptfs verschlüsselte Dateien wiederherstellen und entschlüsseln?


Beziehen Sie sich bitte auf meine Antwort unten, um zu sehen, was ich bis jetzt versucht habe.

4
Sulliwane

Ich habe viele .eCryptfs-Dateien (88 67) mit Photorec wiederhergestellt. Jetzt habe ich einen Fehler beim Versuch, sie mit ecryptfs zu mounten (siehe hier: https: //askubuntu.com/questions/636764/ecryptfs-mount-wrong-fs-type-bad-option-bad- Superblock )

Ecryptfs

Zunächst ist es wichtig, wie Ecryptfs funktioniert zu verstehen. Der Schlüsselpunkt ist, dass es sich um eine Verschlüsselung auf Dateisystemebene handelt. Dies bedeutet, dass die Verschlüsselung in jedem Dateiheader enthalten ist. Wir versuchen also, folgende Dateien wiederherzustellen: die verschlüsselten Dateien. Die Entschlüsselung erfolgt nach der Wiederherstellung.

eCryptfs hat 2 Standardmodus in Ubuntu.

  1. Einer verschlüsselt nur den Ordner /home/user/Private,
  2. Zweitens wird das gesamte /home/user Verzeichnis verschlüsselt.

So funktioniert es: Die verschlüsselten Dateien werden in /home/user/.Private für Fall 1 und in /home/.ecryptfs/user/.Private für Fall 2 gespeichert (/home/user/.Private wird dann mit /home/.ecryptfs/user/.Private für Fall 2).

Da das Kennwort der meisten Benutzer weniger als 10 Zeichen umfasst, verwendet ecryptfs seine eigenen 32 Zeichen passphrase, um verschlüsselt/entschlüsselt ​​die Dateien und den Pfad zu den Dateien. Diese Passphrase wird gesalzen/gehasht ​​in einer Datei gespeichert, die als umbrochene Passphrase bezeichnet wird (im Ordner .ecryptfs, der sich neben dem Ordner .Private befindet). Wenn sich der Benutzer anmeldet, hängt er das untere Verzeichnis (.Private, das verschlüsselte) in das obere Verzeichnis (das Ziel, Private in Fall 1, /home/user in Fall 2). Wenn sich der Benutzer abmeldet, wird die Bereitstellung aufgehoben.

Für den Fall, dass Sie eines Tages Ihren verschlüsselten ecryptfs-Ordner von einem liveUSB oder einem anderen Computer laden müssen, wird empfohlen, dass Sie die ecryptfs-Passphrase (im Voraus) speichern (da die Verwendung Ihres Kontokennworts nicht immer eine Option zum Laden der Ordner ist). .

Bild auf loop0 mounten

Kurz nach dem Geld ist das erste, was Sie getan haben, die Erstellung eines DVD-Images Ihrer Festplatte. Jetzt booten wir auf einem liveUSB und mounten dieses dd image (in meinem Fall in media/victor/externalDisk gespeichert). Zuerst muss nach dem Startblock der Linux-LVM-Partition (501758) gesucht werden:

#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

Jetzt kann ich die Partition auf dem Loop-Gerät mounten, indem ich [offset] = Startblock [501750] x Blockgröße [512] eingebe.

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

dabei ist 256901120 der Versatz.

Zeigen Sie dann das Ergebnis mit pvs an:

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

dann aktivieren mit:

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

und schließlich mounten (schreibgeschützt) die Root-Partition (nur um einen Blick nach innen zu werfen, um zu sehen, was noch übrig ist, aber die Wiederherstellungstools verwenden diesen Mount nicht) mit:

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

Dort kann ich anfangen, an meinem Bild zu arbeiten, als wäre es ein Gerät (/dev/ubuntu-vg/root) als das am meisten wiederherstellende Programm ein Gerät bitten, es als Eingabe wiederherzustellen.

Werkzeuge wiederherstellen

Ich habe drei Wiederherstellungsprogramme ausprobiert, Extundelete , ext4magic und Photorec . Dieser letzte hat die meisten .eCryptfs-Dateien wiederhergestellt

  1. Photorec

Hier sind die Anweisungen, um mit photorec zu beginnen (Credits an @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

siehe unten:

enter image description here

  1. Extundelete

Extundelete war nicht so gut wie Photorec, aber Sie können es versuchen. Stellen Sie sicher, dass Sie auf Ihrem mit liveUSB gebooteten Ubuntu die Universums-Repositorys aktiviert haben, und führen Sie dann Folgendes aus:

apt-get install extundelete

dann cd in einen Ordner wo Sie viel Platz haben (wiederhergestellte Dateien werden dorthin kopiert), und führen Sie diesen Befehl aus (wo / dev/ubuntu-vg-root) ist die Partition, von der Sie Dateien wiederherstellen möchten, sollte nicht gemountet werden oder höchstens schreibgeschützt !!!):

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

Sie können versuchen, das Programm auf die Wiederherstellung aus einem bestimmten Ordner (--restore-directory) oder auf Dateien zu beschränken, die nach einem bestimmten Datum (--after) gelöscht wurden. Lesen Sie hierzu alle ) Befehlsoptionen .

Suchen Sie nach Beendigung des Programms nach wiederhergestellten Dateien mit ECRYPTFS_FNEK_ENCRYPTED.XXXXX im Namen. Je mehr du hast, desto glücklicher bist du.

Sie können this guy und this article lesen, die beide ähnliche Probleme hatten.

Ich persönlich habe nicht viele verschlüsselte Dateien gefunden und alle haben eine sehr geringe Größe.

Entschlüsseln Sie die wiederhergestellten Dateien

Lesen Sie diesen Thread, um dieses letzte Problem zu lösen: https: //askubuntu.com/questions/636764/ecryptfs-mount-wrong-fs-type-bad-option-bad-superblock

Dies ist eine Wiki-Antwort, bitte verbessern Sie sie!

4
Sulliwane

Sie benötigen eine Live-CD: Wiederherstellung über das Tutorial von howtogeek

  1. Stellen Sie die Lautstärke ein
  2. Terminal öffnen
  3. Eingeben: Sudo ecryptfs-recover-private

Dies sollte Ihre Lösung laut diesem Link sein.

Im Falle eines Fehlers:

ecryptfs-unwrap-passphrase
1
Trey Gordon

BEARBEITEN

Oh, ich habe gerade herausgefunden, dass photorec bereits in der Lage ist, ecryptfs Dateien standardmäßig wiederherzustellen: -\Vergiss also, was ich vorher geschrieben habe.

Alles, was Sie tun müssen, ist, photorec von http://www.cgsecurity.org herunterzuladen, zu extrahieren und auszuführen

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

Wenn Sie fertig sind, finden Sie viele Ordner recup_dir.X In /path/for/recovered/files, Die alle wiederhergestellten Dateien enthalten. Kopieren Sie alle *.eCryptfs Von diesen in einen .Private Ordner und führen Sie Sudo ecryptfs-recover-private Aus. Dies sollte den .Private Finden und nach Ihrer Mount-Passphrase fragen (32 Zeichen lang, die haben sollte) wurde nach dem Erstellen des verschlüsselten Hauses gesichert)

Schließlich finden Sie Ihre entschlüsselten Dateien in /tmp/ecryptfs.xxxxxx. Aber alle Dateinamen sind weg. Sie haben den Namen f123456.eCryptfs. Wenn Sie sich jedoch die MIME-Typen ansehen, werden Sie alle Ihre wichtigen Dateien finden.


ALT

Tools wie photorec durchsuchen das gesamte Laufwerk nach bekannten Signaturen von .jpg Und einer Reihe anderer Typen. Da Sie Ihre Dateien verschlüsselt haben, funktioniert dies nicht.

Aber ecryptfs schreibt in jede Datei einen eigenen Header. Ich habe einen verschlüsselten Testaccount erstellt und mir diese Dateien mit einem Hex-Viewer angesehen

hex-view

Wie Sie sehen können, hat jede Datei identische Bytes, beginnend mit 0x20 Bis 0x28 Mit 00 11 22 33 44 55 66 77 60 Und auch mit 0x3B Bis 0x50 Mit 62 08 5F 43 4F 4E 53 4F 4C 45 00 00 00 00 09 50 C7 5C 1F 2C 69 6E. Dies kann bei Ihren Dateien anders sein. Da Sie jedoch bereits einige Dateien mit extundelete wiederhergestellt haben, können Sie dies überprüfen.

In diesem Wissen können Sie Ihre eigene Signatur für photorec erstellen, indem Sie dem Tutorial auf der offiziellen Seite von photorec folgen .

Viel Glück!

1
Germar

Sie sollten ein bootfähiges Live-USB-Gerät erstellen und versuchen, Ubuntu nicht zu installieren, dann dd von Ihrem Backup auf den Laptop und Sie sollten bereit sein, zu gehen. Das ist, wenn Sie eine andere Sicherung als die nach dem Fehler haben. Aber in jedem Fall haben Sie -rf flag verwendet, sodass es möglicherweise sogar mit dem von Ihnen verwendeten Flag funktioniert

0
Talal