Petya – zwei Trojaner in einem

Inhalt

Die Infektion des MBR und die Verschlüsselung von Dateien ist keine Neuheit in der Welt der Schadprogramme. Im weit zurückliegenden Jahr 1994 erschien der Virus OneHalf, der den Master Boot Record (MBR) infizierte und den Inhalt der Festplatte verschlüsselte. Dabei war der Virus allerdings nicht auf Erpressung aus. Im Jahr 2011 kamen MBR-Blockierer (Trojan-Ransom.Win32.Mbro) in Umlauf. Sie infizierten den MBR und verhinderten das Booten des Betriebssystems. Um diese Schädlinge wieder loszuwerden, wurde von den Besitzern der infizierten PCs ein Lösegeld gefordert. Das System von diesem Blockierungsprogramm zu säubern war nicht schwierig, da der Trojaner neben dem MBR in der Regel keine anderen Daten auf der Festplatte verschlüsselte.

Heute haben wir es mit einer neuen Bedrohung zu tun, die aus alten Ansätzen Neues recycelt. Der Trojaner Petya (den Kaspersky Lab unter der Bezeichnung Trojan-Ransom.Win32.Petr führt) infiziert den MBR, verhindert ein normales Booten des Computers und verschlüsselt die MFT (Master File Table), einen wichtigen Teil des Dateisystems NTFS, womit ein normales Zugreifen auf die Dateien der Festplatte nicht mehr möglich ist.

Infektionsszenarien

Die Verbreiter von Petya greifen ihre potenziellen Opfer an, indem sie Spam versenden, der Download-Links für ein Zip-Archiv enthält. Im Archiv befinden sich die ausführbare Datei des Trojaners und ein Bild im Format JPEG. Die Namen der Dateien sind in deutscher Sprache geschrieben (Bewerbungsunterlagen.PDF.exe, Bewerbungsmappe-gepackt.exe) und die Dateien selbst werden als Bewerbungsunterlagen ausgegeben. Sie wenden sich an Mitarbeiter von Personalabteilungen in deutschsprachigen Ländern.

Petya – zwei Trojaner in einem

Inhalt der Archive, deren Download-Links via Spam verschickt werden

Die Cyberkriminellen machten sich nicht die Mühe, irgendwelche Methoden zur automatischen Erhöhung der Privilegien anzuwenden. Das Manifest der ausführbaren Datei des Trojaners enthält einen Standardeintrag:

Petya – zwei Trojaner in einem

Wenn die schädliche ausführbare Petya-Datei startet, blendet Windows die Standard-Abfrage der Benutzerkontensteuerung (User Account Control, UAC) nach Rechteerhöhung ein. Wurde das System von den Administratoren klug eingerichtet (das heißt, UAC ist aktiviert und der Nutzer arbeitet nicht unter dem Administratoren-Account), kann der Trojaner nicht weiter ausgeführt werden.

Leider stimmen Nutzer mit Administrator-Privilegien aber sehr häufig der Anfrage der UAC zu und berücksichtigen dabei nicht die potenziellen Risiken, die mit dem Start unbekannter Software einhergehen, die erhöhte Privilegien besitzt.

Funktionsschema des Trojaners

Ausführbare Datei und Packer

Eine Infektion mit dem Trojaner Petya beginnt mit dem Start der schädlichen ausführbaren Datei. Die Samples dieses Trojaners, die den Experten von Kaspersky Lab vorliegen, sind wie der Großteil aller Malware durch einen selbstgemachten Packer geschützt. Nach dem Start der ausführbaren Datei nimmt der Code des schädlichen Packers seine Arbeit auf, der die Bibliothek Setup.dll in einen ausgewählten Bereich des Arbeitsspeichers entpackt und ihr daraufhin die Kontrolle übergibt.

Normalerweise verwenden Cybergangster Packer, um der Entdeckung zu entgehen. Dadurch können sie zum Beispiel statische Signaturen umgehen, den heuristischen Analyser austricksen und so weiter. Bei der Analyse des Petya-Packers konzentrierten wir uns auf einen ungewöhnlichen Trick, den die Cybergangster anwenden.

