Wir entdeckten eine großangelegte Adware-Kampagne, die seit mindestens einem Jahr aktiv ist. Die Adware verbreitenden Android-Apps wurden mehr als acht Millionen-mal aus dem Google Play Store heruntergeladen.

Mehr als 40 Apps konnten wir der Adware-Kampagne zuordnen, die seit Juli 2018 aktiv Apps im Google Play Store zum Download bereithält. Davon konnten 21 Anwendungen noch zum Zeitpunkt unserer Untersuchungen heruntergeladen werden. ESET berichtete dem Google Play Security Team von den Adware-Apps und darauf hin wurden diese umgehend entfernt. Leider sind die Apps immer noch über Drittanbieter-App-Stores zu finden. ESET-Sicherheitsprodukte spüren die Adware als Android/AdDisplay.Ashas auf.

Abbildung 1: Android/AdDisplay.Ashas Adware-Apps, die von ESET an Google gemeldet wurden.

Abbildung 1: Android/AdDisplay.Ashas Adware-Apps, die von ESET an Google gemeldet wurden.

Abbildung 2: Die "Video downloader master"-Adware wurde mehr als fünf Millionen-mal heruntergeladen

Abbildung 2: Die "Video downloader master"-Adware wurde mehr als fünf Millionen-mal heruntergeladen

Android/AdDisplay.Ashas Adware-Features

Alle Anwendungen bieten die tatsächlich angepriesenen Features und funktionieren nicht nur als Adware. Die Adware-Funktion ist bei allen analysierten Apps dieselbe. Hinweis: Die folgenden Absätze beschreiben exemplarisch die Funktionsweise der Adware für nur eine App – allerdings gilt das auch für alle anderen Adware-Apps der „Android/AdDisplay.Ashas“-Familie.

Nach dem Start baut die App eine Kommunikationsverbindung zum C&C-Server auf (dessen IP-Adresse in der App base64-codiert ist). Die Adware-App sendet Gerätedaten wie: Gerätetyp, Betriebssystemversion, Sprache, Anzahl der installierten Apps, freier Speicherplatz, Akkustatus, ob das Gerät gerootet ist, ob der Entwicklermodus aktiviert ist und ob Facebook und dessen Messenger installiert sind.

Abbildung 3: Versenden von Informationen über das betroffene Gerät

Abbildung 3: Versenden von Informationen über das betroffene Gerät

Die App empfängt Konfigurationsdaten vom C&C-Server, die für das Einblenden von Werbung sowie für Tarnung und Resilienz erforderlich sind.

Abbildung 4: Adware-App empfängt Config-File vom C&C-Server

Abbildung 4: Adware-App empfängt Config-File vom C&C-Server

Der Adware-Entwickler wendet eine Reihe von Tricks an, um Tarnung und Resilienz zu implementieren.

Zunächst bestimmt die Adware-App, ob sie vom Google Play Security Mechanismus überprüft wird. Dafür erhält sie vom C&C-Server die isGoogleIP-Flag. Dieser Indikator zeigt an, ob die IP-Adresse des betroffenen Geräts in den Bereich bekannter IP-Adressen für Google-Server fällt. Gibt der Server die Flag als positiv zurückgibt, triggert die Adware-App keine Werbung.

Eine Android/AdDisplay.Ashas Adware-App kann außerdem eine bestimmte Verzögerung zwischen Werbe-Einblendungen einstellen. In den von uns untersuchten Samples wurde die Konfiguration so gewählt, dass die erste Werbe-Einblendung 24 Minuten nach dem Entsperren des Geräts erfolgte. Dieses Delay wurde so gewählt, dass typische Testroutinen, die normalerweise weniger als zehn Minuten dauern, kein ungewöhnliches Verhalten feststellen werden. Je länger der Verzögerungszeitraum zwischen den Werbe-Einblendungen gewählt wird, desto weniger assoziiert der User damit womöglich eine App als Verursacher.

Zudem ist die Adware-App je nach Server-Meldung in der Lage, das Icon zu verstecken und nur eine Verknüpfung anzulegen. Versucht ein User die App zu beseitigen, wird er womöglich bloß die Verknüpfung löschen. Die Anwendung läuft dann ohne das Wissen des Nutzers trotzdem im Hintergrund weiter. Diese „Stealth“-Technik erfreut sich steigender Beliebtheit unter Adware-Apps, die via Google Play Store verbreitet werden.

