Petya-Analyse

Technische Analyse zum Petya/NotPetya-Ransomware Angriff

Technische Analyse zum Petya/NotPetya-Ransomware Angriff

Weder Motiv noch Name eindeutig

Wieder einmal hält ein medienwirksamer Cyber-Angriff die Security-Branche in Atem. Der am 27.06.2017 ausgebrochene Ransomware-Angriff wurde auf Grund des Nutzlastverhaltens zunächst der Petya-Ransomware aus dem Jahre 2016 zugeordnet. Ein Tag später war man aber der Ansicht, dass Petya doch sehr starke Modifikationen zum bekannten Verhaltensmuster aufweist und somit ein neuer Name für diese Variante geschaffen werden muss. Neben der Namensänderung auf NotPetya durch Kaspersky, spricht man zusätzlich noch von ExPetr, Petna, NyEtya, PetWrap oder sogar GoldenEye.

Wie auch immer, dieser Angriff gibt vor allem in Puncto Motiv weitere Rätsel auf. Momentan gibt es drei Theorien für die Motivation der Angreifer, wobei sich das erste Motiv „Geld“ durch den geringen Erfolg sehr schnell wieder ausschließen lässt. Gründe dafür sind die geringe Lösegeldforderung von $300 in Bitcoins und das nach 2 Tagen bereits geschlossen Bitcoin Konto auf das das Lösegeld eingezahlt werden sollte, um die Daten entschlüsselt zu bekommen. Laut unterschiedlichen Berichten hat dieser massive Angriff angeblich weniger als $10.000 eingebracht.

Eher könnte man vermuten, dass es ein politisch motivierter Angriff war. Der ursprüngliche Ausbruch fand in der Ukraine statt. Angeblich ausgelöst durch ein Update der Steuerbilanz- und Buchhaltungssoftware MEDoc. Die Betreiber der Software bestreiten allerdings die Vorwürfe. Hinzu kommt, dass am 28. Juni der Verfassungstag der Ukraine war, ein gefeierter Nationalfeiertag. Vielleicht ein massives Zeichen gegen die Pro-Ukraine Wähler?

Bleibt noch das Motiv der rücksichtslosen Zerstörung. Die Ukraine wurde bereits Anfang 2016 durch den KillDisk Angriff, Opfer wilder Zerstörungswut, bei dem Festplattendaten von vielen Organisationen gelöscht wurden. Vielleicht wollte man nur eine große Anzahl an ukrainischen Organisationen schädigen und war sich der möglichen Ausbreitung des Angriffs gar nicht bewusst?

Ob es sich nun um Cyberkriminalität oder einen staatlich sanktionierten Angriff handelt, sei mal dahingestellt, beängstigend ist die rasche Zunahme solcher großen Angriffe. Wie es scheint sind die Angreifer mutiger geworden und mischen mittlerweile verschiedene Angriffsmuster und Exploits zu einem neuen nicht kalkulierbaren Cocktail zusammen.

Ablaufanalyse von Symantec

Laut Symantec wurde die Erstinfektion über die Updatefunktionen der Steuer- und Buchhaltungssoftware MEDoc ausgelöst, die vor allem in der Ukraine sehr verbreitet ist.

Petya ist ein Wurm, der die Fähigkeit besitzt, sich selbst weiter zu „vermehren“. Dies erfolgt durch den Zusammenbau einer Liste an Zielcomputern, auf denen er sich „fortpflanzen“ kann. Zuerst werden IP-Adressen im lokalen Netzwerk gesammelt und anschließend mit Remote-IP-Adressen vervollständigt.

Die Zusammenstellung der Liste erfolgt durch das Scannen

  • aller IP-Adressen und DHCP-Server aller Netzwerkadapter
  • aller DHCP-Clients des DHCP-Servers, wenn die Ports 445/139 offen sind
  • alle IP-Adressen im Subnetz, wie durch die Subnetz-Maske definiert, wenn Ports 445/139 geöffnet sind
  • aller Computer, die die eine aktuell offene Netzwerkverbindung haben
  • aller Computer im ARP-Cache
  • aller Ressourcen im Active Directory
  • aller Server und Workstation-Ressourcen in der Netzwerkumgebung
  • aller Ressourcen im Windows Credential Manager (einschließlich Remote Desktop Terminal Service)

Sobald die Liste der Zielcomputer identifiziert wurde, baut Petja eine Liste von Benutzernamen und Passwörter, die es verwenden kann, um sich auf die Ziele verbreiten zu können. Die Liste der Benutzernamen und Passwörter werden im Speicher abgelegt.

Dazu werden zwei Methoden genutzt:

  • Einsammeln von Benutzernamen und Passwörter vom Windows-Credential Manager
  • Ausführung eines 32-Bit oder 64-Bit-Credential Dump aus dieser Essenz

Verbreitung

Petya verwendet zwei primäre Methoden, um sich über Netzwerke verbreiten zu können:

  • Ausführung über Netzwerkfreigaben: Es wird zunächst versucht sich selbst, durch die gewonnenen Anmeldeinformation, nach [COMPUTER NAME] \ admin$ zu kopieren. Die Remote-Ausführung erfolgt dann entweder über PsExec oder dem Windows Management Instrumentation Command-Line (WMIC) Tool. Beides sind legitime Tools.
  • SMB-Exploits: Es versucht, sich mit Variationen der EternalBlue- und EternalRomance-Exploits zu verbreiten.

