Wannycry: WCry-Decryptor für Windows XP

Gute und schlechte Nachrichten für Besitzer von Systemen, die von Wannacrypt befallen sind. Es gibt einen Decryptor für Dokumentdateien, die von WannyCrypt verschlüsselt wurden – und das Tool ist frei – hat aber ein paar Haken und Ösen. Ergänzung: Es gibt auch eine Lösung für Windows 7.


Anzeige

Die gute Nachricht

Es gibt halbwegs gute Nachrichten für Windows XP-Besitzer, die sich den Verschlüsselungstrojaner WannaCry (aka WannaCrptor) eingefangen haben. Ein Sicherheitsforscher hat einen Weg gefunden, die Encryption-Schlüssel auf Systemen zu ermitteln, die von WannaCry befallen sind – die Dateien lassen sich also wieder entschlüsseln – und das Tool ist zudem gratis.

Die schlechte Nachricht

Ich hatte aber eingangs erwähnt, dass die Lösung Haken und Ösen besitzt. Die erste schlechte Nachricht ist, dass die Lösung nur unter Windows XP, nicht aber unter Windows 7 und höher funktioniert. Wer also eine Maschine mit Windows 7 hat, deren Dateien verschlüsselt wurden, schaut (momentan) in die Röhre.

Und es gibt einen weiteren Haken: Die Entschlüsselung durch das Tool klappt nur, wenn das Windows XP-System nach dem Befall durch WannyCrypt noch nicht neu gestartet wurde.

WCry, die Details

Das Tool mit dem Namen WCry wurde von Adrien Guinet, einem Sicherheitsforscher des französischen Quarkslab entwickelt und kostenfrei auf GitHub bereitgestellt. Das Tool versucht die Primzahl des privaten RSA-Schlüssel, der von Wanacry zum Verschlüsseln der Dateien benutzt wurde, zu ermitteln.

Dazu durchsucht das Tool den Speicherbereich des Prozesses wcry.exe (des Trojaners). Dies ist der Prozess des Trojaners, der den privaten RSA-Key erzeugt. Dies ist möglich, weil CryptDestroyKey und CryptReleaseContext den Speicher nicht löschen, bevor sie diese freigeben. Damit kann Tool auf die Suche gehen – aber nur so lange die Windows XP-Maschine noch nicht neu gebootet wurde.

Höchst spannend fand ich die Erläuterungen von Adrien Guinet. Er schreibt, dass das 'vergessene' Löschen der dem Prozess zugewiesenen Speicherbereich kein Fehler der Ransomware-Autoren war. Diese verwenden die Windows Crypto API korrekt. Aber man staunt, was Duinet herausgefunden hat.

  • unter Windows 10 bewirkt die Funktion CryptReleaseContext ein Löschen des zugewiesenen Speicherbereichs vor dessen Freigabe. Daher funktioniert die zum Ermitteln der Primzahl verwendete Methode nicht.
  • Unter Windows XP kann die Methode zum Suchen der Primzahl für den RSA-Key funktionieren, das die Funktion CryptReleaseContext kein cleanup des Speichers vor der Freigabe durchführt.

Guinet verweist auf MSDN, wo für diese Funktion folgendes ausgeführt wird: "After this function is called, the released CSP handle is no longer valid. This function does not destroy key containers or key pairs.". Es gibt also scheinbar unter Windows keine plattformübergreifende Möglichkeit, diese Speicherbereiche zu löschen (Glück für die Suche nach der Primzahl zur Berechnung des privaten RSA-Keys).

Primzahl finden, privaten Key ermitteln

Fall man also den glücklichen Fall hat, dass Windows XP befallen, aber noch nicht neu gebootet wurde, könnte die Primzahl noch im Speicher stecken. Dann man das im GitHub-Ordner \bin enthaltene Tool search_primes.exe einsetzen, um die Primzahl zu sichern.


Anzeige

1. Im ersten Schritt muss man die PID des Prozesses wcry.exe über den Windows XP-Taskmanager ermitteln.

2. Dann sucht man den Pfad zur Datei 00000000.pky auf dem Windows-Laufwerk (die Datei wird von WannaCry angelegt).

3. Dann öffnet man eine Eingabeaufforderung über den Befehl cmd.exe – sollte unter einem Administratorkonto erfolgen, um nicht an fehlenden Berechtigungen zu scheitern.

4. Dann stellt man sicher, dass man (ggf. über cd zum Ordner mit dem Tool gewechselt ist) und gibt folgenden Befehl in der Eingabeaufforderung ein:

search_primes.exe PID path\to\00000000.pky

