EFS Verschlüsselung rückgängig machen

Wechhe

Vice Admiral
Registriert
Aug. 2002
Beiträge
6.327
Ich brauche mal Hilfe hier.

Ich hatte vor Jahren auf einer Externen Festplatte testweise die Verschlüsselung aktiviert für einen Backup Ordner. Das Zertifikat dafür habe ich mit einem Passwort verschlüsselt, welches ich leider vergessen habe.
Der Ordner ist in der Zwischenzeit auf 700 GB angewachsen (weil ich vergessen habe, dass es verschlüsselt ist) und ich kann nur noch über mein altes Surface (wo das Zertifkat noch installiert ist) auf den Ordner zugreifen. Meinen Hauptrechner habe ich neu aufgesetzt und das Zertifikat ist weg dort. Das Zertifikat habe ich noch als .pfx Datei, aber das Passwort weiß ich nicht mehr.

Wie kann ich nun die Verschlüsselung rückgängig machen, bzw. den ganzen 700GB Ordner dauerhaft entschlüsseln?

Option 1: Ich schließe die externe Festplatte an das Surface an, rechte Maustaste auf den Ordner, "erweitert" und dann das Häkchen bei "Diesen Ordner verschlüsseln" raus. Allerdings dauert das MEGA lange.

Gibt es nicht eine Option, wie ich das Zertifikat vom Surface auf meinen Hauptrechner kopieren kann, ohne das Passwort dafür zu kennen? Oder irgendwie anders?

Was ich nicht verstehe: Wieso dauert das Entschlüsseln so lange, aber das Lesen und Kopieren woanders hin nicht? Kann ich die Daten nicht einfach woanders hinkopieren und damit die Verschlüsselung entfernen?
 
Hast Du mal eine Datei, während der Ordner entschlüsselt ist, woanders hin kopiert und es einfach ausprobiert?
Eine Textdatei z.B.
 
  • Gefällt mir
Reaktionen: BeBur und Wechhe
Yuuri schrieb:
Da habe ich das Zertifikat gefunden. Und dann? Wie kriege ich das auf den anderen Rechner?

Wenn ich das Zertifikat exportieren möchte, dann kann ich den privaten Schlüssel nicht mit exportieren, weil "dieser als nicht exportierbar" markiert ist. (Habe ich vermutlich so eingestellt?)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Wechhe
@Wechhe Ist die externe Festplatte eine SSD oder HDD? Wenn er auf die gleiche Platte entschlüsselt, muss er ja lesen und dann schreiben. D.h. die Datenrate wird mindestens halbiert im Vergleich zum reinen Lesen. Wenn es eine HDD ist und die entschlüsselten Daten an eine andere Stelle auf der HDD entschlüsselt abgelegt werden, kommen noch die Suchzeiten der Köpfe dazu: Kopf an verschlüsselte Daten->Lesen->Kopf an Stelle für entschlüsselte Daten->schreiben->von vorne.

Kannst du eine zweite externe Festplatte anschließen, einfach alle Daten dort rüberkopieren, und dann die ehemals verschlüsselte Platte einfach komplett platt machen?
Eventuell ist es notwendig, dass die Daten auf dem neuen System nicht verschlüsselt abgelegt werden können, z.B. indem FAT32 als Dateisystem verwendet wird.

/edit: Wenn du weißt, was du machst, kannst du vllt das hier erwähnte Tool ausprobieren: https://stackoverflow.com/questions/3914882/how-to-export-non-exportable-private-key-from-store

Windows bietet wohl keine API, um nicht exportierbare Zertifikate zu exportieren (logisch :freak: ), aber mit dem Tool kann man es vllt umgehen. (Wenn dein Zert-Store kaputt geht, bin ich nicht schuld. Ob es sich also lohnt das Risiko für etwas weniger Zeit einzugehen.... )
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Wechhe
Es ist eine externe SSD (Samsung T5). Es sind halt mega viele kleine Dateien (Bilder, Dokumente). Alleine die ganzen kleineren Dateien in einem Ordner mit 49GB soll 3 Stunden dauern....

Das Problem: Ich kann nur über das uralte Surface auf die Daten zugreifen. Das Surface hat einen USB Port (gut, ich kann einen Hub benutzen). Ich habe keine 1 TB große, externe Festplatte, die auch nur annähernd den Speed erreicht. Von daher glaube ich nicht, dass das hin und her kopieren schneller ist, als das parallele Lesen und Schreiben auf der schnellen SSD.

Es wundert mich, dass ich als angemeldeter Nutzer das offene Zertifikat nicht ohne Passwort exportieren kann...
 
