“WannaCry” sur les systèmes Linux: comment vous protégez-vous?

73

Selon un article de rapid7 , certaines versions de Samba vulnérables permettent l'exécution de code à distance sur les systèmes Linux:

Bien que le ver de rançon WannaCry ait affecté les systèmes Windows et soit facilement identifiable, la vulnérabilité de Samba , avec des étapes de résolution claires, aura des conséquences sur les systèmes Linux et Unix et pourrait constituer un obstacle technique important à l’obtention ou au déploiement de mesures correctives appropriées.

CVE-2017-7494

Toutes les versions de Samba à partir de la version 3.5.0 sont exposées à une vulnérabilité d'exécution de code à distance, permettant à un client malveillant de télécharger une bibliothèque partagée sur un partage accessible en écriture, puis de charger et d'exécuter le serveur.

Scénario d'attaque possible:

A partir des deux facteurs:

  • La vulnérabilité Samba n’a pas encore été corrigée sur certaines distributions Linux.
  • Une vulnérabilité d'élévation des privilèges locale non corrigée existe sur certaines versions du noyau Linux (par exemple, CVE-2017-7308 sur le noyau Ubuntu 4.8.0-41 générique).

Un attaquant peut accéder à une machine Linux et élever ses privilèges en utilisant une vulnérabilité d'exploitation locale pour obtenir l'accès root et installer un éventuel futur ramsomware, similaire à celui-ci, simule le ransomware WannaCry pour Linux .

Mise à jour

Un article récent "Warning! Les pirates ont commencé à utiliser" SambaCry Flaw "pour pirater des systèmes Linux" explique comment utiliser la faille Sambacry pour infecter une machine Linux.

La prédiction s'est avérée assez précise, car les pots de miel mis en place par l'équipe de chercheurs de Kaspersky Lab ont capturé une campagne de programmes malveillants exploitant la vulnérabilité SambaCry afin d'infecter les ordinateurs Linux avec un logiciel d'extraction de crypto-monnaie.

Un autre chercheur en sécurité, Omri Ben Bassat, a découvert indépendamment la même campagne et l’a baptisée "EternalMiner" .

Selon les chercheurs, un groupe inconnu de pirates informatiques a commencé à détourner des ordinateurs Linux une semaine à peine après la divulgation publique de la faille Samba et l’installation de la version mise à niveau de «CPUminer», un logiciel d’extraction de crypto-monnaie qui exploite la monnaie numérique "Monero".

Après avoir compromis les machines vulnérables à l'aide de la vulnérabilité SambaCry, les attaquants exécutent deux charges utiles sur les systèmes ciblés:

INAebsGB.so - Un reverse-shell qui fournit un accès à distance aux attaquants.

cblRWuoCc.so - Une porte dérobée comprenant des utilitaires d’extraction de crypto-monnaie - CPUminer.

Rapport TrendLab publié le 18 juillet 2017: SambaCry: une nouvelle menace pour les utilisateurs de Linux

Comment sécuriser un système Linux pour éviter les attaques?

GAD3R
la source
22
WannaCry est un malware Windows. Un virus unix pourrait être écrit en exploitant ce problème sans rapport avec cette implémentation sans lien du même protocole, mais cela n’a rien à voir avec le malware Windows. Ce lien que vous donnez à WannaCry pour Linux est un canular, il suffit de parcourir la source pour obtenir le résultat du logiciel "faites votre propre interface graphique", sans aucun programme, mais une interface graphique qui ne fait rien.
Personne
2
@ GAD3R utilisant mon iPhone avec Google Traduction / mode caméra, les commentaires en chinois disent en effet que la source n'est pas complète. Je conseillerais de retravailler la question autour de la CVE, en supprimant le lien github et non en ce qui concerne les ransomwares qui n'existent toujours pas; ou si vous voulez toujours contourner cette idée, le rendre explicite, le lien github n'est qu'une maquette de cette idée
Rui F Ribeiro
8
@ GAD3R Oui, si quelqu'un peut accéder à mon système à distance avec des privilèges élevés, utiliser un utilitaire Linux natif pour chiffrer mon disque dur est beaucoup moins pénible, et écrire une interface graphique QT comme celle-ci dans le canular. Toutes les fonctionnalités actuelles (c.-à-d. La propagation) de WannaCry dépendent des exploits Windows. Mentionner "WannaCry" est un appât au clic, pur et simple.
Personne
6
@ Personne Pour être juste, je pense que le PO est de bonne foi et ne se rend pas compte qu'il ne s'agit que d'une interface graphique; nous ne sommes pas des Chinois pour lire les commentaires et, comme il le dit lui-même, il n’est pas très versé dans la lecture du code source; OMI les parallèles entre les deux vulnérabilités, en donnant les timings sont également appropriés. Donne un peu de mou. Néanmoins, les implications de la CVE elle-même sont inquiétantes.
Rui F Ribeiro
3
OMI Je ne recommanderais pas de clore la question. Si quelqu'un a une idée différente, allez-y. J'ai retravaillé le texte de la question pour qu'il ne mentionne pas un ransomware qui n'a pas encore été fabriqué. La solution de contournement que j'ai mentionnée était au moins utile dans un système hérité que nous avons toujours.
Rui F Ribeiro