Abbildung 5: Einstellung der Zeitverzögerung, um Werbe-Einblendungen zu verzögern.

Abbildung 5: Einstellung der Zeitverzögerung, um Werbe-Einblendungen zu verzögern.

Sobald die Adware-App ihre Konfigurationsdaten erhält, können auf dem kompromittierten Gerät Anzeigen nach Wahl des Angreifers geschaltet werden. Jede Werbe-Einblendung wird als Vollbild angezeigt. Möchte der Android-User überprüfen, welche App für die Einblendungen verantwortlich ist, kann er die "Zuletzt verwendete Apps" anzeigen lassen. Dort wird allerdings ein weiterer Trick angewandt: Für die Adware-App wird ein Facebook- oder Google-Icon angezeigt, wie in Abbildung 6 dargestellt. Die Adware imitiert die beiden legitimen Apps, um einen Verdacht zu vermeiden und so lange wie möglich auf dem betroffenen Gerät zu bleiben.

Abbildung 6: Die Adware-App imitiert Facebook (links). Durch ein langes Drücken auf das Facebook-Icon offenbart sich der wahre Name der App (rechts).

Abbildung 6: Die Adware-App imitiert Facebook (links). Durch ein langes Drücken auf das Facebook-Icon offenbart sich der wahre Name der App (rechts).

Zu guter Letzt ist der Code von Android/AdDisplay.Ashas Adware-Apps unter dem Paketnamen com.google.xxx verborgen. Durch diesen Trick gibt sich die Adware als scheinbar legitimer Google-Dienst aus. Das kann dazu führen, dass die Adware-App gar nicht überprüft wird. Manche Erkennungsroutinen und Sandboxen setzen solche Dienste auf eine Whitelist, um keine „unnötigen“ Geräte-Ressourcen zu verschwenden.

Abbildung 7: schädlicher Code versteckt sich unter "com.google"

Abbildung 7: schädlicher Code versteckt sich unter "com.google"

Aufspüren des verantwortlichen Entwicklers

Mit Hilfe von öffentlich zugänglichen Informationen, waren wir in der Lage, den für die Adware verantwortlichen Entwickler aufzuspüren. Dieser war gleichzeitig der Operator der Adware-Kampagne und Besitzer des C&C-Servers. In den folgenden Absätzen beschreiben wir, wie die anderen Adware-Apps aufgespürt wurden und wie wir unsere User vor den bösartigen Anwendungen schützen.

Basierend auf den Informationen, die mit der registrierten C&C-Domain verknüpft sind, identifizierten wir zunächst den Namen des Registranten sowie weitere Daten wie Herkunftsland und E-Mail-Adresse (siehe Abbildung 8).

Abbildung 8: Informationen zur C&C-Domain, die von der Ashas-Adware verwendet wird

Abbildung 8: Informationen zur C&C-Domain, die von der Ashas-Adware verwendet wird

Da wir damit rechnen mussten, dass die an den Domain-Registrar übermittelten Informationen gefälscht sein könnten, setzten wir unsere Suche fort.

Die E-Mail-Adresse und die Informationen über das mögliche Aufenthaltsland führten uns zu einer Liste von Studenten, die eine Klasse an einer vietnamesischen Universität besuchten. Das bestätigte die Existenz der Person, unter deren Namen die Domain registriert wurde.

Abbildung 9: Liste mit Studenten, darunter derjenige, der die C&C-Server-Domain registrierte.

Abbildung 9: Liste mit Studenten, darunter derjenige, der die C&C-Server-Domain registrierte.

Durch die schlechten Datenschutz-Praktiken der Universität, wissen wir nun auch das Geburtsdatum des Adware-Entwicklers (Teil seiner Google E-Mail-Adresse). Wir konnten auch die Echtheit, der beim Domain-Registrar hinterlegten Telefonnummer, bestätigen. Zusätzlich fanden wir seinen Universitätsausweis und einige seiner Prüfungsergebnisse.