Häufig versuchen Online-Kriminelle, ihren Packer so zu konstruieren, dass die gepackte schädliche ausführbare Datei äußerlich einer legalen Datei so ähnlich wie möglich ist. Manchmal nehmen sie irgendeine legale Datei und tauschen in ihr einen Teil des Codes gegen Schadcode aus. Im Fall des Trojaners Petya haben sie es auch so gemacht, allerdings mit einer interessanten Besonderheit: Gegen den Schadcode wird ein Teil der standardmäßigen Runtime-Bibliothek ausgetauscht, die mit einem Compiler generiert wurde, und die Funktion WinMain bleibt unangetastet. Auf der Abbildung unten sind die Übergänge dargestellt, beginnend mit dem Ausgangspunkt („start“). Man sieht, dass die Entpackungsfunktion des Schadcodes, die wir „evil“ genannt haben, aus der legalen Funktion __calloc_crt aufgerufen wird, die Teil des Runtime-Codes ist.

Petya – zwei Trojaner in einem

Grafische Darstellung der Übergänge zwischen den Funktionen des schädlichen Packers

Warum wird das gemacht? Offensichtlich versuchen die Autoren des schädlichen Packers auf diese Weise einen unaufmerksamen Analysten oder einen automatischen Analyser auszutricksen: Die äußere Datei ähnelt einer legalen Datei und WinMain enthält keinen schädlichen Code. Es besteht also die Chance, dass der Schädling nicht entdeckt wird. Wenn man darüber hinaus beim Debugging einen Haltepunkt auf WinMain setzt, so wird der Schadcode verarbeitet (und schickt das System in den BSOD, dazu später mehr), doch bis zum Haltepunkt gelangt die Ausführung sowieso nicht.

Kaspersky Lab hat Petya-Samples gefunden, die als legale Dateien getarnt waren, und die in C/C++ sowie in Delphi programmiert wurden.

Schädliche Bibliothek

Setup.dll ist eine Bibliothek mit dem einzigen Export „_ZuWQdweafdsg345312@0“, geschrieben in C und kompiliert in Microsoft Visual Studio. Die Umsetzung der kryptografischen Algorithmen entlehnten die Cybergangster der allgemein zugänglichen Bibliothek mbedtls (die ehemalige polarssl). Setup.dll wird nicht in Form einer separaten Datei auf der Festplatte gespeichert, sondern sie befindet sich die ganze Zeit nur im Arbeitsspeicher.

Erhält Setup.dll die Steuerung, verschlüsselt sie die Daten, die in dem Sektor „.xxxx“ enthalten sind und geht dann zur eigentlichen Infektion des PCs über.

Petya – zwei Trojaner in einem

Verschlüsselter Sektor .xxxx mit Daten

Petya – zwei Trojaner in einem

Teil der entschlüsselten Daten aus Sektor .xxxx

Auf einer hohen Abstraktionsebene führen die Aktionen von Setup.dll zu Folgendem:

  1. Überschreiben des MBR der Festplatte mit seinem schädlichen Lader.
  2. Generieren des Schlüssels, der Infektions-ID und anderer Hilfsinformationen. Speichern dieser Informationen auf der Festplatte.
  3. Hervorrufen eines außerplanmäßigen Herunterfahrens des Betriebssystems mit anschließendem Neustart, infolgedessen die Steuerung an den schädlichen Lader übertragen wird.

Schauen wir uns nun einmal genau an, wie das in dem Trojaner umgesetzt wurde. Doch zunächst einmal definieren wir die hier verwendete Terminologie.

Sektor der Festplatte – kleinster adressierbarer Bereich auf einer Festplatte, in der Regel mit einer Größe von 512 Byte.

MBR – Master Boot Record – Code und Daten, die in den Sektor Null geschrieben sind. Nach Initialisierung der Hardware wird der Start des PCs mit diesem Code umgesetzt; in diesem Sektor befindet sich zudem die Partitionstabelle der Festplatte. Das Partitionieren der Festplatte unter Verwendung des MBR unterstützt bis zu vier primäre Partitionen, wobei die maximale Größe einer Partition ungefähr 2,2 TB beträgt.

