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.
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.
Die App empfängt Konfigurationsdaten vom C&C-Server, die für das Einblenden von Werbung sowie für Tarnung und Resilienz erforderlich sind.
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.
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.
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.
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).
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.
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.
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).
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.
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.
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.
ESET telemetry
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.