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).
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.
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).
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.
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.
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).
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
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.
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.
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).
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.
Auch hier wird nur der erste C&C-Server verwendet, diesmal zum Hochladen der Daten des Gerätebenutzers, wie in Abbildung 12 zu sehen.
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. |