SambaCry : de la faille Samba au minage distribué de crypto-monnaie par malware

SambaCry : de la faille Samba au minage distribué de crypto-monnaie par malware

Simple comme une mise à jour

Avatar de l'auteur
Vincent Hermann

Publié dans

Internet

13/06/2017 5 minutes
41

SambaCry : de la faille Samba au minage distribué de crypto-monnaie par malware

Il y a deux semaines environ, Samba corrigeait une vulnérabilité critique, vite surnommée SambaCry. Aujourd’hui, elle fait l’objet d’une exploitation, les pirates en profitant pour installer un logiciel mineur de crypto-monnaie.

Le 24 mai, Samba colmatait une brèche critique dans son code, estampillée CVE-2017-7494. Implémentation libre du protocole SMB de Windows, le logiciel est utilisé sur de nombreux systèmes, en particulier les distributions Linux et les NAS, permettant notamment le partage de fichiers. Dans la foulée, de nouvelles moutures étaient distribuées pour s'occuper du problème.

Presque trois semaines après, toutes les machines concernées n’ont pas été mises à jour, loin de là. Des pirates sont donc passés à l’action. Exploitée, la faille permet l’installation d’un malware qui, au lieu de voler des données, installe un client de minage pour la crypto-monnaie Monero. Explications.

L’éternel problème des mises à jour

Comme n’importe quel logiciel ou système d’exploitation, Samba découvre régulièrement des failles de sécurité. L’efficacité des mises à jour qui en découlent dépend directement de leur installation. À chaque fois, il existe une proportion plus ou moins importante d’appareils non mis à jour, pour diverses raisons. Ce sont ces machines qui posent des difficultés.

Dans le cas présent, le nombre de PC sous Linux ayant Samba activé (et exposant le port 445 à Internet) était estimé à environ un demi-million. Un résultat obtenu sur le moteur de recherche Shodan par les chercheurs de Rapid7. Ce chiffre était entre autres complété par plus de 100 000 autres appareils possédant une version vulnérable de Samba, à savoir toutes les moutures depuis la 3.5.

Aujourd’hui, d’autres chercheurs tirent la sonnette d’alarme : une campagne vise clairement l’exploitation de la faille sur tous les appareils encore vulnérables. Même si la majorité des utilisateurs de Linux reçoivent automatiquement les mises à jour, il reste toujours un certain nombre d’utilisateurs ne les faisant pas, pour diverses raisons. Idem pour des produits comme les NAS, malgré la publication de correctifs, notamment chez Thecus et Synology.

Un malware mineur de moneros et un reverse-shell

Contrairement à WannaCrypt (ou WannaCry), cette campagne n’est pas basée sur un ransomware. Pas question donc de chiffrer les données et de réclamer de l’argent, ou même d’un classique vol d’informations. Ici, le but est de faire de l’argent.

Le chercheur indépendant Omri Ben Bassat‏ nomme cette campagne « EternalMiner ». Les pirates, dont l’identité n’est pas encore connue, ont récupéré le logiciel CPUminer qui sert habituellement à miner cette crypto-monnaie. L’idée est d’implanter le logiciel et de faire miner discrètement les machines pour générer des moneros (ou XMR). Les pirates obtiennent alors un réseau distribué pour miner plus rapidement, puis de convertir ensuite la monnaie en espèces sonnantes et trébuchantes.

Kaspersky s’y colle également, avec peu ou prou les mêmes observations. On trouve ainsi deux fichiers : INAebsGB.so, qui procure un reverse-shell, ainsi que cblRWuoCc.so, une porte dérobée accompagnée de la version modifiée de CPUminer.

Un reverse-shell est, comme son nom l’indique, l’inverse d’un shell. Ce dernier permet, entre autres, de connecter la machine à un serveur pour lui faire exécuter des instructions. Dans le cas d’un reverse-shell, c’est le contraire : le serveur se connecte au client pour lui faire accomplir des tâches. Ici, il est utilisé pour configurer CPUminer à distance, mais les chercheurs précisent qu’il peut tout à fait permettre l’installation de malwares supplémentaires si besoin.

Un type de campagne déjà vu

L’idée de diffuser un mineur pour créer un parc distribué de machines n’est pas nouvelle. The Hacker News rappelle notamment l’existence d’Adylkuzz, un autre malware visant Windows celui-là et exploitant… la faille EternalBlue dans SMB, celle-là même qui a permis la propagation de WannaCrypt. Cette campagne était passée relativement inaperçue, la société Proofpoint précisant que WannaCrypt avait largement drainé l’attention.

La même entreprise expliquait que le minage étant une activité particulièrement gourmande en énergie puisque s’appuyant sur les performances des CPU et GPU, l’utilisation des failles de sécurité permet de créer à faible coût des parcs de milliers de machines dévolues à cette activité. Si le malware fait « bien son travail », l’utilisateur ne se rend compte de rien, à moins que le bruit des ventilateurs ne l’alerte sur une activité intensive de son processeur (surtout sur un ordinateur portable).