Mit Hilfe der E-Mail-Adresse stießen wir auch auf seinen GitHub-Account. Die Repository deutet darauf hin, dass es sich hierbei tatsächlich um den gesuchten Adware-Entwickler handelt. Allerdings ist der Code für die Ashas-Adware dort nicht zu finden. Eine kurze Google-Suche nach dem Namen des Adware-Pakets ergab jedoch, dass das Projekt unter dem Namen „TestDelete“ eine gewisse Zeit lang verfügbar war.

Der kriminelle Entwickler veröffentlichte auch Apps im Apple App Store. Dabei handelte es sich beispielsweise um iOS-Versionen derjenigen Apps, die aus dem Google Play Store entfernt wurden. Die Adware-Funktionalität enthielten die iOS-Pendants allerdings nicht.

Abbildung 10: Der kriminelle Entwickler veröffentlichte einige Apps auch im Apple App Store - allerdings ohne Adware.

Abbildung 10: Der kriminelle Entwickler veröffentlichte einige Apps auch im Apple App Store - allerdings ohne Adware.

Unsere weiteren Nachforschungen führten uns auch zum YouTube-Channel des Adware-Entwicklers. Die Plattform nutzt er, um seine Adware-Apps und andere zu verbreiten. Das Video zur Ashas-Adware enthaltenen „Head Soccer World Champion 2018“-App wurde über drei Millionen-mal aufgerufen. Zwei weitere Videos erreichten Hunderttausende Aufrufe (Abbildung 11).

Abbildung 11: YouTube-Channel des böswilligen Entwicklers

Abbildung 11: YouTube-Channel des böswilligen Entwicklers

Sein YouTube-Channel lieferte uns eine weitere wertvolle Information: Er selbst hat in einem Video-Tutorial für eines seiner anderen Projekte mitgewirkt. Anhand dieses Projekts konnten wir sein Facebook-Profil aufspüren. Dort gibt er auch den Besuch der oben erwähnten Universität an.

Abbildung 12: Facebook-Profil des C&C Domain-Registrars (Titelbild und Profilbild ausgeschnitten)

Abbildung 12: Facebook-Profil des C&C Domain-Registrars (Titelbild und Profilbild ausgeschnitten)

Auf dem Facebook-Profil verlinkt der Adware-Entwickler zu einer Facebook-Seite namens Minigameshouse (minigameshouse[.]net). Diese Domain ähnelt der Adware C&C-Server-Domain minigameshouse[.]us.

Eine Überprüfung ergibt, dass es sich bei beiden Domains um denselben Registranten handelt. Die auf Facebook zu findende Telefonnummer stimmt mit der für die Domain hinterlegte überein.

Abbildung 13: Die vom C&C-Domain-Registranten verwaltete Facebook-Seite verweist auf dieselbe Second Level Domain (minigameshouse) und Telefonnummer wie die von der Ashas-Adware verwendete registrierte bösartige C&C-Domain.

Abbildung 13: Die vom C&C-Domain-Registranten verwaltete Facebook-Seite verweist auf dieselbe Second Level Domain (minigameshouse) und Telefonnummer wie die von der Ashas-Adware verwendete registrierte bösartige C&C-Domain.

Interessant ist, dass der kriminelle Entwickler auf der Minigameshouse-Facebookseite eine ganze Reihe von Spielen außerhalb der Ashas-Familie bewirbt, die bei Google Play und im App Store zum Download angeboten wurden. Mittlerweile entfernte man diese Apps vollständig aus dem Google Play-Store – und das, obwohl einige von ihnen gar keine Adware-Funktionen enthielten.

Als krönender Abschluss dient eines der YouTube-Videos des kriminellen Entwicklers – ein Tutorial zur Entwicklung eines „Instant Games“ für Facebook – als Beispiel dafür, wie der App Security Mechanismus von Google geblendet werden kann. Wir konnten erkennen, dass sich in seinen kürzlich besuchten Webseiten Google Play-Seiten von Apps befanden, welche die Asha-Adware enthielten.

Zudem benutzte er seinen E-Mail-Account, um sich im Video bei verschiedenen Diensten anzumelden. Dadurch kann er zweifelsfrei als der Domain-Besitzer der Adware identifiziert werden. Dank dieses Videos waren wir sogar in der Lage, drei weitere Apps zu bestimmen, die Adware-Funktionen enthielten und bei Google Play verfügbar waren.

