Linux.Encoder.1 verwendet berechenbaren Schlüssel – Bitdefender hat es geknackt

Kein Kommentar Autor: Jürgen (jdo)

Vor kurzer Zeit wurde eine Ransomware entdeckt, die Linux-Anwender als Ziel hatte. Man hat die Malware mit dem Namen Linux.Encoder.1 bezeichnet.

Konnte der Schadcode einen Server oder Rechner infizieren, wurden diverse Dateien verschlüsselt. Um den Schlüssel zu erhalten, verlangten die Cyber-Erpresser ein Bitcoin.

Allerdings muss man auch sagen, dass man sich eigentlich nur durch eigenes Verschulden infizieren kann. Ein Administrator muss die Datei mit root-Rechten ausführen und nur dann kann Linux.Encoder.1 sein Unwesen treiben.

Linux.Encoder.1 lässt sich knacken

Zum Glück gibt es aber nicht nur auf der dunklen Seite der digitalen macht schlaue Köpfe, sondern auch die anderen haben etwas auf dem Kasten. In dem Fall ist es Bitdefender Labs.

Die Firma meldet (Englisch), dass man RSA gar nicht knacken muss, wenn man den Schlüssel erraten kann.

Die Entwickler haben einen Fehler gemacht, der den Experten bei Bitdefender aufgefallen ist, als man ein Beispiel von Linux.Encoder.1 genauer unter die Lupe nahm.

Der AES-Schlüssel wird lokal auf dem Rechner des Opfers erzeugt. Nun hat man ein bisschen Reverse Engineering auf Linux.Encoder.1 angewandt und sich angesehen, wie Schlüssel und Initialisierungs-Vektor generiert werden. Anstelle komplett zufälliger Schlüssel und IVs zu nehmen, hat die Malware diese Informationen aus der Funktion rand() plus dem Zeitstempel genommen, wann die Datei verschlüsselt wurde. Nun hatte man schon ein großes Stück des Puzzles, da man diesen Zeitstempel aus der verschlüsselten Datei beziehen kann. Es ist ein ziemlicher Fehler im Design, weil man so an den AES-Schlüssel gelangen kann, ohne den Public RSA Key kaufen zu müssen.

Automatisches Tool für die Entschlüsselung ist verfügbar

Wer von Linux.Encoder.1 befallen ist, kann sein System nun automatisch entschlüsseln lassen – beziehungsweise die Dateien wieder in den Zustand vor der Verschlüsselung mit dem Schadcode versetzen. Das Tool ermittelt den IV und den Schlüssel, indem es einfach die Datei analysiert. Wer ein kompromittiertes System starten kann, soll das Script herunterladen und es als Superuser root ausführen.

Es kann sein, dass das komplette System beeinträchtigt ist und sich einfach nicht mehr starten lässt. In diesem Fall muss man von einer Live CD booten.

Mit diesen Dateien lässt sich Linux.Encoder.1 schlagen

Mit diesen Dateien lässt sich Linux.Encoder.1 schlagen

Schritt für Schritt

  • Zunächst einmal lädst Du das Script von Bitdefender Labs herunter
  • Es ist notwendig, die Partition mit den verschlüsselten Dateien einzubinden.Mithilfe dieses Befehls erzeugt man eine Liste mit den verschlüsselten Dateien: sort_files.sh encrypted_partition > sorted_list
  • Danach führt man einen head-Befehl aus, um an die erste Datei zu gelangen: head -1 sorted_list
  • Nun lässt man das Tool für die Entschlüsselung laufen: python decrypter.py –f [erste_Datei]
  • Nun entschlüsselt man alles, indem man die gerade ausgegebenen Informationen (seed) nutzt: python /tmp/new/decrypter.py -s [timestamp] -l sorted_list

Bitdefender schreibt, dass die Aufgabe nicht unbedingt trivial ist. Aus diesem Grund bietet man kostenlosen Support für alle Anwender an, die in diesem Fall Hilfe benötigen. Man soll einfach das Kommentar-Formular auf der Seite verwenden.

Linux.Encoder.1 war die erste Malware oder Ransomware seiner Art für Linux. Die Cyberkriminellen werden das mit hoher Wahrscheinlichkeit noch einmal versuchen und sicherlich aus ihren eigenen Fehlern lernen. Für den Moment scheint es, dass unvorsichtige Administratoren mit einem blauen Auge davon kommen. Auch sie sollten lernen und künftig entsprechend Backups haben und wenn man schon Software aus dubiosen Quellen einsetzen möchte, dann probiert man so etwas vorher auf einem Testsystem aus.




 Alle Kommentare als Feed abonnieren

Kommentare sind geschlossen.