Top 20 Länder, anhand der Anzahl betroffener Organisationen

Erstinfektion und Installation

Petya wird zunächst über rundll32.exe mit dem folgenden Befehl ausgeführt:

  • rundll32.exe perfc.dat, # 1

Sobald die DLL geladen wurde, wird zunächst versucht sich aus dem infizierten System zu entfernen. Dazu wird zunächst die Datei geöffnet und mit 0-Bytes überschrieben, bevor sie schließlich von der Festplatte gelöscht wird. Durch das Überschreiben mit 0-Bytes wird versucht, eine mögliche Wiederherstellung durch forensische Techniken vereiteln zu können.

Als nächstes wird versucht folgende Datei zu erstellen, die als Flag gekennzeichnet, die Infizierung des Computers anzeigt:

  • C:\Windows\perfc

MBR-Infektion und Verschlüsselung

Einmal installiert, ändert Petya den Master Boot Record (MBR). Dadurch kann der Rechner während des nächsten Neustarts übernommen werden. Der modifizierte MBR wird dann zur Verschlüsselung der Festplatte verwendet, während eine CHKDSK-Bildschirmanzeige simuliert wird. Daraufhin erfolgt die bekannte Anzeige des Erpresserbriefes an den Benutzer.

Die MBR-Modifikation gelingt nicht im normalen User-Mode, aber die Bedrohung wird trotzdem über das Netzwerk verbreitet.

Dafür wird an diesem Punkt ein Neustart des Systems mit dem folgenden Befehl geplant:

  • "/ C bei 0.49 C: \ WINDOWS \ system32 \ shutdown.exe / r / f"

Durch die reine Planung und nicht Erzwingung eines Rechner-Neustarts, gewinnt Petya Zeit, um sich zunächst auf die anderen Computer im Netzwerk zu verbreiten, bevor die User-Mode Verschlüsselung eintritt.

Dateiverschlüsselung

Petya führt die Verschlüsselung auf zwei Arten durch:

  • Nachdem sich Petya auf den Computer verbreitet hat, tritt zunächst die User-Mode Verschlüsselung in Kraft, die Dateien mit einer bestimmten Erweiterung auf der Festplatte verschlüsseln
  • Der MBR wird modifiziert, um einen benutzerdefinierten Loader hinzuzufügen, der den CHKDSK-Simulator lädt. Dieser Simulator wird dazu verwendet, um die Tatsache zu verbergen, dass jetzt eine komplette Festplattenverschlüsselung durchgeführt wird. Somit erfolgt eine zweifache Verschlüsselung – Benutzerbasiert und Full-Disk

User-Mode Verschlüsselung

Nach der Verbreitung auf die Rechner listet Petya alle Dateien von beliebigen Festplatten auf (z.B.: C:\, D:\, usw…) und prüft folgende Dateierweiterungen. (Dabei wird allerdings das %windir% Verzeichnis des Laufwerks übersprungen.)

.3ds .7z .accdb .ai asp aspx .avhd .zurück bak .c CFG Conf CPP CS- .ctl DBF .disk .djvu .doc .docx .dwg EML .fdb gz .h . hdd .kdbx .mail .mdb msg .nrg .ora .ost .ova .ovf .pdf .php .pmf .ppt .pptx Pst .pvi Py .pyc .rar .rtf SLN .SQL TAR .vbox. vbs .vcb .vdi VFD VMC VMDK .vmsd vMX .vsdx .vsv .work .xls .xlsx .xvd .zip

Anschließend wird ein AES 128bit Schlüssel für jedes Laufwerk generiert. Wenn nun eine Dateierweiterung mit der oben aufgeführten Dateierweiterungsliste übereinstimmt, wird das erste MB der Datei mit dem generierten Key verschlüsselt. Nachdem alle in Frage kommenden Dateien verschlüsselt wurden, generiert Petya den Erpresserbrief und schreibt ihn in eine readme.txt auf dem aktuellen Laufwerk.

Die erzeugten AES Schlüssel werden dann durch einen eingebetteten öffentlichen Schlüssel nochmals verschlüsselt.

Dieser entstandene verschlüsselte „Klumpen“ wird ans Ende des Erpressertextes (readme.txt) als Base64 codierte Zeichenfolge angehängt und als sog. „Installationsschlüssel“ bezeichnet.

Anschließend wird der erzeugte Schlüssel zerstört, um ein evtl. Abrufen aus dem Speicher zu verhindern.

An diesem Punkt wird das System neu gestartet und der modifizierte MBR-Code lädt den simulierten CHKDSK-Bildschirm und die entsprechende Festplattenverschlüsselung wird durchgeführt.

Mehr Wiper als Ransomware

Nach einem Systemneustart wird also der infizierte MBR geladen, die Festplattenverschlüsselung beginnt und die Lösegeldforderung wird dem Benutzer angezeigt. Der "Installationsschlüssel", auf den in der Lösegeldforderung verwiesen wird, ist nur eine zufällig generierte Zeichenfolge, die dem Benutzer angezeigt wird. Für die Festplattenverschlüsselung wird dann ein zufällig generierter Salsa20-Schlüssel verwendet. Da es keine Beziehung zwischen dem "Installationsschlüssel" und dem Salsa20-Schlüssel gibt, kann die Festplatte niemals entschlüsselt werden. Dies zeigt, dass Petya genauer gesagt ein Wiper ist, der es nur auf Zerstörung abgesehen hat und keine echte Ransomware.