Screenshots aus dem YouTube-Video dieses Entwicklers zeigen den Verlauf der Überprüfung der Ashas-Adware bei Google Play

Screenshots aus dem YouTube-Video dieses Entwicklers zeigen den Verlauf der Überprüfung der Ashas-Adware bei Google Play

ESET telemetry

ESET erkennt Android/AdDisplay.Ashas auf Android-Geräten in vielen Ländern

ESET erkennt Android/AdDisplay.Ashas auf Android-Geräten in vielen Ländern

Ist Adware schädlich?

Weil die wahre Natur der Apps, die Adware enthalten, vor dem User meist verborgen ist, sollten diese Apps und ihre Entwickler als nicht vertrauenswürdig eingestuft werden. Wenn Adware-Apps, auf einem Gerät installiert werden, beginnen sie:

  • Benutzer mit aufdringlicher Werbung zu belästigen, inklusive betrügerischer Werbung
  • Batterieleistung zu verschwenden
  • Gesteigerten Netzwerkverkehr zu erzeugen
  • Persönliche Daten des Benutzers zu sammeln
  • Ihre Anwesenheit auf dem betroffenen Gerät zu verbergen, um länger bestehen zu bleiben
  • Einnahmen für ihren Betreiber zu generieren, auch ohne Interaktionen des Users

Fazit

Allein durch Informationen aus frei verfügbaren Quellen waren wir in der Lage, den Entwickler der Ashas-Adware zu ermitteln, seine Identität festzustellen und weitere, zusammenhängende Adware-verseuchte Apps zu entdecken. Da der Entwickler keine Maßnahmen ergriffen hatte, seine Identität zu schützen, ist es wahrscheinlich, dass seine Absichten zunächst ehrlich waren. Diese Annahme wird auch davon unterstützt, dass nicht alle seine veröffentlichten Apps unerwünschte Werbung enthalten.

An einem bestimmten Punkt in seiner „Karriere“ auf Google Play entschied er sich offenbar, seine Werbeeinnahmen zu steigern, indem er Adware-Funktionen in den Code seiner App einbrachte. Die verschiedenen Tarnungs- und Widerstandstechniken, die in der App stecken, zeigen uns, dass der Täter über die schädliche Natur der zusätzlichen Funktionen Bescheid wusste und sie daher verborgen halten wollte.

Unerwünschte oder schädliche Funktionen in beliebte, harmlose Apps hineinzuschmuggeln, ist eine geläufige Vorgehensweise unter „kriminellen“ Entwicklern – und wir haben uns dazu verpflichtet, solche Apps ausfindig zu machen. Wir melden sie bei Google und unternehmen weitere Schritte, um die entdeckten schädliche Kampagnen zu unterbrechen. Zu guter Letzt veröffentlichen wir unsere Ergebnisse, um Android-Usern dabei zu helfen, sich selbst zu schützen.

Indicators of Compromise (IoCs)

