In diesem Jahr beobachteten wir bereits viele Malware Kampagnen, welche User durch die Verbreitung schädlicher Apps im Google Play Store versuchten zu kompromittieren. Obwohl diese Apps oft innerhalb von Tagen nach der Meldung an Google entfernt werden, erreichen sie dennoch Tausende von Android-Nutzern. Alle im Google Play Store eingereichten Apps werden automatisch analysiert, um bösartige Anwendungen zu blockieren, aber die neuesten Malware-Bedrohungen verwenden Techniken der Verschleierung. Dabei ahmen sie eine legitime Anwendung nach, und erst nach einem Ablauf eines Timers zeigt die App ihr wahres Gesicht und führt den Schadcode aus (in diesem Fall mit zwei Stunden Verzögerung). Somit können sie Googles automatisches Erkennungsprogramm "Google Play Protect" umgehen.
Danksagung
Dieser Artikel basiert auf der gemeinsamen Forschung von Avast, SfyLabs und ESET. Auch die beiden ersteren Antivirus-Hersteller haben eigene Artikel zur Thematik verfasst.
Im Oktober und November 2017 stießen wir im Google Play Store auf zwei neue Kampagnen mit Dropper - die erste Kampagne verteilte eine Banking-Malware. Die zweite Kampagne wurde erst kürzlich auf WeLiveSecurity beschrieben. Am Ende des Textes sind einige zusätzliche IoCs aufgelistet.
Die Dropper aus den vorherigen Kampagnen waren weitaus anspruchsvoller und nutzten die Android-Bedinungshilfen, um Klicks im Hintergrund auszuführen und die Installation von Apps aus unbekannten Quellen zu ermöglichen. Dieser neue Dropper beansprucht die Bedienungshilfen nicht und setzt auch noch voraus, dass der Benutzer bereits die Erlaubnis der Installation von unbekannten Quellen aktiviert hat. Ist das nicht der Fall, kann der Dropper die BankBot-Malware schlichtweg nicht installieren und der Android User bleibt verschont. Wenn die Installation von unbekannten Quellen allerdings aktiviert ist, wird der Benutzer aufgefordert, die BankBot-Malware zu installieren. Die Malware scheint in etwa die gleiche zu sein, wie diejenige über die Trend Micro im September berichtete.
Obwohl der Tornado FlashLight Dropper (com.andrtorn.app) mittlerweile aus dem Google Play Store entfernt ist, erkannte ihn Google Play Protect nicht. Das gleiche gilt für die Malware, die vom Dropper (com.vdn.market.plugin.upd) verteilt wird. Die Malware kann allerdings immer noch über Drittanbietermärkte heruntergeladen und ohne Probleme installiert werden, insofern das Android-Endgerät nicht über eine verlässliche Mobile Security verfügt.
Detaillierte Analyse der Android-Malware
Wenn der Android-User den Dropper zum ersten Mal startet, werden auf dem Smartphone installierte Anwendungen zunächst mit einer hardcodierten Liste von 160 Apps abgeglichen. Wir konnten nur 132 von ihnen identifizieren, da nicht die Paketnamen im Dropper enthalten sind, sondern nur deren Hashes. Die abzugleichende Liste ist seit der von Trend Micro beschriebenen Kampagne unverändert geblieben. Wenn eine oder mehrere der auf der Liste befindlichen App/s installiert ist/sind, startet die Dropper-Funktionalität – selbst dann, wenn die Dropper App beendet wurde.
Beim Start des Android-Geräts führt der Dropper die gleiche Überprüfung durch. Ist diese erfolgreich, wird der Malware-Service gestartet. Der Dienst fordert zuerst Administratorberechtigungen vom Benutzer an, nachdem er diese erhalten hat, fährt die Malware mit der Download-Routine fort. Die BankBot APK-Installationsdatei, welche für alle Dropper-Samples gleich ist, wird von hxxp://138.201.166.31/kjsdf.tmp heruntergeladen. Der Download wird nur zwei Stunden nach der Erteilung von Geräteadministratorrechten an den Dropper ausgelöst.
Sobald der Download abgeschlossen ist, wird der Dropper versuchen, die neu heruntergeladene APK-Installationsdatei auszuführen. Dabei wird der Standard-Android-Mechanismus verwendet, um Anwendungen außerhalb des Google Play Stores zu installieren. Neben der Anforderung, dass unbekannte Quellen bereits aktiviert sein müssen, erfordert diese Installationsmethode, dass der Benutzer die Installation mit einer Eingabe bestätigt.
Wenn wir den Namen und das Symbol des zu installierenden Pakets betrachten, gehen wir davon aus, dass die Angreifer den Android-Nutzern glauben machen wollten, dass es sich um ein Google Play Update handelt. Sobald die Installation abgeschlossen ist, fordert die neue APK Geräteadministratorrechte. Danach fährt die Malware-Attacke fort.
Wenn die Installation von unbekannten Quellen ausgestellt ist, erscheint eine Error-Meldung auf dem Android-Bildschirm und die Installation bricht ab.
Wie kann man einen erfolgreichen Angriff verhindern?
Für Android-User kann es sich schwierig gestalten, herauszufinden ob eine Android-App schädlich ist oder nicht. Zunächst ist es immer gut, Apps nur aus dem offiziellen Google Play Store herunterzuladen. Die meiste Malware wird nämlich immer noch über dritte Märkte verbreitet. Zweitens sollte der Android User, insofern er nicht genau weiß, was er tut, die Installation aus unbekannten Quellen deaktiviert lassen. Wenn eine App oder jemand persönlich dazu auffordert, handelt es sich möglicherweise um Malware.
Für alle User, die Apps vom Google Play Store herunterladen, empfehlen wir die Installation einer verlässlichen und proaktiven Mobile Security für Android-Geräte. Auf diese Weise kann bekannte Malware abgefangen werden, die nicht von Google Play Protect blockiert wird. Jeder Android User kann außerdem auf folgenden Punkte achten:
- Gute Apps verzeichnen viele Downloads und wenig negative Bewertungen
- Schädliche Apps sind meist erst nur wenige Tage im Google Play Store
- Malware-Apps verlangen meistens Geräteadministratorrechte
- Andere Schad-Apps verlangen Rechte aus den Android-Bedienungshilfen, um Benutzerinteraktion mit dem Gerät zu simulieren und das Gerät im Grunde zu übernehmen
- Oft erscheint die installierte Anwendung nicht mehr im App-Drawer, weil sie sich verstecken muss
Wer sich so eine Malware bereits auf das Android-Endgerät aufgespielt hat, sollte alle sensiblen Daten vom Gerät sichern und es dann auf Werkseinstellungen zurücksetzen.
Indicators of Compromise [IoC]
Kampagne #1
IoCs |
||
---|---|---|
Droppers | Package name: | SHA-256: |
Tornado FlashLight | com.andrtorn.app | 89f537cb4495a50b0827 58b34e54bd1024463176d7d2f4a445cf859f5a33e38f |
phxuw | com.sysdriver.andr | d93e03c833bac1a29f49fa5c3060a04298e7811e4fb0994afc05a25c24a3e6dc |
faczyfut | com.sysmonitor.service | 3a3c5328347fa52383406b6d 6ca31337442659ae8fafdff0972703cb49d97ac2 |
Lamp For DarkNess | com.wifimodule.sys | 138e3199d53dbbaa01db40742153775d54934433e999b9c7fcfa2fea2474ce8d |
zqmfsx | com.seafl.andr | c1720011300d8851bc30589063425799e4cce9bb972b3b32b6e30c21ce72b9b6 |
Discounter | com.sarniaps.deew | bb932ca35651624fba2820d657bb10556aba66f15c053142a5645aa8fc31bbd0 |
Dropped ynlfhgq |
com.vdn.market.plugin.upd | 9a2149648d9f56e999bd5af599d041f00c3130fca282ec47430a3aa575a73dcd |
C&C-Server
Alle Apps kommunizieren mit 138.201.166.31
Kampagne #2
IoCs |
||
---|---|---|
Droppers | Package name: | SHA-256: |
XDC Cleaner | com.sdssssd.rambooster | cc32d14cea8c9ff13e95d2a83135ae4b7f4b0bd84388c718d324d559180218fd |
Spider Solitaire | com.jkclassic.solitaire12334 | b6f5a294d4b0bee029c2840c3354ed814d0d751d00c9c3d48603ce1f22dae8b3 |
Classic Solitaire | com.urbanodevelop.solitaire | b98d3f4950d07f62f22b4c933416a007298f9f38bebb897be0e31e4399eb39c3 |
Solitaire | com.jduvendc.solitaire | b98d3f4950d07f62f22b4c933416a007298f9f38bebb897be0e31e4399eb39c3 |
Dropped malware xcuah | com.vdn.market.plugin.upd | 129e8d59f2e3a6f0ac4c98bfd12f9fb5d38176164ff5cf715e7e082ab33fffb6 |
Adobe Update | com.hqzel.zgnlpufg | 3f71c21975d51e920f47f6 ec6d183c1c4c875fac93ce4eacc5921ba4f01e39d3 |
C&C-Server
Alle Dropper kommunizieren mit 5.61.32.253. Die verschiedenen verwendeten Hostnamen lauten:
- 88820.pro
- 88881.pro
- 88884.pro
Die Malware-Samples kommunizieren mit 94.130.0.119 und 31.131.21.162.
Anvisierte Apps
ar.nbad.emobile.android.mobilebank |
---|
at.bawag.mbanking |
at.spardat.bcrmobile |
at.spardat.bcrmobile |
at.spardat.netbanking |
au.com.bankwest.mobile |
au.com.cua.mb |
au.com.ingdirect.android |
au.com.nab.mobile |
au.com.newcastlepermanent |
au.com.suncorp.SuncorpBank |
ch.raiffeisen.android |
com.EurobankEFG |
com.adcb.bank |
com.adib.mbs |
com.advantage.RaiffeisenBank |
com.akbank.android.apps.akbank_direkt |
com.anz.SingaporeDigitalBanking |
com.bankaustria.android.olb |
com.bankofqueensland.boq |
com.barclays.ke.mobile.android.ui |
com.bbva.bbvacontigo |
com.bbva.netcash |
com.bendigobank.mobile |
com.bmo.mobile |
com.caisseepargne.android.mobilebanking |
com.cajamar.Cajamar |
com.cbd.mobile |
com.chase.sig.android |
com.cibc.android.mobi |
com.citibank.mobile.au |
com.clairmail.fth |
com.cm_prod.bad |
com.comarch.mobile |
com.comarch.mobile.banking.bnpparibas |
com.commbank.netbank |
com.csam.icici.bank.imobile |
com.csg.cs.dnmb |
com.db.mm.deutschebank |
com.db.mm.norisbank |
com.dib.app |
com.finansbank.mobile.cepsube |
com.finanteq.finance.ca |
com.garanti.cepsubesi |
com.getingroup.mobilebanking |
com.htsu.hsbcpersonalbanking |
com.imb.banking2 |
com.infonow.bofa |
com.ing.diba.mbbr2 |
com.ing.mobile |
com.isis_papyrus.raiffeisen_pay_eyewdg |
com.konylabs.capitalone |
com.mobileloft.alpha.droid |
com.moneybookers.skrillpayments |
com.moneybookers.skrillpayments.neteller |
com.palatine.android.mobilebanking.prod |
com.pozitron.iscep |
com.rak |
com.rsi |
com.sbi.SBIFreedomPlus |
com.scb.breezebanking.hk |
com.snapwork.hdfc |
com.starfinanz.smob.android.sfinanzstatus |
com.suntrust.mobilebanking |
com.targo_prod.bad |
com.tmobtech.halkbank |
com.ubs.swidKXJ.android |
com.unicredit |
com.unionbank.ecommerce.mobile.android |
com.usaa.mobile.android.usaa |
com.usbank.mobilebanking |
com.vakifbank.mobile |
com.vipera.ts.starter.FGB |
com.vipera.ts.starter.MashreqAE |
com.wf.wellsfargomobile |
com.ykb.android |
com.ziraat.ziraatmobil |
cz.airbank.android |
cz.csob.smartbanking |
cz.sberbankcz |
de.comdirect.android |
de.commerzbanking.mobil |
de.direkt1822.banking |
de.dkb.portalapp |
de.fiducia.smartphone.android.banking.vr |
de.postbank.finanzassistent |
de.sdvrz.ihb.mobile.app |
enbd.mobilebanking |
es.bancosantander.apps |
es.cm.android |
es.ibercaja.ibercajaapp |
es.lacaixa.mobile.android.newwapicon |
es.univia.unicajamovil |
eu.eleader.mobilebanking.pekao |
eu.eleader.mobilebanking.pekao.firm |
eu.inmite.prj.kb.mobilbank |
eu.unicreditgroup.hvbapptan |
fr.banquepopulaire.cyberplus |
fr.creditagricole.androidapp |
fr.laposte.lapostemobile |
fr.lcl.android.customerarea |
gr.winbank.mobile |
hr.asseco.android.jimba.mUCI.ro |
in.co.bankofbaroda.mpassbook |
may.maybank.android |
mbanking.NBG |
mobi.societegenerale.mobile.lappli |
mobile.santander.de |
net.bnpparibas.mescomptes |
net.inverline.bancosabadell.officelocator.android |
nz.co.anz.android.mobilebanking |
nz.co.asb.asbmobile |
nz.co.bnz.droidbanking |
nz.co.kiwibank.mobile |
nz.co.westpac |
org.banksa.bank |
org.bom.bank |
org.stgeorge.bank |
org.westpac.bank |
pl.bzwbk.bzwbk24 |
pl.bzwbk.ibiznes24 |
pl.ipko.mobile |
pl.mbank |
pt.bancobpi.mobile.fiabilizacao |
pt.cgd.caixadirecta |
pt.novobanco.nbapp |
ro.btrl.mobile |
src.com.idbi |
wit.android.bcpBankingApp.activoBank |
wit.android.bcpBankingApp.millennium |
wit.android.bcpBankingApp.millenniumPL |
www.ingdirect.nativeframe |