GPT – zu Deutsch GUID-Partitionstabelle, ein moderner Standard für das Format von Partitionstabellen auf Festplatten, das 128 Partitionen unterstützt, mit einer maximalen Partitionsgröße von bis zu 9,4 ZB (1 Zettabyte = 1021 Byte).

Wenden wir uns also wieder dem zu analysierenden Trojaner zu. Setup.dll unterstützt die Infektion von Festplatten, die sowohl in Übereinstimmung mit dem älteren MBR-Standard partitioniert sind, als auch mit dem modernen GPT-Standard. Im Schädling sind zwei separate Ausführungsstränge enthalten. Die Auswahl des Threads wird auf der Grundlage der Daten des Feldes PartitionStyle der Struktur PARTITION_INFORMATION_EX getroffen.

Petya – zwei Trojaner in einem

Auswahl des Ausführungsstranges für die Infektion einer Festplatte mit MBR- oder GPT-Partition

Infektion einer Festplatte mit MBR-Partitionierung

Bei der Infektion einer Festplatte mit MBR-Partitionierung führt Setup.dll die folgenden Aktionen durch:

  1. Sie verschlüsselt den Sektor Null (Originalcode und -Daten des MBR) mit der einfachen Operation XOR 0x37 (der ASCII-Code für „7“) und schreibt das Ergebnis in Sektor 56.
  2. Sie verschlüsselt die Sektoren 1 bis 33 mit eben der Operation XOR 0x37.
  3. Sie generiert Konfigurationsdaten für den schädlichen Lader und schreibt diese in Sektor 54.
  4. Sie erstellt den Kontrollsektor 55, der ausgefüllt ist mit dem sich wiederholenden Byte 0x37.
  5. Sie kopiert die NT-Signatur der Festplatte und die Partitionstabelle aus dem Original-MBR in ihren Lader erster Ebene; sie schreibt den schädlichen Code der ersten Ebene in Sektor Null der Festplatte und den Code der zweiten Ebene in die Sektoren 34 bis 50 (nennen wir diesen Schadcode schädlichen Lader).
  6. Sie ruft die Funktion NtRaiseHardError auf, was zu einem Absturz des Betriebssystems führt („Blue Screen of Death“, BSOD).

Nach der Infektion einer Festplatte mit MBR-Partitionierung hat der Anfang der Festplatte die folgende Struktur:

Nummer des Sektors Inhalt
0 Schädlicher Lader der ersten Ebene
1 bis 33 Verschlüsselte Sektoren 1 bis 33 (XOR 0x37)
34 bis 50 Schadcode der zweiten Ebene
54 Konfigurationssektor des Schädlings
55 Kontrollsektor (ausgefüllt mit dem Byte 0x37)
56 Verschlüsselter Originalcode des MBR (XOR 0x37)

Infektion einer Festplatte mit GPT-Partitionierung

Bei einer Festplatte mit GPT-Partitionierung muss Setup.dll etwas mehr Arbeit leisten:

  1. Auf der Grundlage der Daten des Primary GPT Headers erhält sie die Adresse der Kopie des GPT Headers.
  2. Sie verschlüsselt die Kopie des GPT Headers mit der Operation XOR 0x37.
  3. Es folgen dieselben Aktionen wie bei der Infektion einer Festplatte mit MBR-Partitionierung.

Nach der Infektion einer Festplatte mit GPT-Partitionierung hat der Anfang der Festplatte die folgende Struktur:

Nummer des Sektors Inhalt
0 Schädlicher Lader der ersten Ebene
1 bis 33 Verschlüsselte Sektoren 1 bis 33 (XOR 0x37)
34 bis 50 Schädlicher Code der zweiten Ebene
54 Konfiguration des Schädlings
55 Kontrollsektor (ausgefüllt mit dem Byte 0x37)
56 Verschlüsselter Originalcode des MBR (XOR 0x37)
Backup LBA bis
Backup LBA + 33
Verschlüsselte Kopie des GPT Headers (XOR 0x37)

Generierung der Konfigurationsdaten

