Onderzoekers waarschuwen voor een nieuwe dreiging voor Android: de StreamRat Android trojan. De malware werd gepusht richting Spaanstalige gebruikers via een nep-televisie-streamingcampagne op Meta. Wie het slachtoffer wordt en de juiste stappen doorloopt, kan te maken krijgen met verregaande controle over het toestel.
Volgens ThreatFabric ligt de focus van de campagne op Spanje. In de Europese Unie bereikte de advertentie naar schatting 570.950 Meta-accounts die de advertentie minstens één keer te zien kregen. Hoeveel apparaten daadwerkelijk geïnfecteerd raakten en hoeveel bevestigde slachtoffers er zijn, bleef in het rapport onbesproken.
Nep-televisie als instap voor StreamRat
De aanval start niet met een klassieke app-installatie vanuit een officiële winkel. In plaats daarvan stuurt de sociale-mediale lokpagina een bezoeker naar een speciaal voorbereide website. Daar checkt de site op welk besturingssysteem de bezoeker zit, waarna Android-gebruikers een downloadknop te zien krijgen.
Daarna begint het typische side-loading traject: de gebruiker downloadt een bestand met de naam app.apk en start dit zelf. Pas na die installatie gaat de trojan verder met het uitvragen van rechten.
Rechten die “streaming” moeten worden, maar dat niet zijn
Een belangrijk onderdeel van de StreamRat Android trojan draait om het verkrijgen van machtigingen die niets met tv-kijken te maken hebben. ThreatFabric beschrijft meerdere stappen waarin het slachtoffer een reeks controles moet toestaan.
Allereerst vraagt de installer om de app als standaard Home-app te mogen worden. Dat betekent dat de interface van de malware terugkeert telkens wanneer het slachtoffer op de Home-knop drukt.
Vervolgens probeert de dropper vóór de uiteindelijke payload nog een VPN-verbinding op te zetten. Als de gebruiker akkoord gaat, routeert de malware het dataverkeer via een zogenaamd “interface”-pad dat niet functioneel is. Tegelijk wordt het proces van de dropper zelf buiten de routing gehouden.
VPN-truc: internet valt weg tijdens installatie
Het VPN-onderdeel heeft een opvallend effect: andere apps kunnen tijdens het installatiemoment geen internet meer gebruiken. ThreatFabric geeft aan dat de malware de VPN afsluit nadat de payload is gestart. Daarna kan de trojan wél met zijn command-and-control (C2)-server communiceren.
De onderzoekers vermoeden dat deze onderbreking dubbele doelen kan dienen. Het kan de reputatie van het proces schaden en het lastiger maken voor analyse- of controlemechanismen die online gedrag inspecteren. Tegelijk merkt ThreatFabric op dat Google Play Protect vooral offline detectie van bekende schadelijke toepassingen behoudt, waardoor de methode minder impact kan hebben op die dienst.
Wat Accessibility mogelijk maakt
Zodra de installatie is afgerond en StreamRat draait, vraagt de malware om Accessibility-toegang. Dit is een veelgebruikte hefboom in Android-malware, omdat het aanvallers inzicht en bedieningsmogelijkheden geeft die normaal niet toegankelijk zijn voor willekeurige apps.
Concreet kan de aanvaller met deze rechten onder meer:
- toetsenbordaanslagen vastleggen;
- overlay-schermen tonen die gegevens kunnen laten stelen;
- de zichtbare interface inspecteren;
- het apparaat extern besturen.
ThreatFabric benadrukt dat StreamRat technisch verfijnd lijkt en ontwikkeld zou zijn door mensen met eerdere ervaring in het Android-malware-ecosysteem.
Schermopnames met MediaProjection
Naast controle via Accessibility richt StreamRat zich ook op zichtbaar beeld. Voor een screenshot op het zichtbare scherm gebruikt de malware Android’s MediaProjection API. Daarbij verschijnt doorgaans een toestemmingsdialoog en zie je in de UI een herkenbare indicator dat er gedeeld wordt.
De trojan kan, nadat het slachtoffer de benodigde toestemming heeft gegeven, met Accessibility ook interacteren met die consent-dialog. Volgens ThreatFabric bestaat er daarnaast een tweede modus die de takeScreenshot()-methode via Accessibility inzet om een schermopname te maken buiten de MediaProjection-indicator om.
Waarom slachtoffers soms “Update”-APK’s krijgen
De dropper downloadt de uiteindelijke payload naar de openbare Downloads-map. Het bestand krijgt daarbij een naam in de vorm van update_{timestamp}.apk. Daarna wordt de gebruiker gevraagd om toestemming om installaties uit “unknown sources” toe te staan.
Pas na die stap installeert Android de payload via het normale pakket-installatiemechanisme. Daarmee ontstaat het risico dat het slachtoffer de installatie ziet als een gewone app-update, terwijl het in werkelijkheid om een nieuw pakket van malware gaat.
Ook op TikTok: dezelfde campagne-aanpak
ThreatFabric meldt dat StreamRat ook via TikTok werd gepromoot. Voor die route bestaat publieke evidence uit code op een landingpagina die kan herkennen dat TikTok de verwijzende app was. Er werden in het rapport geen TikTok-specifieke advertentieregisters of bereikcijfers genoemd.
De onderzoekers geven aan dat dezelfde banners waarschijnlijk ook op Facebook en Instagram hebben gedraaid. Welke plaatsing op Meta als hoofdroute gold, bleef voor het onderzoek onduidelijk.
Timing en herkomst van de payload
De Meta-campagne begon op 11 juni 2026 en eindigde op 3 juli 2026. Het geheel werd eind juli ontdekt en de bevindingen werden op 2 september 2026 gepubliceerd.
De StreamRat-payload kwam volgens ThreatFabric van een GitHub-account dat de organisatie ook linkt aan een eerdere Mirax-campagne. De dropper zou sterk lijken op de techniek uit die eerdere operatie, inclusief het gebruik van GitHub releases voor de distributie. Daarbij zouden er verschillende “backup links” en dagelijkse package updates zijn.
Meer achtergrond over hoe aanvallers software-distributie en updates kunnen misbruiken staat ook in dit artikel: Fake software-installers schakelen updates uit.
Indicators van compromis (IoC’s)
ThreatFabric deelt een reeks concrete IoC’s die helpen om besmetting te herkennen. Let op: dit zijn aanwijzingen, geen garantie—maar ze vormen wel een startpunt voor incidentrespons en detectie.
- SHA-256: e0714788b4e2518b0d9d4cbf18c7217bb97718e01689d77338f1cc4a230fcb6c
- Package: io.base.one887
- Application: StrεαmTV Pro
- SHA-256: ba83cc3c9535690191018edf73ca5c6001609df9919462796aa2e551f142e4d3
- Package: io.meat.hint
- Application: Sistema de vídeo
- C2 IP: 45.147.28[.]59
- C2 IP: 193.32.2[.]245
Hoe je jezelf beschermt tegen dit soort Android-malware
De grootste winst zit in het patroon dat ThreatFabric beschrijft: gebruikers die een “streaming”-app proberen te installeren, krijgen daarna permissies voor apparaatcontrole die niet kloppen met het doel. Stop daarom op het moment dat een streaming-app om system controls of vergelijkbare gevoelige bevoegdheden vraagt.
Enkele praktische richtlijnen:
- Wees terughoudend met side-loading. Installeer alleen apps van betrouwbare bronnen.
- Controleer toestemmingen. Accessibility-toegang en Home-app-privileges zijn sterke signalen.
- Let op toestemmingsdialogen rond schermdeling en kijk of je die toestemming echt hebt gegeven.
- Check IoC’s en verdachte pakketten als je verdachte downloads ziet verschijnen in Downloads of “update”-bestanden tegenkomt.
Als je geïnteresseerd bent in hoe malware apps en verkeer manipuleert of omleidt, kan dit ook relevant zijn: Malicious Apache-modules: verkeer omgeleid in Brazilië. Hoewel dat een ander platform betreft, laat het zien hoe aanvallers ongeautoriseerde controle kunnen nastreven via technische omwegen.
Conclusie
De StreamRat Android trojan laat zien hoe social engineering en Android-specifieke machtigingen samen een zeer krachtig wapen vormen. Met een nep-televisiecampagne op Meta (en mogelijk ook via TikTok), side-loading, een VPN-onderbreking tijdens installatie en vervolgens Accessibility-toegang kan StreamRat operators bijna volledige controle over het toestel geven.
Wie merkt dat een streaming-app opeens om systeemrechten vraagt, doet er verstandig aan direct te stoppen. Daarmee voorkom je dat je toestel in de keten van permissies terechtkomt die de trojan nodig heeft om toetsen te lezen, schermen te misbruiken en op afstand te sturen.
Bron: https://thehackernews.com/2026/09/meta-ads-push-streamrat-android-trojan.html