Package name Hash Installs
com.ngocph.masterfree c1c958afa12a4fceb595539c6d208e6b103415d7 5,000,000+
com.mghstudio.ringtonemaker 7a8640d4a766c3e4c4707f038c12f30ad7e21876 500,000+
com.hunghh.instadownloader 8421f9f25dd30766f864490c26766d381b89dbee 500,000+
com.chungit.tank1990 237f9bfe204e857abb51db15d6092d350ad3eb01 500,000+
com.video.downloadmasterfree 43fea80444befe79b55e1f05d980261318472dff 100,000+
com.massapp.instadownloader 1382c2990bdce7d0aa081336214b78a06fceef62 100,000+
com.chungit.tankbattle 1630b926c1732ca0bb2f1150ad491e19030bcbf2 100,000+
com.chungit.basketball 188ca2d47e1fe777c6e9223e6f0f487cb5e98f2d 100,000+
com.applecat.worldchampion2018 502a1d6ab73d0aaa4d7821d6568833028b6595ec 100,000+
org.minigamehouse.photoalbum a8e02fbd37d0787ee28d444272d72b894041003a 100,000+
com.mngh.tuanvn.fbvideodownloader 035624f9ac5f76cc38707f796457a34ec2a97946 100,000+
com.v2social.socialdownloader 2b84fb67519487d676844e5744d8d3d1c935c4b7 100,000+
com.hikeforig.hashtag 8ed42a6bcb14396563bb2475528d708c368da316 100,000+
com.chungit.heroesjump c72e92e675afceca23bbe77008d921195114700c 100,000+
com.mp4.video.downloader 61E2C86199B2D94ABF2F7508300E3DB44AE1C6F1 100,000+
com.videotomp4.downloader 1f54e35729a5409628511b9bf6503863e9353ec9 50,000+
boxs.puzzles.Puzzlebox b084a07fdfd1db25354ad3afea6fa7af497fb7dc 50,000+
com.intatwitfb.download.videodownloader 8d5ef663c32c1dbcdd5cd7af14674a02fed30467 50,000+
com.doscreenrecorder.screenrecorder e7da1b95e5ddfd2ac71587ad3f95b2bb5c0f365d 50,000+
com.toptools.allvideodownloader 32E476EA431C6F0995C75ACC5980BDBEF07C8F7F 50,000+
com.top1.videodownloader a24529933f57aa46ee5a9fd3c3f7234a1642fe17 10,000+
com.santastudio.headsoccer2 86d48c25d24842bac634c2bd75dbf721bcf4e2ea 10,000+
com.ringtonemakerpro.ringtonemakerapp2019 5ce9f25dc32ac8b00b9abc3754202e96ef7d66d9 10,000+
com.hugofq.solucionariodebaldor 3bb546880d93e9743ac99ad4295ccaf982920260 10,000+
com.anit.bouncingball 6e93a24fb64d2f6db2095bb17afa12c34b2c8452 10,000+
com.dktools.liteforfb 7bc079b1d01686d974888aa5398d6de54fd9d116 10,000+
net.radiogroup.tvnradio ba29f0b4ad14b3d77956ae70d812eae6ac761bee 10,000+
com.anit.bouncingball 6E93A24FB64D2F6DB2095BB17AFA12C34B2C8452 10,000+
com.floating.tube.bymuicv 6A57D380CDDCD4726ED2CF0E98156BA404112A53 10,000+
org.cocos2dx.SpiderSolitaireGames adbb603195c1cc33f8317ba9f05ae9b74759e75b 5,000+
games.puzzle.crosssum 31088dc35a864158205e89403e1fb46ef6c2c3cd 5,000+
dots.yellow.craft 413ce03236d3604c6c15fc8d1ec3c9887633396c 5,000+
com.tvngroup.ankina.reminderWater 5205a5d78b58a178c389cd1a7b6651fe5eb7eb09 5,000+
com.hdevs.ringtonemaker2019 ba5a4220d30579195a83ddc4c0897eec9df59cb7 5,000+
com.carlosapps.solucionariodebaldor 741a95c34d3ad817582d27783551b5c85c4c605b 5,000+
com.mngh1.flatmusic 32353fae3082eaeedd6c56bb90836c89893dc42c 5,000+
com.tvn.app.smartnote ddf1f864325b76bc7c0a7cfa452562fe0fd41351 1,000+
com.thrtop.alldownloader f46ef932a5f8e946a274961d5bdd789194bd2a7d 1,000+
com.anthu91.soccercard 0913a34436d1a7fcd9b6599fba64102352ef2a4a 1,000+
com.hugofq.wismichudosmildiecisiete 4715bd777d0e76ca954685eb32dc4d16e609824f 1,000+
com.gamebasketball.basketballperfectshot e97133aaf7d4bf90f93fefb405cb71a287790839 1,000+
com.nteam.solitairefree 3095f0f99300c04f5ba877f87ab86636129769b1 100+
com.instafollowers.hiketop 3a14407c3a8ef54f9cba8f61a271ab94013340f8 1+

C&C server

http://35.198.197[.]119:8080

MITRE ATT&CK techniques

Tactic ID Name Description
Initial Access T1475 Deliver Malicious App via Authorized App Store The malware impersonates legitimate services on Google Play
Persistence T1402 App Auto-Start at Device Boot An Android application can listen for the BOOT_COMPLETED broadcast, ensuring that the app's functionality will be activated every time the device starts
Impact T1472 Generate Fraudulent Advertising Revenue Generates revenue by automatically displaying ads

Kudos to @jaymin9687 for bringing the problem of unwanted ads in the “Video downloader master” app to our attention.