In dem Konfigurationssektor (Sektor 54) verwahrt der Trojaner die Daten, die er für die Chiffrierung der MFT und – im Falle der Lösegeldzahlung durch den Anwender – auch für die Dechiffrierung der MFT benötigt. Der Generierungsprozess der Konfigurationsdaten umfasst die folgenden Schritte:

  1. Setup.dll generiert einen zufälligen String aus 16 Zeichen (1 bis 9, a bis x, A bis X); diesen String nennen wir password.
  2. Sie generiert das Schlüsselpaar ec_session_priv (geheimer Schlüssel, zufällige hohe ganze Zahl) + ec_session_pub (öffentlicher Schlüssel, Punkt auf der standardmäßigen elliptischen Kurve secp192k1).
  3. Sie berechnet den allgemeinen privaten session_secret = ECDH(ec_session_priv, ec_master_pub); der öffentliche Schlüssel der Cyberkriminellen ec_master_pub befindet sich im Körper des Trojaners.
  4. Sie errechnet aes_key = SHA512(session_secret) – übernommen werden die ersten 32 Byte des Hashes.
  5. Sie verschlüsselt den String password mit einer XOR-Operation mit den ersten 16 Byte von ec_session_pub: password_xor = ec_session_pub[0, 15] xor password.
  6. Das Ergebnis wird mit einem 256 Bit starken AES-Algorithmus mit dem Schlüssel aes_key: password_aes_encr = AES_enc(password_xor) chiffriert.
  7. Sie bildet das Datenfeld ec_session_data = [ec_session_pub, password_aes_encr].
  8. Daraus errechnet sie base58: ec_session_data_b58 = base58_enc(ec_session_data).
  9. Sie errechnet aus dem Ergebnis SHA256: digest = sha256(ec_session_data_b58).
  10. Sie bildet das Datenfeld ec_data: ec_data = [check1, check2, ec_session_data_b58], wobei check1 und check2 aus den folgenden Formeln errechnete Bytes sind:
    a = digest[0] & 0xF
    b = (digest[0] & 0xF) < 10
    check1 = (digest[0] >> 4) + 0x57 + ((digest[0] >> 4) < 10 ? 0xD9 : 0)
    check2 = a + 0x57 + (b ? 0xD9 : 0)
  11. Sie bildet den Schlüssel für die Chiffrierung der MFT auf der Grundlage von password.
  12. Petya – zwei Trojaner in einem

    Pseudocode der Erstellung des Schlüssels für die Chiffrierung der MFT

  13. Sie generiert den Initialisierungsvektor – zufällige acht Bytes, die bei der Verschlüsselung der MFT benutzt werden.
  14. Sie generiert die Infektions-ID und erstellt eine „personalisierte“ Adresse der Webseite für die Lösegeldzahlung.

Im Ergebnis sieht die Struktur der Konfigurationsdaten folgendermaßen aus:

Petya – zwei Trojaner in einem

In der Syntax der Sprache C lässt sich diese Struktur folgendermaßen darstellen:

9_de_petya

Und so sieht die Konfiguration aus, wenn sie auf die Festplatte geschrieben ist.

Petya – zwei Trojaner in einem

Die Schäden am System sind nur minimal, wenn nach dieser Etappe der Computer ausgeschaltet und nicht mehr eingeschaltet wird, da es kein Problem darstellt, ein einbytiges XOR zu entschlüsseln. Daher der Rat: Wenn das System nach dem Start einer unbekannten Datei abstürzt und den „blauen Bildschirm des Todes“ (BSOD) anzeigt, sollte man den Rechner ausschalten und sich an einen qualifizierten Fachmann wenden. Dieser kann eine Infektion mit Petya identifizieren und die mit XOR verschlüsselten Sektoren wiederherstellen.

Startet der User den Computer aber neu, wird die dritte Infektionsetappe eingeleitet, und zwar mit der Arbeit des Schadcodes, der in die Festplattensektoren Null und 34 bis 50 geschrieben ist.

Schädlicher Lader