Es gibt wohl Tools, die es exportieren können. (siehe Links oben) So wie ich es verstehe (bin kein Experte) bietet Windows von sich aus einfach keine Schnittstelle, um es zu exportieren. Das erhöht natürlich die Sicherheit ein bisschen, weil es den Export verkompliziert.
Wie viel Platz ist auf der externen SSD denn noch? Vllt lohnt es sich die Daten nicht im gleichen Ordner zu entschlüsseln, sondern auf der SSD zu kopieren und während dessen die Verschlüsselung zu entfernen. Vllt geht das schneller, als Inplace entschlüsseln.
 
  • Gefällt mir
Reaktionen: Wechhe
Wechhe schrieb:
Da habe ich das Zertifikat gefunden. Und dann? Wie kriege ich das auf den anderen Rechner?
1605045454206.png


Diese exportieren.

Wegen dem nicht exportierbar: https://stackoverflow.com/questions...-private-key-from-windows-certificate-manager

Kannst ja berichten, ob es funktioniert hat.
 
  • Gefällt mir
Reaktionen: Wechhe
Wenn ich das richtig verstehe, kann ich mit dieser Methode aber auch was kaputt machen, oder?

Gibt es keine Bruteforce Methode für das Passwort? xD
 
Ich habe noch einiges an Dateien woanders als Backup abgelegt und muss somit nicht alles entschlüsseln. Ich gehe nun einfach den Weg, dann dauert es halt ein paar Stunden - sicher ist sicher.
Wird mir eine Lehre sein, "nicht mal eben aus Spaß" einen Backup Ordner zu verschlüsseln und es dann zu vergessen und den voll zu machen ^^

Danke für eure Unterstützung
 
  • Gefällt mir
Reaktionen: wesch2000
Wechhe schrieb:
Wenn ich das richtig verstehe, kann ich mit dieser Methode aber auch was kaputt machen, oder?
Nein.

edit: Wenn du Angst hast, dann zieh ein Image von der Platte und mounte das in einer VM.

Hab noch einen anderen Guide gefunden: https://stackoverflow.com/a/36158895
Code:
mimikatz # crypto::capi
Local CryptoAPI patched

mimikatz # privilege::debug
Privilege '20' OK

mimikatz # crypto::cng
"KeyIso" service patched

mimikatz # crypto::certificates /systemstore:local_machine /store:my /export
* System Store : 'local_machine' (0x00020000)
  * Store         : 'my'

    1. example.domain.local
        Key Container : example.domain.local
        Provider : Microsoft Software Key Storage Provider
        Type : CNG Key (0xffffffff)
        Exportable key : NO
        Key size : 2048
        Public export : OK - 'local_machine_my_0_example.domain.local.der'
            Private export : OK - 'local_machine_my_0_example.domain.local.pfx'
Danach hast du alle Zertifikate in deinem aktuellen Verzeichnis liegen. Ggf. musst du beim Parameter /systemstore: den Wert local_machine durch current_user ersetzen (also crypto::certificates /systemstore:local_machine /store:my /export), je nachdem wo dein Zertifikat liegt.
  • *.der sind dann die binär codierten Zertifikate
  • *.pfx die Zertifikate inkl. Private Key
Musst nur drauf hoffen, dass der Private Key nicht auch passwortgeschützt ist. ;) Dazu hab ich jetzt leider nix gefunden, ob das dann genauso klappt.
Wechhe schrieb:
Wird mir eine Lehre sein, "nicht mal eben aus Spaß" einen Backup Ordner zu verschlüsseln und es dann zu vergessen und den voll zu machen
Klar kannst du. Denk halt nur dran den Schlüssel vor Verwendung inkl. Private Key zu exportieren. Und vergiss das Passwort zu dem Schlüssel nicht. ;) Ggf. in deinem (falls vorhanden) Passwortmanager als Notiz hinterlegen, dann kommt das nicht mehr abhanden.

Mal etwas gehässig:

Windows zeigt dir auch nen großen Tooltip und nen extra Dialog zum Backuppen des Keys bei der initialen Verwendung von EFS:

1605051344098.png


Weiterhin war das ein "Riesenthema" als die Option zum Backup in der Cloud hinzugefügt wurde und sich "jeder" drüber beschwert hat und NSA-Gefasel wieder mal Einzug erhielt und bla bla...

Aber siehst ja was passiert, wenn man es ignoriert. ;)

Siehe oben im Screenshot... Ich hab fünf EFS-Zertifikate (2011, 2x 2012, 2x 2013) und ich hab Zugriff auf alle Dateien. Sind halt die EFS-Zertifikate alter Installationen, die in der aktuellen Installation nur importiert wurden.

Wenn das nicht klappt, musst du dein Surface halt einige Zeit lang laufen lassen. ;)
 
  • Gefällt mir
Reaktionen: Wechhe
Zurück
Oben