Réponses:

102

Cette nouvelle vulnérabilité de Samba s'appelle déjà "Sambacry", alors que l'exploit lui-même mentionne "Eternal Red Samba", annoncé sur Twitter (de manière sensationnelle) comme:

Samba bug, le métasploit one-liner à déclencher est juste: simple.create_pipe ("/ path / to / target.so")

Les versions de Samba potentiellement concernées vont de Samba 3.5.0 à 4.5.4 / 4.5.10 / 4.4.14.

Si votre installation Samba respecte les configurations décrites ci-dessous, le correctif / la mise à niveau doit être effectué dès que possible, car il existe déjà des exploits , d'autres exploits en python et des modules metasploit .

Plus assez intéressant, il y a des add-ons déjà un savoir honeypot le honeynet projet, dionaea deux à WannaCry et SambaCry plug-ins .

Samba Cry semble déjà être utilisé (ab) pour installer plus de crypto-mineurs "EternalMiner" ou doubler comme un dropper de malware .

Les pots de miel mis en place par l'équipe de chercheurs de Kaspersky Lab ont capturé une campagne de programmes malveillants exploitant la vulnérabilité de SambaCry pour infecter les ordinateurs Linux avec un logiciel d'extraction de crypto-monnaie. Un autre chercheur en sécurité, Omri Ben Bassat, a découvert indépendamment la même campagne et l'a nommée "EternalMiner".

La solution de contournement conseillée pour les systèmes sur lesquels Samba est installé (et qui figure également dans la notification CVE) avant de la mettre à jour est la suivante smb.conf:

nt pipe support = no

(et redémarrage du service Samba)

Ceci est supposé désactiver un paramètre qui active / désactive la possibilité d'établir des connexions anonymes au service de tubes nommés Windows IPC. De man samba:

Les développeurs utilisent cette option globale pour autoriser ou interdire aux clients Windows NT / 2000 / XP de se connecter à des canaux SMB IPC $ spécifiques à NT. En tant qu'utilisateur, vous ne devriez jamais avoir besoin de remplacer la valeur par défaut.

Cependant, de notre expérience interne, il semble que le correctif n'est pas compatible avec plus ancien? Les versions Windows (du moins certains? Les clients Windows 7 ne semblent pas fonctionner avec la nt pipe support = no), et en tant que telle, la voie de la correction peut aller dans des cas extrêmes à l’installation ou même à la compilation de Samba.

Plus spécifiquement, ce correctif désactive la liste des partages des clients Windows et, s’ils sont appliqués, ils doivent spécifier manuellement le chemin complet du partage pour pouvoir les utiliser.

Une autre solution connue consiste à s'assurer que les partages Samba sont montés avec l' noexecoption. Cela empêchera l'exécution des fichiers binaires résidant sur le système de fichiers monté.

Le correctif officiel du code source de la sécurité est disponible sur la page de sécurité de samba.org .

Debian a déjà lancé hier (24/5) une mise à jour et l’avis de sécurité correspondant, DSA-3860-1, samba

Pour vérifier si la vulnérabilité est corrigée dans Centos / RHEL / Fedora et ses dérivés, procédez comme suit:

#rpm -q –changelog samba | grep -i CVE
– resolves: #1450782 – Fix CVE-2017-7494
– resolves: #1405356 – CVE-2016-2125 CVE-2016-2126
– related: #1322687 – Update CVE patchset

Il existe maintenant un nmapscript de détection: samba-vuln-cve-2017-7494.nse pour détecter les versions de Samba, ou un nmapscript bien meilleur qui vérifie si le service est vulnérable à l' adresse http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve. -2017-7494.nse , copiez-le dans /usr/share/nmap/scripts, puis mettez à jour la nmapbase de données ou exécutez-le comme suit:

nmap --script /path/to/samba-vuln-cve-2017-7494.nse -p 445 <target>

Mesures à long terme pour protéger le service SAMBA: le protocole SMB ne doit jamais être offert directement à Internet au sens large.

Il va sans dire également que SMB a toujours été un protocole compliqué et que ce type de services devrait être protégé par un pare-feu et limité aux réseaux internes [auxquels ils sont desservis].

Lorsqu'un accès à distance est nécessaire, que ce soit vers le réseau domestique ou spécialement vers les réseaux d'entreprise, ces accès devraient être mieux réalisés à l'aide de la technologie VPN.

Comme d'habitude, dans ces situations, le principe Unix consistant à n'installer et activer que les services minimum requis s'avère payant.

Tiré de l'exploit lui-même:

Exploitation de la samba rouge éternelle - CVE-2017-7494.
Force le serveur Samba vulnérable à charger une bibliothèque partagée dans un contexte racine.
Les informations d'identification ne sont pas nécessaires si le serveur a un compte invité.
Pour exploiter à distance, vous devez disposer d'autorisations d'écriture sur au moins un partage.
Eternal Red analysera le serveur Samba à la recherche de partages sur lesquels il peut écrire. Il déterminera également le chemin complet du partage distant.

    For local exploit provide the full path to your shared library to load.  

    Your shared library should look something like this

    extern bool change_to_root_user(void);
    int samba_init_module(void)
    {
        change_to_root_user();
        /* Do what thou wilt */
    }

Il est également connu que les systèmes sur lesquels SELinux est activé ne sont pas vulnérables à l'exploit.

Découvrez la faille Samba de 7 ans qui permet aux pirates d'accéder à des milliers de PC Linux à distance

Selon le moteur de recherche informatique Shodan, plus de 485 000 ordinateurs compatibles Samba ont exposé le port 445 sur Internet et, selon les chercheurs de Rapid7, plus de 104 000 terminaux exposés à Internet semblaient exécuter des versions vulnérables de Samba, dont 92 000 sont exécuter des versions non supportées de Samba.

Samba étant le protocole SMB implémenté sur les systèmes Linux et UNIX, certains experts disent qu'il s'agit de la "version Linux de EternalBlue" utilisée par le ransomware WannaCry.

... ou devrais-je dire SambaCry?

Tenant compte du nombre de systèmes vulnérables et de la facilité d’exploitation de cette vulnérabilité, la faille Samba pourrait être exploitée à grande échelle avec des fonctionnalités pouvant être vermifugées.

Les réseaux domestiques avec des périphériques de stockage en réseau (NAS) [qui fonctionnent également sous Linux] pourraient également être vulnérables à cette faille.

Voir aussi Un bogue d’exécution de code vermifuge se cache dans Samba depuis 7 ans. Patch maintenant!

La faille de sept ans, indexée sous la référence CVE-2017-7494, peut être exploitée de manière fiable avec une seule ligne de code pour exécuter du code malveillant, pour autant que certaines conditions soient remplies. Ces exigences incluent les ordinateurs vulnérables qui:

(a) rendre le port 445 de partage de fichiers et d'imprimantes accessible sur Internet,
(b) configurer les fichiers partagés pour qu'ils disposent de privilèges d'écriture et
(c) utiliser des chemins d'accès au serveur connus ou prévisibles pour ces fichiers.

Lorsque ces conditions sont remplies, les attaquants distants peuvent télécharger le code de leur choix et le faire exécuter par le serveur, éventuellement avec des privilèges root sans entraves, en fonction de la plate-forme vulnérable.