Nach dem Neustart erhält der Code in Sektor Null die Kontrolle (Lader der ersten Ebene). Er liest im Speicher den Hauptschadcode der zweiten Ebene aus den Sektoren 34 bis 50 und übergibt ihm die Steuerung. Dieser erhält seinerseits Informationen über die im System vorhandenen Festplatten, sucht dann die Festplatte, auf die die Konfigurationsdateien geschrieben wurden, liest die Konfigurationsdateien aus Sektor 54, nimmt in Abhängigkeit von dem Wert (wenn der Wert gleich Null ist) in dem Feld config.state die Verschlüsselung in Angriff oder fordert zur Eingabe des gekauften Dechiffrierungsschlüssels auf (wenn der Wert gleich eins ist).

Petya – zwei Trojaner in einem

Fragment des Codes, der die Logik des Schädlings umsetzt

Verschlüsselung der MFT

Die MFT (Master File Table) ist eine Datenstruktur des Dateisystems NTFS, die in allen modernen Windows-Versionen verwendet wird. In dieser Tabelle stehen die Daten, über die sich der Inhalt jeder Datei auf der Festplatte finden lässt – vergleichbar mit dem Inhaltsverzeichnis eines Buches, das anzeigt, auf welcher Seite man welches Kapitel findet. So zeigt auch die MFT, in welchem logischen Cluster welche Datei zu finden ist.

Und genau diesen wichtigen Bereich greift Petya an. Wenn der Wert von config.state beim Start gleich Null ist, führt der Schädling die folgenden Aktionen durch:

  1. Er zeigt eine gefälschte Mitteilung über die Überprüfung der Festplatte an.
  2. Petya – zwei Trojaner in einem

  3. Er liest den ‚config.salsa_key‘ aus dem Konfiguration-Sektor in ein lokales Array; setzt dieses Feld auf der Festplatte auf 0 und ‚config.state‘ auf 1.
  4. Er verschlüsselt mit der Stromverschlüsselung Salsa20 den Kontrollsektor 55, der vorher mit dem Byte 0x37 gefüllt war (siehe oben, Kapitel „Infektion des MBR“).
  5. Er sucht die MFT jeder Partition auf jeder angeschlossenen Festplatte.
  6. Er verschlüsselt die Daten der MFT mit der Verschlüsselung Salsa20. Die Verschlüsselung wird häppchenweise über acht Sektoren (vier KB) durchgeführt, und in Sektor 57 befindet sich ein Zähler der bearbeiteten Teile.
  7. Wenn die Verschlüsselung abgeschlossen ist, wird ein Neustart initiiert.

Nach Abschluss der Verschlüsselung und einem Neustart des Computers „zaubert“ der Code des schädlichen Petya-Laders eine Animation in Form eines weiß-rot blinkenden Totenschädels im ASCII-Art-Stil auf den Bildschirm.

Petya – zwei Trojaner in einem

Drückt man eine beliebige Taste, zeigt der Trojaner einen Text an, der sich nun nicht mehr als Benachrichtigung des Betriebssystems tarnt, sondern das Opfer ohne falsche Bescheidenheit über das Geschehene in Kenntnis setzt.

Lösegeldforderung und Dechiffrierung

Petya – zwei Trojaner in einem

Auf diesem Bildschirm zeigt Petya Links auf Webseiten für die Lösegeldzahlung an, die sich im Netzwerk Tor befinden (die Adressen sind in config.mal_urls enthalten), und einen „persönlichen Dechiffrierungscode“, der auf einer der oben genannten Webseiten eingegeben werden muss. Dieser „Code“ ist in Wahrheit der Inhalt des Feldes config.ec_data, wobei die sechs Zeichen durch Bindestriche getrennt sind.

Wie wollen die Cyberkriminellen die MFT entschlüsseln, und können sie das überhaupt?

