ESET-Forscher haben eine aktualisierte Version der Android-Spyware GravityRAT identifiziert, die als die Messaging-Apps BingeChat und Chatico verbreitet wird. GravityRAT ist ein Remote-Access-Tool, von dem bekannt ist, dass es seit mindestens 2015 eingesetzt wird und zuvor bei gezielten Angriffen gegen Indien verwendet wurde. Es gibt Versionen für Windows, Android und macOS, wie bereits von Cisco Talos, Kaspersky und Cyble dokumentiert. Der Akteur hinter GravityRAT bleibt unbekannt; wir verfolgen die Gruppe intern als SpaceCobra.

Die BingeChat-Kampagne ist wahrscheinlich seit August 2022 aktiv und läuft noch immer; die Kampagne mit Chatico ist jedoch nicht mehr aktiv. BingeChat wird über eine Website verbreitet, die für kostenlose Messaging-Dienste wirbt. Bei der neu entdeckten Kampagne kann GravityRAT WhatsApp-Backups stehlen und Befehle zum Löschen von Dateien empfangen. Die bösartigen Anwendungen bieten auch legitime Chat-Funktionen, die auf der quelloffenen OMEMO Instant Messenger-App basieren.

Die wichtigsten Punkte dieses Blogposts:

  • Wir haben eine neue Version der Android-Spyware GravityRAT entdeckt, die als trojanisierte Version der seriösen Open-Source-Anwendung OMEMO Instant Messenger für Android verbreitet wird.
  • Die trojanisierte BingeChat-App kann von einer Website heruntergeladen werden, die sie als kostenlosen Messaging- und File-Sharing-Dienst präsentiert.
  • Diese Version von GravityRAT wurde um zwei neue Funktionen erweitert: Empfang von Befehlen zum Löschen von Dateien und Stehlen von WhatsApp-Backup-Dateien.

Kampagnenübersicht

Wir wurden von MalwareHunterTeam auf diese Kampagne aufmerksam gemacht, der den Hashtag für ein Sample von GravityRAT per Tweet teilte. Dem Namen der APK-Datei nach zu urteilen, wird die bösartige App als BingeChat bezeichnet und behauptet, Messaging-Funktionen zu bieten. Wir haben die Website bingechat[.]net gefunden, von der dieses Sample heruntergeladen worden sein könnte (siehe Abbildung 1).

Abbildung 1. Website zur Verbreitung der bösartigen Messaging-App BingeChat

Die Website sollte die bösartige App bereitstellen, wenn man auf die Schaltfläche DOWNLOAD APP tippt; sie verlangt jedoch, dass sich die Besucher anmelden. Wir hatten keine Anmeldedaten, und die Registrierung war geschlossen (siehe Abbildung 2). Es ist sehr wahrscheinlich, dass die Betreiber die Registrierung nur dann öffnen, wenn sie den Besuch eines bestimmten Opfers erwarten, möglicherweise mit einer bestimmten IP-Adresse, einem bestimmten Standort, einer benutzerdefinierten URL oder innerhalb eines bestimmten Zeitrahmens. Daher gehen wir davon aus, dass die potenziellen Opfer sehr gezielt angesprochen werden.

Abbildung 2. Der Dienst bietet derzeit keine Registrierungmöglichkeiten an

