Nach einem zweijährigen Rückgang von Ransomware ist nun eine neue Variante aufgetaucht. Die aktuelle Ransomware wird von der ESET Mobile Security als Android/Filecoder.C erkannt. Vermehrt taucht sie in Online-Foren auf. Mithilfe der Kontaktlisten der Opfer verbreitet sich die Malware via SMS inklusive schädlichem Link. Durch den bislang eingeschränkten Kreis potenzieller Opfer sowie Fehler in der Malware-Ausführung und Verschlüsselungsimplementierung halten sich die Auswirkungen der Verschlüsselungsmalware bislang in Grenzen. Beheben die Malware-Entwickler die angesprochen Schwächen, kann Android/Filecoder.C allerdings zu einer ernsthaften Bedrohung werden.

Die Ransomware ist seit mindestens dem 12. Juli 2019 aktiv. Wir stellten fest, dass Android/Filecoder.C über diverse schädliche Beiträge in Reddit- und XDA Developers-Foren verbreitet wurde. Beide Betreiber wissen bereits darüber Bescheid. XDA hat die Beiträge recht zügig entfernt, auf Reddit waren sie noch am 29.07.2019 zu finden.

Die Ransomware ist in der Lage, auf die Kontaktliste des Opfers zuzugreifen und an alle Kontakte eine SMS mit schädlichem Link zu versenden.

Nach dem Versand der schädlichen Textnachricht, verschlüsselt die Android-Ransomware die meisten Dateien des Users und verlangt anschließend ein Lösegeld.

ESET Mobile Security User werden gewarnt, falls sie eine SMS mit dem schädlichen Link erhalten sollten. Ignorieren sie die Warnung und laden die App dennoch herunter, blockiert die ESET-Sicherheitslösung für Android die Installation.

Verteilung der Android-Ransomware

Die von uns entdeckte Ransomware-Kampagne stützt auf zwei Domains (mehr dazu im IoC-Abschnitt), die von den Cyberkriminellen kontrolliert werden, um schädliche Android-Dateien zu verbreiten. Die Angreifer locken die potenziellen Opfer auf die Domains, in dem sie Beitrage oder Kommentare auf Reddit (Abb. 1) oder XDA Developers (Abb. 2) verfassen.

Die überwiegende Mehrheit der Posts enthielt pornografischen Inhalt. Alternativ sah man aber auch technische Beiträge. In allen Beiträgen oder Kommentaren hängten die Angreifer entweder schädliche Links oder QR-Codes an, die auf die Ransomware-App wiesen.

Abbildung 1: Das Reddit-Profil des Angreifers mit böswilligen Posts und Kommentaren.

Abbildung 1: Das Reddit-Profil des Angreifers mit böswilligen Posts und Kommentaren.

Abbildung 2: Einige der böswilligen Beiträge der Angreifer im XDA Developers-Forum.

Abbildung 2: Einige der böswilligen Beiträge der Angreifer im XDA Developers-Forum.

Einen Link, der auf Reddit verbreitet wurde, verschleierten die Angreifer mithilfe von bit.ly. Die Statistik zeigt, dass die URL am 11.06.2019 erstellt wurde. Bis zum Zeitpunkt der Erstellung dieses Artikels registrierte bit.ly 59 Klicks von verschiedenen Quellen sowie aus unterschiedlichen Ländern.

Abbildung 3: Statistik über den bit.ly-Link, der während der Ransomware-Kampagne auf Reddit verbreitet wurde.

Abbildung 3: Statistik über den bit.ly-Link, der während der Ransomware-Kampagne auf Reddit verbreitet wurde.

Ransomware-Verbreitung

Wie bereits erwähnt, verbreitet sich die Ransomware teilweise auch selbstständig via Schad-Link in SMS-Textnachrichten, die an alle Kontakte des Opfers gesendet werden.

Eine Nachricht enthält einen direkten Link zur Ransomware. Man versucht das Opfer glauben zu lassen, dass jemand Fotos von ihm missbräuchlich verwendet – wie in Abb. 4 zu sehen.

Um die Reichweite zu erhöhen, wurde der Text der Nachricht in 42 Sprachen übersetzt (Abb. 5). Vor dem Weiterverbreiten der Nachricht an die Kontakte des Opfers passt die Malware die Textsprache der Telefon-Spracheinstellung an. Um die Nachricht zu personalisieren, wird der Name in das Text-Template eingefügt.

Abbildung 4: SMS-Textnachricht mit schädlichem Link. Diese Variante wird an die Konatkte des Opfers verschickt, wenn die Telefon-Spracheinstellung auf English gesetzt ist.

Abbildung 4: SMS-Textnachricht mit schädlichem Link. Diese Variante wird an die Kontakte des Opfers verschickt, wenn die Telefon-Spracheinstellung auf English gesetzt ist.

Abbildung 5: Insgesamt 42 Sprachversionen, die in der Ransomware fest codiert sind.

Abbildung 5: Insgesamt 42 Sprachversionen, die in der Ransomware fest codiert sind.

Funktionsweise der Android-Ransomware