Im Eingabefeld „Key:“ auf dem Lösegeld-Bildschirm soll das Opfer eine Textzeile eingeben. Diese Zeile wird auf ihre Länge überprüft (benötigt wird eine Zeile mit 16 Zeichen), woraufhin der Trojaner aus ihr den 32 Byte langen salsa_key errechnet (nach dem Algorithmus, der oben in dem Abschnitt „Generierung der Konfigurationsdaten“ beschrieben wurde). Daraufhin versucht der Schädling, mit diesem Schlüssel den Kontrollsektor 55 zu dechiffrieren und überprüft, ob der dechiffrierte Sektor vollständig mit dem Byte 0x37 ausgefüllt ist. Ist das der Fall, wird der Schlüssel als echt eingestuft und Petya dechiffriert mit ihm die MFT. Danach dechiffriert er alle mit XOR 0x37 verschlüsselten Anfangssektoren, stellt den Original-MBR wieder her und bittet um den Neustart des Computers.

Die richtige Zeile zur Eingabe im Feld „Key:“ ist also genau die Zeile password, die im ersten Schritt bei der Erstellung der Konfigurationsdaten generiert wurde.

Petya – zwei Trojaner in einem

Mitteilung auf dem Bildschirm nach erfolgreicher Dechiffrierung

Bleibt die Frage: Wie erfahren die Cyberkriminellen vom Passwort, um es dem zahlenden Opfer mitzuteilen? Denn es besteht während der gesamten Infektion keinerlei automatische Verbindung zu den Servern. Die Antwort verbirgt sich in der Beschreibung des Algorithmus zur Generierung der Konfigurationsdaten.

Das Opfer wird aufgefordert, seinen „persönlichen Dechiffrierungscode“ ec_data auf der Bezahl-Webseite manuell einzugeben. Der Erpresser kann daraufhin die folgenden Operationen durchführen:

  1. Decodieren von base58: base58_dec(ec_session_data_b58) = ec_session_data = [ec_session_pub, password_aes_encr].
  2. In Übereinstimmung mit den Eigenschaften des Diffie-Hellman-Schlüsselaustausches Errechnen des session_secret = ECDH(ec_session_pub, ec_master_priv), wobei ec_master_priv der private Schlüssel ist, der nur den Autoren des Trojaners bekannt ist.
  3. Errechnen von aes_key = SHA256(session_secret).
  4. Dechiffrieren von AES-256: password_xor = AES_dec(password_encr).
  5. Mit Kenntnis von ec_session_pub Errechnen des ursprünglichen password auf der Grundlage von password_xor.

Bezahl-Webseite

Beim Besuch der Tor-Webseite über den vom Trojaner angezeigten Link erscheint zunächst die Aufforderung, ein Captcha einzugeben. Daraufhin wird die eigentliche Bezahlseite geladen. Auffallend ist dabei das Design mit Hammer, Sichel und dem Schriftzug „Ransomware“ in Pseudokyrillisch. All das erinnert an eine Karikatur der Sowjetunion im Stil des Spiels Red Alert.

Petya – zwei Trojaner in einem

Auf dieser Seite befindet sich eine Countdown-Uhr, die anzeigt, wie viel Zeit bis zur Verdoppelung des Lösegeldbetrags verbleibt. Außerdem finden sich dort regelmäßig aktualisierte Links auf Nachrichten und Veröffentlichungen, die mit Petya in Zusammenhang stehen.

Mit einem Klick auf den Button „Start the decryption process“ („Dechiffrierungsprozess starten“) gelangt man auf eine Seite mit der Aufforderung, den Wert von ec_data einzugeben, der hier nun „Ihre ID“ („your identifier“) und nicht mehr „Ihr persönlicher Dechiffrierungscode“ („your personal decryption code“) genannt wird. Offensichtlich waren sich die Cyberkriminellen selbst nicht einig, welchen Namen das Kind nun haben soll.

Petya – zwei Trojaner in einem

Nach Eingabe dieser Zeile zeigt die Seite neben der Lösegeldsumme in Bitcoin auch Mittel und Wege an, die Kryptowährung zu kaufen sowie die Adresse, auf die das Geld überwiesen werden soll.

Darüber hinaus gibt es auf der Webseite noch zwei gesonderte Seiten, und zwar FAQ und Support.

Petya – zwei Trojaner in einem

FAQ-Seite

Die FAQ-Seite ist deswegen interessant, weil sie in Klartext eine falsche Information enthält, denn RSA wird vom Trojaner in keiner Weise auf irgendeiner Infektionsetappe verwendet.

