LogRhythm Labs Analyse
Technische Analyse der “WannaCry”-Ransomware
Technische Analyse von LogRhythm
Während LogRhythm diesen Report schrieb, war noch nicht endgültig geklärt, wie die anfänglichen Infektionen abliefen. Es wurde spekuliert, dass eine kontaminierte PDF-Datei benutzt und in einer Phishing-Kampagne verbreitet wurde, aber Analysten konnten dies bisher nicht bestätigen. Das LogRhythm zugängliche Exemplar des PDFs zeigte keine entsprechende Funktion.
Die WannaCry-Ransomware setzt sich aus mehreren Komponenten zusammen. Der initiale „Dropper“ enthält den “Encrypter”, das Verschlüsselungsmodul, als eingebettete Ressource. Im Encrypter wiederum ist ein Entschlüsselungsprogramm (“Wana Decrypt0r 2.0”) enthalten und darüber hinaus ein Passwort-geschütztes ZIP-File mit dem Anonymizer „Tor“ sowie diversen Dateien, die Konfigurations-Informationen und Schlüssel für die Verschlüsselung umfassen.
Researcher haben mehrere Versionen des WannaCry-“Droppers” identifiziert, die ähnliche Funktionen aufweisen, aber leicht voneinander abweichen. Die Dropper, Encrypter (Verschlüsselungmodul) und Decrypter (Entschlüsselungsmodul), die Gegenstand dieser Untersuchung sind, sind an den folgenden SHA256-Hash-Werten erkennbar:
Die Malware-Autoren haben offenbar keine großen Mühen darauf verwendet, eine Analyse ihres Produkts zu erschweren, denn die untersuchten Versionen enthielten so gut wie keine Verschleierungs- oder Anti-Debugging-Mechanismen und auch keinen Code, der die Ausführung in VM-Umgebungen erkennt. Die Ransomware macht sich einen Expolit zunutze, den NSA-Analysten entwickelt haben und gegen den das Unternehmen Microsoft am 14. März 2017 ein Sicherheitsupdate verbreitet hat (MS17-010, Details ). Es existieren allerdings noch immer viele nicht aktualisierte Systeme, die nach wie vor verwundbar sind. Die Anwendung des Patches wird die Verbreitung von WannyCry unterbinden, aber keine Infektionen verhindern.
Der erwähnte Exploit mit dem Namen “EternalBlue” nutzt eine Sicherheitslücke im Samba- (SMB-) Protokoll. Sie ermöglicht es der Malware, sich auf nicht aktualisierten Windows-Systemen ab der “XP”-Version bis hin zu Windows-Versionen des Jahres 2016 in Netzwerken zu verbreiten, in denen SMB aktiviert ist. Die Sicherheitslücke erlaubt die Remote-Ausführung von Code über SMB v1. WannaCry setzt auf dem Exploit auf, indem es auf dem Zielsystem zunächst einen spezifischen SMB-Session-Request mit fest programmierten Werten absetzt. Nachdem das erste SMB-Paket an die IP-Adresse des Opfers gesendet wurde, folgen zwei zusätzliche Pakete an die fest definierten IP-Adressen 192.168.56.20 und 172.16.99.5. Eine Regel für den LogRhythm Network Monitor, die diesen Traffic erkennbar macht, finden Sie am Ende dieses Reports
Wird der Dropper ausgeführt, versucht er zunächst eine Verbindung zur Domain
aufzubauen und stoppt wieder, wenn die Verbindung zustande kommt. Die fragliche Domain war zunächst nicht registriert, so dass dieser Fall nicht eintreten konnte. Am Nachmittag des 12. Mai allerdings haben Researcher von MalwareTech die Domain registrieren lassen und überwachen sie seitdem. Für viele Systeme existiert deshalb nun ein effektiver “Killswitch”, der WannaCry-Aktivitäten abbrechen lässt, so dass sich die Infektionsrate insgesamt verlangsamt. Bei Systemen allerdings, die über einen Proxy-Server aufs Internet zugreifen, funktioniert dieser “Unterbrecher” nicht, sie bleiben verwundbar.
Kommt die Verbindung zur genannten Domain nicht zustande, versucht der Dropper, einen Dienst mit dem Namen “mssecsvc2.0” zu starten. Angezeigt wird er als“Microsoft Security Center (2.0) Service”. Im Application Log wir dies als Event-ID 1 sichtbar.
Das System-Event-Log wird außerdem ein Event mit der ID 7036 festhalten, sobald der Service tatsächlich startet. Der Dropper unternimmt außerdem den Versuch, mit dem folgenden Befehl eventuelle Windows-Shadow-Copies zu löschen:
cmd.exe /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog –quiet
Im nächsten Schritt extrahiert der Dropper die Verschlüsselungs-Binary aus seiner Ressource R/1831 und schreibt sie in eine Datei mit dem fest vorgegebenen Namen %WinDir%\tasksche.exe. Diese Datei führt er anschließend aus.
Der Encrypter wiederum prüft nach seinem Start, ob der Mutex “MsWinZonesCacheCounterMutexA0” auf dem System existiert. Ist dies der Fall, geht das Programm nicht weiter vor. Interessanterweise erstellt WannyCry den fraglichen Mutex auch nicht, so dass davon auszugehen ist, dass die Ransomware nach dem Vorhandensein einer anderen Software fahndet.
Die Binary des Verschlüsselungsmoduls enthält ein kennwortgeschütztes ZIP-File (Passwort: WNcry@2ol7), in dem sich die folgenden Dateien finden:
- Ein Verzeichnis mit dem Namen “msg”, das Rich-Text-Dateien mit der Endung .wnry entält. Diese Dateien sind die “Readme”-Files, die vom @WanaDecryptor@.exe-Entschlüsselungsprogramm in den folgenden Sprachen angezeigt werden:
Zumindest die Übersetzungen der Entschlüsselungshinweise ins Englische und Spanische scheinen maschinell entstanden zu sein, weil sie Grammatik-Fehler enthalten und nicht so klingen, als seien sie von Muttersprachlern formuliert worden.
Nachdem sie diese Dateien in ihr Arbeitsverzeichnis kopiert hat, versucht die Malware, die Attribute aller Files auf “hidden” (versteckt) zu setzen und uneingeschränkten Zugriff auf das Verzeichnis und alle seine Unterverzeichnisse sicherzustellen. Dazu führt sie folgende Befehle aus: “attrib +h .”, danach “icacls . /grant Everyone:F /T /C /Q”.
Anschließend beginnt WannaCry damit, Dateien auf dem befallenen System zu verschlüsseln. Dazu sucht es nach folgenden Dateiendungen, die in der Binary fest vorgegeben („hard-coded“) sind: Zusätzlich wird ein Registry-Key
geschrieben, der angibt, wo im System WannaCry zuerst ausgeführt wurde.
Das WannaCry-Verschlüsselungsmodul startet nun die eingebettete Entschlüsselungs-Binary “@WanaDecryptor@.exe,” die zwei Timer einblendet und eine Anleitung präsentiert, wie das Lösegeld zu zahlen ist. Die Hinweise erscheinen jeweils in der Anwendersprache, die auf dem infizierten System als Hauptsprache eingestellt ist. Die von uns analysierte Version fordert 600 Dollar, zahlbar in Bitcoins an eine spezifische Adresse. In der Binary finden sich die folgenden Adressen fest kodiert, wobei allerdings nur die erste während der Untersuchung tatsächlich angezeigt wurde:
Wird das Lösegeld nicht gezahlt, bis der erste Timer abläuft, erhöht sich der Preis. Verstreicht auch der Zeitraum des zweiten Timers, lassen die Malware-Autoren wissen, dass die Dateien nun nicht mehr wiederhergestellt werden können. Sind die Dateien erst einmal verschlüsselt, lassen sie sich ohne den passenden Entschlüsselungs-Schlüssel tatsächlich nicht mehr zurückgewinnen. Für die Verschlüsselung greift die Malware auf Microsoft Enhanced RSA und AES Cryptographic Provider Libraries zurück.
Bekämpfung von WannaCry
Ist ein System von der WannaCry-Ransomware befallen, liegt die beste Lösung darin, auf Sicherheitskopien der verschlüsselten Dateien zurückzugreifen. Es gibt keine Garantie, dass die Entschlüsselung funktioniert, auch wenn das Lösegeld gezahlt wird.
Um eine Infektion und die Verbreitung der Malware in einem Netzwerk zu verhindern, sollten alle Windows-Systeme mit den aktuellsten Patches und Virensignaturen ausgestattet sein. Zusätzlich kann die Blockade von Inbound Connections an den SMB-Ports (139 and 445) die Infektion von Systemen verhindern, die noch verwundbar sind.
Weitere Hilfe bietet der folgende Blog-Beitrag von Microsoft, der auf einen Notfall-Patch hinweist, der für Kunden entwickelt wurde, die nicht vom Support unterstützte Betriebssystem-Versionen betreiben:
MS Notfall-PatchVon Erika Noerenberg, Andrew Costis, Nathanial Quist und weiteren Mitarbeitern der LogRhythm Labs Research Group
LogRhythm Technical Analysis