Obwohl wir die BingeChat-App nicht über die Website herunterladen konnten, fanden wir eine URL auf VirusTotal (https://downloads.bingechat[.]net/uploadA/c1d8bad13c5359c97cab280f7b561389153/BingeChat.zip), die die bösartige BingeChat Android-App enthält. Diese App hat denselben Hash wie die App in dem zuvor erwähnten Tweet, was bedeutet, dass diese URL ein Verteilungspunkt für dieses spezielle GravityRAT Sample ist.

Derselbe Domänenname wird auch im Code der BingeChat-App referenziert - ein weiterer Hinweis darauf, dass bingechat[.]net für die Verbreitung verwendet wird (siehe Abbildung 3).

Abbildung 3. In der BingeChat-App referenzierter Name der Domain zur Verbreitung

Die bösartige App wurde nie im Google Play Store zur Verfügung gestellt. Es handelt sich um eine trojanisierte Version der legitimen quelloffenen OMEMO Instant Messenger (IM)-Anwendung für Android, die jedoch als BingeChat umgelabelt ist. OMEMO IM ist ein Nachbau des Android-Jabber-Clients namens Conversations.

Wie in Abbildung 4 zu sehen ist, enthält der HTML-Code der bösartigen Website Hinweise darauf, dass er am 5. Juli 2022 mithilfe des automatisierten Tools HTTrack von der legitimen Website preview.colorlib.com/theme/BingeChat/ kopiert wurde. colorlib.com ist eine legitime Website, die WordPress-Themes zum Download anbietet, aber das BingeChat-Theme scheint dort nicht mehr verfügbar zu sein. Die Domäne bingechat[.]net wurde am 18. August 2022 registriert.

Abbildung 4. Vom HTTrack-Tool erzeugtes und im HTML-Code der bösartigen Website aufgezeichnetes Log

Wir wissen nicht, wie potenzielle Opfer auf die bösartige Website gelockt wurden oder sie auf andere Weise entdeckt haben. In Anbetracht der Tatsache, dass das Herunterladen der App ein Konto voraussetzt und die Registrierung eines neuen Kontos für uns nicht möglich war, gehen wir davon aus, dass die potenziellen Opfer gezielt angesprochen wurden. Das Angriffsschema ist in Abbildung 5 dargestellt.

Abbildung 5. GravityRAT-Verteilungsmechanismus

Ziele

Die Telemetriedaten von ESET haben keine Opfer dieser BingeChat-Kampagne aufgezeichnet, was darauf hindeutet, dass die Kampagne wahrscheinlich nur eine begrenzte Zielgruppe hat. Unsere Telemetriedaten haben jedoch ein weiteres Sample von Android GravityRAT in Indien entdeckt, das im Juni 2022 auftrat. In diesem Fall wurde GravityRAT als Chatico bezeichnet (siehe Abbildung 6).

Abbildung 6. Der Anmelde-Bildschirm von Chatico

Wie BingeChat basiert auch Chatico auf der OMEMO Instant Messenger-App und ist mit GravityRAT trojanisiert. Chatico wurde höchstwahrscheinlich über die Website chatico.co[.]uk verbreitet und kommunizierte auch mit einem C&C-Server. Die Domänen der Website und des C&C-Servers sind jetzt offline.

Von nun an werden wir uns nur noch auf die aktive Kampagne konzentrieren, die die BingeChat-App verwendet, die die gleichen bösartigen Funktionen wie Chatico hat.

Attribution

Die Gruppe, die hinter der Malware steckt, ist nach wie vor unbekannt, auch wenn Facebook-Forscher GravityRAT einer Gruppe mit Sitz in Pakistan zuschreiben, wie zuvor auch von Cisco Talos vermutet. Wir verfolgen die Gruppe intern unter dem Namen SpaceCobra und führen sowohl die BingeChat- als auch die Chatico-Kampagnen auf diese Gruppe zurück.

Die typischen Schadfunktionen von GravityRAT sind mit einem bestimmten Code verbunden, der im Jahr 2020 von Kaspersky einer Gruppe zugeschrieben wurde, die Windows-Varianten von GravityRAT verwendet

Im Jahr 2021 veröffentlichte Cyble eine Analyse einer anderen GravityRAT-Kampagne, die die gleichen Muster wie BingeChat aufwies, wie z. B. einen ähnlichen Verbreitungsvektor für den Trojaner, der sich als legitime Chat-App tarnt, in diesem Fall SoSafe Chat, die Verwendung des quelloffenen OMEMO-IM-Codes und die gleichen bösartigen Funktionen. In Abbildung 6 sehen Sie einen Vergleich der bösartigen Klassen zwischen dem von Cyble analysierten GravityRAT Sample und dem neuen Sample in BingeChat. Anhand dieses Vergleichs können wir mit großer Sicherheit feststellen, dass der Schadcode in BingeChat zur GravityRAT-Malware-Familie gehört

Abbildung 7. Vergleich der Klassennamen für den Trojaner, der sich als legitimer SoSafe Chat (links) und BingeChat (rechts) tarnt

Technische Analyse

Nach dem Start fordert die App den Benutzer auf, alle erforderlichen Berechtigungen zu erteilen, damit sie ordnungsgemäß funktioniert (siehe Abbildung 8). Abgesehen von der Erlaubnis, die Anruflisten zu lesen, sind die anderen angeforderten Berechtigungen typisch für jede Messaging-Anwendung, so dass der Benutzer des Geräts möglicherweise nicht alarmiert ist, wenn die App sie anfordert.

Abbildung 8. Von BingeChat angeforderte Berechtigungen

Als Teil der legitimen Funktionalität der App bietet sie Optionen zur Erstellung eines Kontos und zur Anmeldung an. Bevor sich der Benutzer bei der App anmeldet, beginnt GravityRAT mit seinem C&C-Server zu interagieren, um die Daten des Gerätebenutzers zu exfiltrieren und auf die Ausführung von Befehlen zu warten. GravityRAT ist in der Lage, folgende Daten zu exfiltrieren:

  • Anruflisten
  • Kontaktliste
  • SMS Nachrichten
  • Dateien mit spezifischen Endungen: jpg, jpeg, log, png, PNG, JPG, JPEG, txt, pdf, xml, doc, xls, xlsx, ppt, pptx, docx, opus, crypt14, crypt12, crypt13, crypt18, crypt32
  • Gerätestandort
  • grundlegende Geräteinformationen

Die zu stehlenden Daten werden in Textdateien auf externen Medien gespeichert, dann zum C&C-Server exfiltriert und schließlich entfernt. Die Dateipfade für die gesammelten Daten sind in Abbildung 9 aufgeführt.

Abbildung 9. Dateipfade zu den für die Exfiltration bereitgestellten Daten

Diese Version von GravityRAT enthält zwei kleine Aktualisierungen im Vergleich zu früheren, öffentlich bekannten Versionen von GravityRAT. Erstens erweitert sie die Liste der zu exfiltrierenden Dateien um solche mit den Erweiterungen crypt14, crypt12, crypt13, crypt18 und crypt32. Diese crypt-Dateien sind verschlüsselte Backups, die von WhatsApp erstellt werden. Zweitens kann er drei Befehle von einem C&C-Server empfangen und ausführen:

  • DeleteAllFiles – löscht Dateien mit einer bestimmten Endung, die vom Gerät gestohlen wurden
  • DeleteAllContacts – löscht die Kontaktliste
  • DeleteAllCallLogs – löscht die Anrufliste

Dies sind sehr spezifische Befehle, die in der Regel nicht in Android-Malware vorkommen. Frühere Versionen von Android GravityRAT konnten überhaupt keine Befehle empfangen; sie konnten nur exfiltrierte Daten zu einem bestimmten Zeitpunkt auf einen C&C-Server hochladen.

GravityRAT enthält zwei fest kodierte C&C-Subdomänen (siehe Abbildung 10), ist jedoch so programmiert, dass er nur die erste verwendet (https://dev.androidadbserver[.]com).

Abbildung 10. Hartcodierter initialer C&C-Server

Zum Zeitpunkt unserer Tests wurde dieser C&C-Server, um ein neues kompromittiertes Gerät zu registrieren und zwei zusätzliche C&C-Adressen abzurufen: https://cld.androidadbserver[.]com und https://ping.androidadbserver[.]com, wie in Abbildung 11 dargestellt.

Abbildung 11. C&C-Kommunikation zur Registrierung eines neuen Geräts

Auch hier wird nur der erste C&C-Server verwendet, diesmal zum Hochladen der Daten des Gerätebenutzers, wie in Abbildung 12 zu sehen.

Abbildung 12. Exfiltration von Opferdaten zum C&C-Server

Fazit

SpaceCobra ist seit mindestens 2015 aktiv und hat GravityRAT wiederbelebt, um erweiterte Funktionen zum Exfiltrieren von WhatsApp Messenger-Backups und zum Empfangen von Befehlen von einem C&C-Server zum Löschen von Dateien einzubauen. Wie zuvor werden auch bei dieser Kampagne Messaging-Apps als Deckmantel für die Verbreitung der GravityRAT-Backdoor genutzt. Die Gruppe hinter der Malware verwendet legitimen OMEMO IM-Code, um die Chat-Funktionalität für die bösartigen Messaging-Apps BingeChat und Chatico bereitzustellen.

Laut ESET-Telemetrie wurde ein Benutzer in Indien von der aktualisierten Chatico-Version des RAT angegriffen, ähnlich wie bei zuvor dokumentierten SpaceCobra-Kampagnen. Die BingeChat-Version wird über eine Website verbreitet, die eine Registrierung erfordert und wahrscheinlich nur dann geöffnet wird, wenn die Angreifer erwarten, dass bestimmte Opfer sie besuchen - möglicherweise mit einer bestimmten IP-Adresse, einem bestimmten Standort, einer benutzerdefinierten URL oder innerhalb eines bestimmten Zeitrahmens. In jedem Fall glauben wir, dass die Kampagne sehr gezielt ist.

IoCs

Files

SHA-1 Package name ESET detection name Description
2B448233E6C9C4594E385E799CEA9EE8C06923BD eu.siacs.bingechat Android/Spy.Gravity.A GravityRAT impersonating BingeChat app.
25715A41250D4B9933E3599881CE020DE7FA6DC3 eu.siacs.bingechat Android/Spy.Gravity.A GravityRAT impersonating BingeChat app.
1E03CD512CD75DE896E034289CB2F5A529E4D344 eu.siacs.chatico Android/Spy.Gravity.A GravityRAT impersonating Chatico app.

Network

IP Domain Hosting provider First seen Details
75.2.37[.]224 jre.jdklibraries[.]com Amazon.com, Inc. 2022-11-16 Chatico C&C server.
104.21.12[.]211 cld.androidadbserver[.]com
adb.androidadbserver[.]com
Cloudflare, Inc. 2023‑03‑16 BingeChat C&C servers.
104.21.24[.]109 dev.jdklibraries[.]com Cloudflare, Inc. N/A Chatico C&C server.
104.21.41[.]147 chatico.co[.]uk Cloudflare, Inc. 2021-11-19 Chatico distribution website.
172.67.196[.]90 dev.androidadbserver[.]com
ping.androidadbserver[.]com
Cloudflare, Inc. 2022-11-16 BingeChat C&C servers.
172.67.203[.]168 bingechat[.]net Cloudflare, Inc. 2022‑08‑18 BingeChat distribution website.

Paths

Data is staged for exfiltration in the following places:

/storage/emulated/0/Android/ebc/oww.log
/storage/emulated/0/Android/ebc/obb.log
/storage/emulated/0/bc/ms.log
/storage/emulated/0/bc/cl.log
/storage/emulated/0/bc/cdcl.log
/storage/emulated/0/bc/cdms.log
/storage/emulated/0/bc/cs.log
/storage/emulated/0/bc/location.log

MITRE ATT&CK techniques

This table was built using version 13 of the MITRE ATT&CK framework.

Tactic ID Name Description
Persistence T1398 Boot or Logon Initialization Scripts GravityRAT receives the BOOT_COMPLETED broadcast intent to activate at device startup.
T1624.001 Event Triggered Execution: Broadcast Receivers GravityRAT functionality is triggered if one of these events occurs:
USB_DEVICE_ATTACHED,
ACTION_CONNECTION_STATE_CHANGED,
USER_UNLOCKED,
ACTION_POWER_CONNECTED,
ACTION_POWER_DISCONNECTED,
AIRPLANE_MODE,
BATTERY_LOW,
BATTERY_OKAY,
DATE_CHANGED,
REBOOT,
TIME_TICK, or
CONNECTIVITY_CHANGE.
Defense Evasion T1630.002 Indicator Removal on Host: File Deletion GravityRAT removes local files that contain sensitive information exfiltrated from the device.
Discovery T1420 File and Directory Discovery GravityRAT lists available files on external storage.
T1422 System Network Configuration Discovery GravityRAT extracts the IMEI, IMSI, IP address, phone number, and country.
T1426 System Information Discovery GravityRAT extracts information about the device, including SIM serial number, device ID, and common system information.
Collection T1533 Data from Local System GravityRAT exfiltrates files from the device.
T1430 Location Tracking GravityRAT tracks device location.
T1636.002 Protected User Data: Call Logs GravityRAT extracts call logs.
T1636.003 Protected User Data: Contact List GravityRAT extracts the contact list.
T1636.004 Protected User Data: SMS Messages GravityRAT extracts SMS messages.
Command and Control T1437.001 Application Layer Protocol: Web Protocols GravityRAT uses HTTPS to communicate with its C&C server.
Exfiltration T1646 Exfiltration Over C2 Channel GravityRAT exfiltrates data using HTTPS.
Impact T1641 Data Manipulation GravityRAT removes files with particular extensions from the device, and deletes all user call logs and the contact list.