11 Millionen Geräte mit Botnet-Malware infiziert, die im Google Play Store gehostet wird

11 Millionen Geräte mit Botnet-Malware infiziert, die im Google Play Store gehostet wird

Vor fünf Jahren machten Forscher eine erschreckende Entdeckung: Eine legitime Android-App im Google Play Store wurde heimlich durch eine Bibliothek, die die Entwickler zur Erzielung von Werbeeinnahmen nutzten, in Schadsoftware verwandelt. Die App war mit Code infiziert, der dazu führte, dass 100 Millionen infizierte Geräte eine Verbindung zu den von Angreifern kontrollierten Servern aufnahmen und geheime Payloads herunterluden.

Nun wiederholt sich die Geschichte. Forscher der gleichen in Moskau ansässigen Sicherheitsfirma berichtete Montag dass sie zwei neue Apps gefunden haben, die 11 Millionen Mal von Play heruntergeladen wurden und mit derselben Malware-Familie infiziert waren. Die Forscher von Kaspersky glauben, dass erneut ein Schadsoftware-Entwicklerkit zur Integration von Werbefunktionen dafür verantwortlich ist.

Cleveres Handwerk

Software Developer Kits, besser bekannt als SDKs, sind Apps, die Entwicklern Frameworks zur Verfügung stellen, die den App-Erstellungsprozess durch die Rationalisierung sich wiederholender Aufgaben erheblich beschleunigen können. Ein in die Apps integriertes, nicht verifiziertes SDK-Modul unterstützte angeblich die Anzeige von Werbung. Hinter den Kulissen bot es eine Vielzahl fortschrittlicher Methoden für die heimliche Kommunikation mit bösartigen Servern, auf denen die Apps Benutzerdaten hochluden und bösartigen Code herunterluden, der jederzeit ausgeführt und aktualisiert werden konnte.

Die heimliche Malware-Familie in beiden Kampagnen ist als Necro bekannt. Diesmal verwenden einige Varianten Techniken wie Steganographieeine Verschleierungsmethode, die bei mobiler Malware selten vorkommt. Einige Varianten verwenden auch clevere Methoden, um Schadcode zu liefern, der mit erhöhten Systemrechten ausgeführt werden kann. Sobald Geräte mit dieser Variante infiziert sind, kontaktieren sie einen vom Angreifer kontrollierten Command-and-Control-Server und senden Webanfragen mit verschlüsselten JSON Daten, die Informationen zu jedem kompromittierten Gerät und jeder Anwendung melden, die das Modul hostet.

Der Server gibt wiederum eine JSON-Antwort zurück, die einen Link zu einem PNG-Bild und zugehörige Metadaten enthält, darunter den Bild-Hash. Wenn das auf dem infizierten Gerät installierte Schadmodul bestätigt, dass der Hash korrekt ist, lädt es das Bild herunter.

Das SDK-Modul „verwendet einen sehr einfachen steganografischen Algorithmus“, erklärten Kaspersky-Forscher in einem separater Beitrag. „Wenn die MD5-Prüfung erfolgreich ist, extrahiert es den Inhalt der PNG-Datei – die Pixelwerte in den ARGB-Kanälen – mit Standard-Android-Tools. Dann gibt die Methode getPixel einen Wert zurück, dessen niederwertigstes Byte den blauen Kanal des Bildes enthält, und die Verarbeitung beginnt im Code.“

Die Forscher fuhren fort:

Wenn wir den blauen Kanal des Bildes als Byte-Array der Dimension 1 betrachten, dann sind die ersten vier Bytes des Bildes die Größe der codierten Nutzlast im Little-Endian-Format (vom niederwertigsten Byte zum höchstwertigen). Als Nächstes wird die Nutzlast der angegebenen Größe aufgezeichnet: Dies ist eine mit Base64 codierte JAR-Datei, die nach der Decodierung über DexClassLoader geladen wird. Coral SDK lädt die Klasse sdk.fkgh.mvp.SdkEntry in eine JAR-Datei unter Verwendung der nativen Bibliothek libcoral.so. Diese Bibliothek wurde mithilfe des OLLVM-Tools verschleiert. Der Startpunkt oder Einstiegspunkt für die Ausführung innerhalb der geladenen Klasse ist die Run-Methode.

Necro-Code, der Steganographie implementiert.
Vergrößern / Necro-Code, der Steganographie implementiert.

Kaspersky

Nachfolgende Payloads, die installiert werden, laden bösartige Plugins herunter, die für jedes infizierte Gerät gemischt und angepasst werden können, um eine Vielzahl unterschiedlicher Aktionen auszuführen. Eines der Plugins ermöglicht die Ausführung von Code mit erhöhten Systemrechten. Standardmäßig verbietet Android privilegierten Prozessen die Verwendung von WebView, einer Erweiterung des Betriebssystems zum Anzeigen von Webseiten in Apps. Um diese Sicherheitsbeschränkung zu umgehen, verwendet Necro eine Hacking-Technik, die als Reflexionsangriff um eine separate Instanz der WebView-Factory zu erstellen.

Dieses Plugin kann auch andere ausführbare Dateien herunterladen und ausführen, die über WebView gerenderte Links ersetzen. Wenn sie mit erhöhten Systemrechten ausgeführt werden, können diese ausführbaren Dateien URLs ändern, um Bestätigungscodes für kostenpflichtige Abonnements hinzuzufügen, und Code herunterladen und ausführen, der über vom Angreifer kontrollierte Links geladen wird. Die Forscher haben fünf verschiedene Payloads aufgelistet, auf die sie bei ihrer Analyse von Necro gestoßen sind.

Das modulare Design von Necro eröffnet unzählige Möglichkeiten für das Verhalten der Malware. Kaspersky hat das folgende Bild zur Verfügung gestellt, das einen Überblick bietet.

Infektionsdiagramm des Necro-Trojaners.
Vergrößern / Infektionsdiagramm des Necro-Trojaners.

Kaspersky

Die Forscher fanden Necro in zwei Google Play-Apps. Eine davon war Wuta Camera, eine App mit bisher 10 Millionen Downloads. Die Versionen 6.3.2.148 bis 6.3.6.148 von Wuta Camera enthielten das bösartige SDK, das Apps infiziert. Die App wurde inzwischen aktualisiert, um die bösartige Komponente zu entfernen. Eine separate App mit rund 1 Million Downloads – bekannt als Max Browser – war ebenfalls infiziert. Diese App ist nicht mehr in Google Play verfügbar.

Die Forscher fanden auch heraus, dass Necro eine Vielzahl von Android-Apps infizierte, die auf alternativen Marktplätzen erhältlich waren. Diese Apps gaben sich in der Regel als modifizierte Versionen legitimer Apps wie Spotify aus. MinecraftWhatsApp, Stumble Jungs, Autoparken im MultiplayerUnd Melonen-Sandkasten.

Personen, die befürchten, mit Necro infiziert zu sein, sollten ihre Geräte auf die am Ende der Anleitung aufgeführten Anzeichen einer Gefährdung überprüfen. Das Bericht.

Leave a Comment

Your email address will not be published. Required fields are marked *