Mais même si ces malwares particuliers ne dérobent pas d’informations, ils induisent une activité détournée des ordinateurs au détriment de leurs utilisateurs. En outre, puisqu’ils sont contrôlés à distance, rien n’empêche les pirates d’envoyer d’autres logiciels malveillants pour profiter un peu plus de la situation.

La seule parade réelle reste la correction en temps et en heure des vulnérabilités. La récupération et l’installation automatique des mises à jour signifie peut-être un redémarrage de la machine, mais il s’agit encore de la meilleure protection contre ce type de problème.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

L’éternel problème des mises à jour

Un malware mineur de moneros et un reverse-shell

Un type de campagne déjà vu

Fermer

Commentaires (41)


ouaaaah ! je fais la MàJ DSM de nos Syno (qui corrige la CVE-2017-7494 en question) et 5 mn après je tombe sur cet article <img data-src=" />


“cette campagne n’est pas basée sur un ransomware. Pas question donc de

chiffrer les données et de réclamer de l’argent, ou même d’un classique

vol d’informations. Ici, le but est de faire de l’argent.”

Le raisonnement m’échappe. Le but d’un ransomware n’est pas de faire de l’argent ?


Quand meme, 100 % d’utilisation du CPU&nbsp; ca doit a un moment ou un autre se voir


si mais là on ne te vole pas directement de l’argent via une rançon <img data-src=" />


Ca pose aussi le problème de la discrétion de la correction dans un modèle open-source.



Quand le site de Samba publie le 24 mai un patch “CVE-2017-7494 (Remote code execution from a writable share)” avec le contenu de la modif, c’est pas très dur de faire le reverse-eng pour exploiter la faille:





— samba-4.6.3/source3/rpc_server/srv_pipe.c 2017-01-11 08:55:15.000000000 +0100

+++ samba-4.6.4/source3/rpc_server/srv_pipe.c 2017-05-23 10:19:23.000000000 +0200