Petya – zwei Trojaner in einem

Support-Seite

Auf der Support-Seite wird den Anwendern die Möglichkeit geboten, den Erpressern eine Mitteilung zu schreiben. Auffallend ist die Bitte „Please write your message in english, our russian speaking staff is not always available“ („Bitte schreiben Sie Ihre Nachricht in Englisch, unsere russischsprachigen Teammitglieder stehen nicht immer zur Verfügung“), aus der folgt, dass zumindest irgendwer in dieser Verbrecherbande russisch spricht.

Verbreitungsgeografie

Wie bereits erwähnt, richten sich die Spam-Versendungen gegen deutschsprachige Anwender, und die KSN-Statistik bestätigt, dass Deutschland das Hauptziel der Cybererpresser ist.

Petya – zwei Trojaner in einem

TOP 5 der Länder nach Anteil der von Petya angegriffenen Anwender:

Land Zahl der angegriffenen Anwender
1 Deutschland 579
2 China 19
3 Indien 8
4 Japan 5
5 Russische Föderation 5

Fazit

Der von uns analysierte Trojaner Petya erweist sich als ein ungewöhnlicher Hybrid aus MBR-Blockierer und Datei-Verschlüsseler: Er verhindert nicht nur das Booten des Betriebssystems, sondern auch den normalen Zugriff auf die Dateien, die sich auf den Festplatten des angegriffenen Systems befinden.

Auch wenn sich Petya deutlich von dem Großteil der Ransomware unterscheidet, die in den letzten Jahren in Erscheinung getreten ist, ist er wiederum auch nichts prinzipiell Neues. Die Ideen, die dem Funktionsprinzip dieses Trojaners zugrunde liegen, sind auch schon in früheren Schädlingen umgesetzt worden – die Petya-Autoren haben sie lediglich neu kombiniert. Zugegebenermaßen erfordert die Umsetzung von Code auf unterer Ebene zur Ver- und Entschlüsselung von Daten noch vor dem Laden des Betriebssystems besondere technische Fertigkeiten.

Eine weitere interessante Besonderheit von Petya ist die grafische Aufmachung der Webseite zum Bezahlen des Lösegeldes im Pseudo-Sowjetstil, Auch der Name des Trojaners selbst passt gut in dieses von den Cyberverbrechern geschaffene Muster eines „russischen Trojaners“. Ob die Autoren des Schädlings tatsächlich aus Russland oder aus der GUS stammen, ist nicht sicher, doch wenn man dem Text auf der Bezahlseite Glauben schenkt, so hat die Gruppe mindestens ein russischsprachiges Mitglied.

Die Produkte von Kaspersky Lab schützen die Anwender vor dieser Bedrohung: Die ausführbare Datei von Petya wird als Trojan-Ransom.Win32.Petr erkannt und blockiert. Zudem detektiert der Verhaltensanalysator der Kaspersky-Lösungen selbst unbekannte Modifikationen dieses Trojaners proaktiv als PDM:Trojan.Win32.Generic.

P.S.: Dechiffrierung ohne Bezahlung

Am 8. April berichteten unabhängige Forscher, dass sie einen Weg gefunden haben, password wiederherzustellen, ohne ein Lösegeld an die Erpresser zu zahlen. Die Methode funktioniert auf der Grundlage eines generischen Algorithmus und macht es möglich, unter Verwendung des acht Byte langen Initialisierungsvektor (wird im Konfigurationssektor 54 gespeichert) und des Inhalts des verschlüsselten Kontrollsektors 55 den Wert für password zu errechnen, aus dem sich der für die Dechiffrierung der MFT notwendige Salsa-Schlüssel ergibt.

Ähnliche Beiträge

Es gibt 1 Kommentar
  1. Lutz Lange

    Hallo Fedor,

    Vielen Dank für Ihren sehr interresanten Blog.
    Ich bin Petya Betroffener. Er wurde mir mit einen Bewerbungsschreiben in einer Dropbox untergejubelt.
    An wen kann ich mich wenden um meinen Computer wieder zu entschlüsseln.

    Vielen Dank

Schreibe einen Kommentar

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