Compte tenu de la facilité et de la fiabilité des exploits, ce trou mérite d’être bouché dès que possible. Ce n'est probablement qu'une question de temps avant que les attaquants ne commencent à le cibler activement.

Aussi Rapid 7 - Patching CVE-2017-7494 à Samba: c'est le cercle de la vie

Et plus encore SambaCry: La suite Linux de WannaCry .

Ce qu'il faut savoir

CVE-2017-7494 a un score CVSS de 7.5 (CVSS: 3.0 / AV: N / AC: H / PR: L / UI: N / S: U / C: H / I: H / A: H) 3.

Portée de la menace

Une requête shodan.io de "port: 445! Os: windows" indique qu'environ un million d'hôtes non-Windows ayant TCP / 445 ouverts à Internet, dont plus de la moitié se trouvent aux Émirats arabes unis (36%) et États-Unis (16%). Bien que bon nombre d'entre eux exécutent des versions corrigées, ont une protection SELinux ou ne répondent pas aux critères nécessaires à l'exécution de l'exploit, la surface d'attaque possible de cette vulnérabilité est grande.

Post- scriptum Le correctif de validation dans le projet SAMBA github semble être commit 02a76d86db0cbe79fcaf1a500630e24d961fa149

Rui F Ribeiro
la source
2
Je vous en prie. J'ajouterais que, dans mon fuseau horaire, j'ai agi conformément à l'avis de sécurité de Debian hier vers 9 heures
Rui F Ribeiro,
6
Contrairement à Windows, Samba n'est pas activé par défaut dans la plupart des distributions Linux, n'est-ce pas?
raphael
1
@raphael En effet, mais si j'ai reçu un centime pour chaque serveur que j'ai trouvé avec l'ensemble complet de DVD de base installés ... j'ai légèrement modifié la réponse pour répondre à cette idée.
Rui F Ribeiro
9
Autant que je sache, ce script nmap ne fait que vérifier la version de samba, pas si vous êtes vulnérable. AFAICT, pour exploiter cette vulnérabilité, il faut pouvoir télécharger des fichiers sur le serveur. La vulnérabilité n’est donc nulle part aussi grave que celle de Windows Eternalblue. Si vous autorisez le téléchargement de fichiers sur Internet sans authentification, vous avez un problème, que Samba soit vulnérable ou non.
Stéphane Chazelas
1
@ StéphaneChazelas merci, je n'ai pas encore eu le temps de vérifier le script
Rui F Ribeiro
21

La plupart d’entre nous qui exploitons des serveurs Samba l’exécutons probablement à l’intérieur de réseaux locaux, derrière des pare-feu, et n’exposons pas ses ports directement au monde extérieur.

Ce serait une pratique affreuse si vous agissiez ainsi et une pratique inexcusable lorsqu'il existe des solutions VPN simples, efficaces et gratuites (comme dans le cas de la bière et de la parole) comme OpenVPN. SMB n'a pas été conçu pour Internet ouvert (diable, TCP / IP est même venu après coup dans ce protocole) et devrait être traité comme tel. Suggestion supplémentaire est en cours d' exécution des règles de pare - feu sur l'hôte de partage de fichiers réel qui ne la liste blanche du réseau local adresses (et éventuellement VPN) sur tous les ports SMB ( 139/TCP, 445/TCP, 137/UDPet 138/UDP).

De plus, si votre cas d'utilisation le permet, vous devriez envisager d'exécuter Samba sans privilège (en tant sambaqu'utilisateur non alias par exemple root). Je comprends que ce n’est pas si facile de marier les limitations des ACL NT avec des ACL POSIX avec cette configuration, mais s’il est possible de le faire dans votre configuration particulière, c’est la voie à suivre.

Enfin, même avec un tel "verrouillage", il est toujours conseillé d'appliquer un correctif si vous le pouvez (car il existe des boîtes NAS où cela pourrait ne pas être faisable), et de vérifier si votre cas d'utilisation fonctionne avec nt pipe supportset to no.

Bojan Markovic
la source
4
"Ce n'est accessible que sur l'intranet", c'est probablement ce que pensaient certains administrateurs dans les entreprises où WannaCry s'est propagé.
Carsten S