@@ -475,6 +475,11 @@ bool is_known_pipename(const char *pipen

{

NTSTATUS status;





  • if (strchr(pipename, ‘/’)) {

  • DEBUG(1, (“Refusing open on pipe %s\n”, pipename));

  • return false;

  • }



  • if (lp_disable_spoolss() && strequal(pipename, “spoolss”)) {

    DEBUG(10, (“refusing spoolss access\n”));

    return false;


Sous entendu, le but est de miner, donc de créer de l’argent (“faire de l’argent” dans l’article). Alors qu’un ransomware c’est plutôt extorquer de l’argent.








Vorphalax a écrit :



Quand meme, 100 % d’utilisation du CPU  ca doit a un moment ou un autre se voir





Non pas forcément, ces petites machines servent en général pas beaucoup, ou juste pour héberger un blog qui a 4 visiteurs par mois, donc que 99% du temps elle mine ne se remarque absolument pas, surtout qu’elles sont passive, donc pas de ventilo qui s’excite.



Si la différence entre “faire de l’argent” et “réclamer de l’argent” n’existe plus , je commence à comprendre des trucs sur les élections

<img data-src=" />


Pour un particulier si le minage n’est effectué que pendant les heures de ‘bureau’ en semaine, il ne pourrait théoriquement le constater sur sa facture d’électricité. Ça peut durer longtemps.


(Doublon)


Avec une priorité très basse, pas forcément, tu utilises les ressources libres pour ne pas troubler l’utilisateur.

Ils peuvent aussi limiter la charge à un coeur du CPU pour limiter la chauffe et rester discrets.








Winderly a écrit :



“cette campagne n’est pas basée sur un ransomware. Pas question donc de

chiffrer les données et de réclamer de l’argent, ou même d’un classique

vol d’informations. Ici, le but est de faire de l’argent.”

Le raisonnement m’échappe. Le but d’un ransomware n’est pas de faire de l’argent ?





Winderly a raison <img data-src=" />

-fabriquer, miner de l’argent

-extorquer de l’argent

-faire de l’argent alias gagner de l’argent, expression qui ne peut s’appliquer au minage.



Du coup j’ai tort parce que je croyais l’expression valide pour les 2 cas.








Winderly a écrit :



Du coup j’ai tort parce que je croyais l’expression valide pour les 2 cas.







Sémantique … de toute façon on est fauché

<img data-src=" />



Pour compléter ton commentaire, il faudrait que la prochaine faille soit utilisée pour installer un adware sous MacSO.&nbsp;<img data-src=" />


Blague à part, dans quel cadre on expose un serveur samba sur internet ?

Il y a tellement d’autres protocoles plus adaptés il me semble.


Ca doit être des serveurs au Brésil, ils aiment bien faire partager la samba là-bas <img data-src=" />








Fabz31 a écrit :



Blague à part, dans quel cadre on expose un serveur samba sur internet ?

Il y a tellement d’autres protocoles plus adaptés il me semble.





Pas besoin d’exposer un serveur samba pour être touché.



Il suffit que d’un autre appareil, tu télécharges à ton insu un malware qui va exploiter la faille samba pour aller installer un soft de minage sur ton serveur samba.



Soit mais dans l’article



Dans le cas présent, le nombre de PC sous Linux ayant Samba activé (et exposant le port 445 à Internet) était estimé à environ un demi-million.


<img data-src=" />








Fabz31 a écrit :



Soit mais dans l’article





Ah oui.



Pour le coup, ça sent le serveur mal configuré, parce que je vois pas l’intérêt d’aller exposer un serveur samba sur le net.



Est-ce que c’est ‘seulement’ un serveur mal configuré?

J’ai tendance à raisonner perso, où pour rendre un truc accessible depuis le web il faut faire de la redirection de ports sur la box, ce qui ne se fait donc pas par inadvertance. Donc même avec un serveur mal configuré, normalement, on expose rien.

A priori, n’importe quel pro est caché derrière un pare-feu, donc ne devrait pas être concerné (et si c’est une pme sans compétences info, elle doit être derrière le même type de box que moi).



Reste les serveurs ‘could’ persos. Si je loue un serveur chez OVH (par exemple), il est accessible depuis le web sur tous les ports?


Il y a le serveur relié directement sur le net.

Seule machine physique, aucun pare-feu.



Pour le serveur mal configuré, ça pourrait être une box opérateur.<img data-src=" />








Zerdligham a écrit :



Est-ce que c’est ‘seulement’ un serveur mal configuré?

J’ai tendance à raisonner perso, où pour rendre un truc accessible depuis le web il faut faire de la redirection de ports sur la box, ce qui ne se fait donc pas par inadvertance. Donc même avec un serveur mal configuré, normalement, on expose rien.

A priori, n’importe quel pro est caché derrière un pare-feu, donc ne devrait pas être concerné (et si c’est une pme sans compétences info, elle doit être derrière le même type de box que moi).



Reste les serveurs ‘could’ persos. Si je loue un serveur chez OVH (par exemple), il est accessible depuis le web sur tous les ports?









psn00ps a écrit :



Il y a le serveur relié directement sur le net.

Seule machine physique, aucun pare-feu.



Pour le serveur mal configuré, ça pourrait être une box opérateur.<img data-src=" />





Peut-être des gens qui confondent DMZ et internationalisme <img data-src=" />









Zerdligham a écrit :



Si je loue un serveur chez OVH (par exemple), il est accessible depuis le web sur tous les ports?







VPS ou dédié oui (sauf option peut-être), le reste je ne sais pas. C’est l’équivalent de la dmz sur ta box ou tu n’as pas besoin de natter.



Et tous les pays n’ont pas les box comme nous donc j’imagine qu’ils utilisent toutes sortes de routeurs qui peuvent être plus ou moins bien configurés par défaut.









Fabz31 a écrit :



Blague à part, dans quel cadre on expose un serveur samba sur internet ?

Il y a tellement d’autres protocoles plus adaptés il me semble.





Triste qu’on ait sabré ton commentaire, il était assez drôle et pas méchant. <img data-src=" />



Les modérateurs, vous avez abusé là je trouve.



Vincent sort l’épée facilement <img data-src=" />


Ça sent le caca, ça. On pourrait imaginer un service type ‘pare-feu virtuel’ qui permette via une interface web de choisir quels ports sont ouverts ou non sur son serveur (avec évidement tout fermé par défaut).

Je trouve même ça étonnant que les hébergeurs ne le fournissent pas de base, ça doit pas être super-complexe à mettre en place, vs. ça doit être emmerdant pour eux d’héberger des machines vérolées.


MaJ en cours sur mon NAS








OlivierJ a écrit :



Triste qu’on ait sabré ton commentaire, il était assez drôle et pas méchant. <img data-src=" />



Les modérateurs, vous avez abusé là je trouve.







+1

Je trouve qu’il y a a eu confusion entre troll et humour , ou alors cela a dérivé et je n’avais pas vu !

Surprenant

Je suis déçu <img data-src=" />






Faut mettre à son jour son nas alors? :o


Il y a plusieurs interface web développées pour les administrateurs réseaux comme webmin.

http://doxfer.webmin.com/Webmin/Linux_Firewall



  =&gt; pour ajouter des règles iptables.        

Tu peux automatiser configurer plein de taches de maintenance de cette façon par interface web.






  Et samba notamment et une mise a jour pour le coup en deux clic et c'est fait ...        






  Pour ce qui est des VPS bien souvent avec OpenVZ on ne peut pas faire ce que l'on veut. Genre augmenter ton swap etc ... Pour des raisons de sécurité mais aussi pour qu'il y est une raison de prendre une meilleure offre genre serveur dédié&nbsp;<img data-src=">

Après ça n’empeche pas qu’il y ait déjà quelques ports ouvert de base



genre le 22, 443 pour http/s, avec ça tu peux déjà mettre rutorrent et       

openvpn owncloud .. <img data-src=">

Non autant pour moi je vois que pour OVH par exemple, c’est tous ports ouvert <img data-src=" />