Die Ransomware-APK muss manuell installiert werden. Nach dem Start zeigt die App, was auch immer in den ursprünglichen Foren-Beiträgen angepriesen wurde. Öfters handelte es sich dabei um das Sex Simulator Online Game. Der Hauptzweck besteht allerdings in der C&C-Serverkommunikation, der Weiterverbreitung der schädlichen SMS-Textnachricht sowie der Verschlüsselung des Android-Smartphones.

Für die C&C-Serverkommunikation wird eine in der .apk festcodierte C&C-Serveradresse verwendet. Daneben existieren ebenfalls hardcodierte Bitcoin-Adressen im Quellcode. Allerdings können diese auch dynamisch übergeben werden; d.h. jederzeit von den Angreifern geändert werden. Dafür nutzen sie den Pastebin Service.

Abbildung 6: Ein Beispiel für eine Reihe von Adressen, mit denen die Ransomware C&C-Adressen abrufen kann.

Abbildung 6: Ein Beispiel für eine Reihe von Adressen, mit denen die Ransomware C&C-Adressen abrufen kann.

Die Ransomware durchsucht alle greifbaren Ordner im Speicher und verschlüsselt die meisten Dateien darin. Systemdateien bleiben verschont. Nach der Verschlüsselung zeigt die Malware einen Screen mit einer Lösegeldforderung in Englisch, wie in Abb. 7.

Abbildung 7: Lösegeldforderung von der Android/Filecoder.C Ransomware

Abbildung 7: Lösegeldforderung von der Android/Filecoder.C Ransomware

Richtig ist, dass ein Entfernen der App die Verschlüsselung nicht wieder aufhebt. Nach unseren Analysen enthält die Ransomware aber keinen Code, der die Behauptung stützt, dass nach Ablauf der 72 Stunden alle Dateien verloren wären.

Wie in Abb. 8 zu sehen, gestaltet sich die Berechnung des Lösegelds dynamisch. Ein Wert (0.01) ist festgeschrieben, der andere setz sich aus der UserID zusammen, welche die Malware generiert.

Diese einzigartige Praxis dient eventuell dazu, eingehende Zahlungen zu identifizieren. Normalerweise wird das bei Android-Ransomware dadurch erreicht, dass für jedes verschlüsselte Gerät eine eigene Bitcoin Wallet angelegt wird.
Basierend auf dem aktuellen Wechselkurs von ca. 9400 US-Dollar pro Bitcoin entsprechen die daraus gebildeten Lösegeldbeträge zwischen 94 und 188 US-Dollar (Annahme: zufällige Generierung der einzigartigen ID).

Abbildung 8: Wie die Malware das Lösegeld berechnet.

Abbildung 8: Wie die Malware das Lösegeld berechnet.

Im Gegensatz zu typischer Android-Ransomware blockiert Android/Filecoder.C die Verwendung des Geräts nicht, indem beispielsweise der Bildschirm gesperrt wird.

Zum Zeitpunkt der Erstellung dieses Artikels sind bis dato keine Bitcoin an die "Ransomware-Adresse" transferiert wurden (Abb. 9).

Abbildung 9: Die von den Angreifern verwendete Bitcoin-Adresse ohne Zahlungseingang

Abbildung 9: Die von den Angreifern verwendete Bitcoin-Adresse, bislang ohne Zahlungseingang

Datei-Verschlüsselungsmechanismus

Die Ransomware setzt auf symmetrische und asymmetrische Verschlüsselung. Zunächst generiert diese ein „private“ und „public“ Schlüsselpaar. Der „private“ Schlüssel wird mithilfe des RSA-Algorithmus mit einem im Code gespeicherten, festen Wert verschlüsselt und an den Server des Angreifers gesendet. Der Angreifer kann diesen privaten Schlüssel entschlüsseln und, nach Lösegeldeingang, dem Opfer den privaten Key zum Entschlüsseln seiner Dateien zukommen lassen.

Beim Verschlüsseln von Dateien generiert die Ransomware für jede zu verschlüsselnde Datei einen neuen AES-Schlüssel. Dieser AES-Schlüssel wird dann mit dem „public Key“ verschlüsselt und jeder verschlüsselten Datei vorangestellt. Dies ergibt das folgende Muster: ((AES) public_key + (File) AES).seven

Die Dateistruktur ist in Abbildung 10 dargestellt.

Abbildung 10: Übersicht über die verschlüsselte Dateistruktur

Abbildung 10: Übersicht über die verschlüsselte Dateistruktur

Die Ransomware verschlüsselt die folgenden Dateitypen, indem sie alle zugänglichen Speicherverzeichnisse durchsucht – wie beispielsweise:

“.doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pst", ".ost", ".msg", ".eml", ".vsd", ".vsdx", ".txt", ".csv", ".rtf", ".123", ".wks", ".wk1", ".pdf", ".dwg", ".onetoc2", ".snt", ".jpeg", ".jpg", ".docb", ".docm", ".dot", ".dotm", ".dotx", ".xlsm", ".xlsb", ".xlw", ".xlt", ".xlm", ".xlc", ".xltx", ".xltm", ".pptm", ".pot", ".pps", ".ppsm", ".ppsx", ".ppam", ".potx", ".potm", ".edb", ".hwp", ".602", ".sxi", ".sti", ".sldx", ".sldm", ".sldm", ".vdi", ".vmdk", ".vmx", ".gpg", ".aes", ".ARC", ".PAQ", ".bz2", ".tbk", ".bak", ".tar", ".tgz", ".gz", ".7z", ".rar", ".zip", ".backup", ".iso", ".vcd", ".bmp", ".png", ".gif", ".raw", ".cgm", ".tif", ".tiff", ".nef", ".psd", ".ai", ".svg", ".djvu", ".m4u", ".m3u", ".mid", ".wma", ".flv", ".3g2", ".mkv", ".3gp", ".mp4", ".mov", ".avi", ".asf", ".mpeg", ".vob", ".mpg", ".wmv", ".fla", ".swf", ".wav", ".mp3", ".sh", ".class", ".jar", ".java", ".rb", ".asp", ".php", ".jsp", ".brd", ".sch", ".dch", ".dip", ".pl", ".vb", ".vbs", ".ps1", ".bat", ".cmd", ".js", ".asm", ".h", ".pas", ".cpp", ".c", ".cs", ".suo", ".sln", ".ldf", ".mdf", ".ibd", ".myi", ".myd", ".frm", ".odb", ".dbf", ".db", ".mdb", ".accdb", ".sql", ".sqlitedb", ".sqlite3", ".asc", ".lay6", ".lay", ".mml", ".sxm", ".otg", ".odg", ".uop", ".std", ".sxd", ".otp", ".odp", ".wb2", ".slk", ".dif", ".stc", ".sxc", ".ots", ".ods", ".3dm", ".max", ".3ds", ".uot", ".stw", ".sxw", ".ott", ".odt", ".pem", ".p12", ".csr", ".crt", ".key", ".pfx", ".der"

Von der Verschlüsselung verschont, bleiben alle Dateien die unter „.cache“, „tmp“ oder „temp“ zu finden sind, wie auch ZIP- und RAR-Archive sowie Dateien über 50 MB und .jpg, .jpeg und .png unter 150 KB.

Die obere Liste der Dateitypen enthält einige Einträge, die nichts mit Android gemein haben. Gleichzeitig fehlen einige typische Android-Erweiterungen wie .apk, .dex und .so. Anscheinend wurde einfach die Liste von der berüchtigten WannaCryptor aka WannaCry Ransomware kopiert.

Sobald die Dateien verschlüsselt sind, wird die Dateierweiterung „.seven“ an den ursprünglichen Dateinamen angehängt (siehe Abbildung 11).

Abbildung 11: Verschlüsselte Dateien mit der Endung ".seven"

Abbildung 11: Verschlüsselte Dateien mit der Endung ".seven"

Ransomware Entschlüsselungsmechanismus

Der Code zum Entschlüsseln der verschlüsselten Dateien ist schon in der Ransomware enthalten. Der Ransomware-Betreiber kann Lösegeldeingänge über die in Abb. 12 gezeigte Webseite prüfen und darauf hin den „private“ Schlüssel zum Opfer senden.

Abbildung 12: Webseite zur Überprüfung der Lösegeldzahlung

Abbildung 12: Webseite zur Überprüfung der Lösegeldzahlung

Wie schütze ich mich vor Android-Malware?

  • Zunächst einmal sollte das Android-Gerät immer auf dem neusten Stand sein. Idealerweise werden Patches und Sicherheitsupdates automatisch heruntergeladen und installiert.
  • Apps sollten nur über vertrauenswürdige Stores bezogen werden, wie dem Google Play Store. Diese besitzen eigene Gefahren-Abwehr-Teams, um die Verbreitung von Malware zu mindern.
  • Bevor man eine Android-App installiert, sollten die Bewertungen und vor allem negativen Kommentare geprüft werden. Hier zeichnet sich schnell ab, wie vertrauenswürdig die Anwendung ist.
  • Desweiteren sollten die Berechtigungen geprüft werden, welche die Anwendung verlangt.
  • Bekannte Mobile Security Lösungen schützen Android Tablet und Smartphone vor vielen Gefahren.

Indicators of Compromise (IoCs)

Hash ESET detection name
B502874681A709E48F3D1DDFA6AE398499F4BD23 Android/Filecoder.C
D5EF600AA1C01FA200ED46140C8308637F09DFCD Android/Filecoder.C
B502874681A709E48F3D1DDFA6AE398499F4BD23 Android/Filecoder.C
F31C67CCC0D1867DB1FBC43762FCF83746A408C2 Android/Filecoder.C

Bitcoin address
16KQjht4ePZxxGPr3es24VQyMYgR9UEkFy

Servers
http://rich7[.]xyz
http://wevx[.]xyz
https://pastebin[.]com/raw/LQwGQ0RQ

Contact e-mail address
h3athledger@yandex[.]ru

Affected Android versions
Android 5.1 and above