Der Platzhalter path\to\ ist der Pfad zur .pky-Datei. Wird eine gültige Primzahl im Speicher des Prozesses mit der angegebenen PID gefunden, generiert das Programm search_primes.exe die Datei priv.key im aktuellen Verzeichnis.

Dateien entschlüsseln

Hat dies soweit geklappt, holt man sich das Tool wanafork.exe von der Webseite . Mit dem Tool und der Datei priv.key lassen sich die verschlüsselten Dateien wieder entschlüsseln. Dummerweise läuft dieses Tool aktuell (noch) noch nicht unter Windows XP – man muss also die verschlüsselten Dateien und den privaten Key auf eine andere Maschine kopieren. Hinweise zur Vorgehensweise finden sich in der Readme auf der verlinkten GitHub-Seite.

Übrigens: Der Ratschlag der Experten und von mir war, nicht an die Erpresser zu zahlen. Es gibt Berichte, dass die Leute die Schlüssel nicht bekommen haben, nachdem die 300 Euro in Bitcoins bezahlt wurden. In diesem Blog-Kommentar schreibt allerdings ein Benutzer, dass er den privaten Schlüssel bekommen habe. (via)

Eine unter den gleichen Prämissen arbeitende Lösung für Windows 7 wurde ebenfalls entwickelt. Ich habe diese im Blog-Beitrag WannaCry: Decrypting mit WanaKiwi auch für Windows 7  beschrieben.

Ähnliche Artikel:
Ransomware WannaCry befällt tausende Computer weltweit
WannaCrypt-Zwischenruf: Wir müssen reden …
WannaCrypt: Updates für Windows XP, Server 2003 & Co.
WannaCry: Neue Versionen und mehr Neuigkeiten
Auch Geldautomaten sollen mit Windows 10 laufen …
WannaCry: Die Lage am Montag


Cookies blockieren entzieht uns die Finanzierung: Cookie-Einstellungen

Dieser Beitrag wurde unter Problemlösung, Sicherheit, Tipps abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

12 Antworten zu Wannycry: WCry-Decryptor für Windows XP

  1. deo sagt:

    Gesucht werden demnach XP-Rechner, die seit letztem Freitag zwar befallen, aber noch nicht neu gestartet wurden. Wie realistisch ist das? Dabei wurde geraten, alle PCs im Netzwerk unverzüglich davon zu trennen, bzw. abzuwürgen.

    • Günter Born sagt:

      Ich würde es nicht so ganz abtun. Noch kann es ja sein, dass irgendwelche XP-Maschinen so laufen oder ad hoc befallen und verschlüsselt werden.

      Wäre jetzt ja noch cool, wenn eine Sicherheitslücke in der Windows Crypto API gefunden würde, mit der man den Key ohne Kenntnis der Primzahl nachberechnen könnte.

    • Ja vom Netzwerk trennen aber nicht runter fahren, aber so richtig realistisch ist das nun nicht!

      Und wie Realistisch sieht das aus wenn ich Befallene Verschlüsselte Daten von einem Windows 7 Rechner auf einen XP Rechner überspiele klappt das dann auch ;)

  2. Kim O. Fee sagt:

    Mit einem sicherheitskritischen System online, ohne Backups, ohne Echtzeit-Malware-Scannner, schön voll auf Risiko – aber dann den Entschlüsselungs-Crack spielen! Junge, Junge … :-) (Manches ist schlicht nicht zu fassen …)

  3. Oldi-40 sagt:

    Moin,

    gibt es denn Infos wie die Software/Schadware auf den Rechner kommt?

    Experten schreiben da von Mails mit Anhang.

    Tschau

  4. Tim sagt:

    "Dann öffnet man eine Eingabeaufforderung über den Befehl cmd.exe – sollte unter einem Administratorkonto erfolgen, um nicht an fehlenden Berechtigungen zu scheitern."

    Hmmm… wobei ein Wechsel zu einem Admin Konto nun wieder die Gefahr mitbringt, das entsprechend freigestellter Speicherbereich überschrieben werden könnte?
    Darum gehts doch, zufällig die Reste zu finden, die noch nicht überschrieben wurden, oder?
    Oder landet der Speicher des einen Nutzers komplett in der Auslagerungsdatei beim Kontowechsel? Dann könnt man dort noch angeln…

    Ich seh das so, das löschen des Speichers vor Freigabe ist heute aufgrund des größeren Arbeitsspeichers einfach notwendig, während zu XP Zeiten doch eh immer Speicher Mangel herrschte… Heute ist die Wahrscheinlichkeit halt größer, das Reste überleben würden… Wir hatten doch nix damals… :)

Schreibe einen Kommentar zu deo Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.