RatHat Android-malware maakt misbruik van ADB om Shell-toegang te behouden na verwijdering

Onderzoekers op het gebied van cyberbeveiliging hebben een nieuwe Android-malware genaamd RatHat gemarkeerd, die naar verwachting wordt beheerd door in China gevestigde bedreigingsactoren en beschikt over een door kunstmatige intelligentie (AI) aangedreven systeem om gecompromitteerde apparaten te navigeren en te controleren.

“RatHat wordt voornamelijk verspreid via gerichte smishing (sms/tekstphishing) en malvertisingcampagnes die leiden tot misleidende downloadportals van derden, en maakt gebruik van een geautomatiseerde meerfasige infectiepijplijn”, aldus Zimperium-onderzoekers Gianluca Braga, Vishnu Pratapagiri en Fernando Ortega.

“Eenmaal geïmplementeerd, koppelt het toegankelijkheidsmisbruik aan autonome lokale ADB (Android Debug Bridge) zelfkoppeling om uit de standaard sandbox van Android-applicaties te breken, door onafhankelijke native daemons te organiseren die worden uitgevoerd met privileges op shell-niveau.”

RatHat wordt verspreid via misleidende phishing-sites die worden gepromoot via malvertising, smishing-campagnes en forums van derden die nietsvermoedende gebruikers ertoe verleiden om met malware gevulde APK’s te installeren. Deze pakketten functioneren als een dropper om de belangrijkste payload te lanceren, terwijl ze lagen van anti-analyse- en anti-debug-controles bevatten om detectie te omzeilen.

De vier anti-analysetechnieken die in de malware zijn verwerkt, worden hieronder vermeld:

  • Het knoeien met containers, waarbij bepaalde bestanden als mappen in het pakket worden gedeclareerd of de ZIP-bitvlag voor algemene doeleinden op sommige bestanden wordt ingesteld, zodat ze worden genegeerd door de libziparchive-bibliotheek van Android, maar niet door andere tools zoals unzip en apktool.

  • Manifestbom, die ervoor zorgt dat geautomatiseerde analysepijplijnen crashen of een time-out veroorzaken door ongedocumenteerde 0x9999 chunk-headers in “AndroidManifest.xml” te plaatsen die worden overgeslagen door de native Android-runtime.

  • DEX-bytecodevergiftiging, die pseudo-instructies bevat die zijn geconfigureerd met een ongeldig element_width-attribuut om ervoor te zorgen dat het demontageproces mislukt.

  • Dubbele string-encryptie, die gebruik maakt van een encryptieschema genaamd StringCrypto: Base64 om analyse te weerstaan.

De architectuur van de Android-malware bestaat uit drie hoofdcomponenten: de kwaadaardige Android-applicatie, een Go-agent en een FRP reverse-proxy-client. De Android-app fungeert als kanaal om kritieke systeemrechten te verkrijgen en de volgende fase van de aanval te lanceren, waardoor het toestemmingen voor toegankelijkheidsdiensten kan verkrijgen en deze vervolgens kan misbruiken om ontwikkelaarsopties te ontgrendelen, draadloos debuggen in te schakelen en de 6-cijferige ADB-koppelingscode te extraheren.

De malware is uitgerust om overlays bovenop specifieke apps te plaatsen om inloggegevens te verzamelen, het scherm op te nemen met de MediaProjection API van Android, sms-berichten te onderscheppen en installatiepogingen te onderdrukken door een nep-fout-overlay weer te geven die zich voordoet als de Google Play Store.

Maar zelfs als het slachtoffer erin slaagt het programma te verwijderen, behoudt de aanvaller nog steeds shell-toegang op het apparaat. De aanvaller kan de lokale service gebruiken om te controleren of de malware is geïnstalleerd en deze opnieuw installeren als deze niet wordt gevonden.

“De malware serialiseert de live toegankelijkheidsboom van het apparaat naar XML en communiceert met een van ’s werelds populairste generatieve AI-assistenten”, aldus Zimperium. “Deze AI wordt gebruikt voor niet-kwaadwillige acties, waaronder: het omzetten van de middencoördinaten van een benoemd doelwit op het scherm als JSON om synthetische klikken te sturen, het omzetten van de daadwerkelijke tekst op het scherm van een doelwit uit de XML, (en) het signaleren van automatische navigatieopdrachten zoals SCROLL_DOWN.”

De door de APK uitgevoerde Go Agent doet zich voor als een native bibliotheek (“liblocal-service.so”) maar maakt gebruik van de shell-toegang verkregen via de lokale ADB-daemon om opdrachten uit te voeren, waardoor de malware persistentie kan bewerkstelligen en vrijstellingen voor energiebeheer kan toepassen. De FRP-client wordt op zijn beurt gebruikt om een ​​veilige, omgekeerde tunnel naar een command-and-control (C2)-server tot stand te brengen.

“De Go Agent haalt de FRP-tunnelconfiguratie op van de C2-server, waardoor de FRP-client een aanhoudende, actieve omgekeerde tunnel naar de operator kan opzetten”, aldus de onderzoekers. “Deze verbinding wordt door aanvallers gebruikt om toegang te krijgen tot de ADB-daemon: het is een universele weg naar het apparaat die alles bevat wat de operator wil, onafhankelijk van de eigen functies van de malware.”

De door de C2-server uitgegeven opdrachten zijn gevarieerd en rijk aan functies, waardoor de bedreigingsactoren sms-berichten, inloggegevens, bestanden, pincode, patroon of wachtwoord voor het vergrendelscherm, schermafbeeldingen, toetsaanslagen (inclusief URL’s ingevoerd in de adresbalken van de webbrowser) en een lijst met geïnstalleerde applicaties kunnen verzamelen. Ook in RatHat ingebouwd is een keylogger op hardwareniveau die wordt uitgevoerd door de Go Agent en die vingeraanslagen op het scherm kan opnemen.

“De meerlagige architectuur van RatHat, de afhankelijkheid van daemons die buiten de levenscyclus zijn en het gebruik van real-time GenAI-beslissingslussen illustreren waarom traditionele, op handtekeningen gebaseerde mobiele beveiligingscontroles onvoldoende zijn”, aldus Zimperium.

Thijs Van der Does