GNU/Linux >> Tutoriels Linux >  >> Linux

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

Cette nouvelle vulnérabilité de Samba est déjà appelée "Sambacry", tandis que l'exploit lui-même mentionne "Eternal Red Samba", annoncé sur Twitter (sensationnellement) comme :

Bogue Samba, le one-liner metasploit à déclencher est simplement :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 répond aux configurations décrites ci-dessous, la correction/mise à niveau doit être effectuée dès que possible car il existe déjà des exploits, d'autres exploits dans les modules python et metasploit.

Plus intéressant encore, il existe déjà des add-ons pour un pot de miel connu du projet honeynet, dionaea à la fois pour les plug-ins WannaCry et SambaCry.

Samba cry semble déjà être (ab)utilisé pour installer plus de crypto-mineurs "EternalMiner" ou doubler en tant que compte-gouttes de logiciels malveillants à l'avenir.

Les pots de miel mis en place par l'équipe de chercheurs de Kaspersky Lab ont capturé une campagne de logiciels malveillants qui exploite la vulnérabilité SambaCry pour infecter les ordinateurs Linux avec un logiciel de minage 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é (qui est également présent dans l'avis CVE) avant de le mettre à jour, est d'ajouter à smb.conf :

nt pipe support = no

(et redémarrage du service Samba)

Ceci est censé désactiver un paramètre qui active/désactive la possibilité d'établir des connexions anonymes au service de canaux nommés Windows IPC. À partir du man samba :

Cette option globale est utilisée par les développeurs pour autoriser ou interdire aux clients Windows NT/2000/XP la possibilité d'établir des connexions aux canaux SMBIPC$ spécifiques à NT. En tant qu'utilisateur, vous ne devriez jamais avoir besoin de remplacer la valeur par défaut.

Cependant, d'après notre expérience interne, il semble que le correctif ne soit pas compatible avec les anciens ? Les versions de Windows (au moins certaines ? Les clients Windows 7 semblent ne pas fonctionner avec le nt pipe support = no ), et en tant que tel, la voie de correction peut aller dans des cas extrêmes vers l'installation ou même la compilation de Samba.

Plus précisément, ce correctif désactive la liste des partages des clients Windows et, s'il est appliqué, ils doivent spécifier manuellement le chemin complet du partage pour pouvoir l'utiliser.

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

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

Debian a déjà publié 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 dérivés, faites :

#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 y a maintenant un nmap script de détection :samba-vuln-cve-2017-7494.nse pour détecter les versions de Samba, ou un bien meilleur nmap script qui vérifie si le service est vulnérable sur http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve-2017-7494.nse , copiez-le dans /usr/share/nmap/scripts puis mettre à jour le nmap database , ou exécutez-le comme suit :

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

À propos des mesures à long terme pour protéger le service SAMBA :le protocole SMB ne doit jamais être proposé directement à Internet dans son ensemble.

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

Lorsqu'un accès à distance est nécessaire, que ce soit à la maison ou spécialement aux réseaux d'entreprise, ces accès devraient être mieux réalisés en utilisant la technologie VPN.

Comme d'habitude, dans ces situations, le principe Unix de n'installer et d'activer que les services minimum requis est payant.

Extrait de l'exploit lui-même :

Exploit Samba rouge éternel -- CVE-2017-7494.
Amène le serveur Samba vulnérable à charger une bibliothèque partagée dans le contexte racine.
Les informations d'identification ne sont pas requises si le serveur dispose d'un compte invité.
Pour l'exploitation à distance, vous devez avoir des 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 avec SELinux activé ne sont pas vulnérables à l'exploit.

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

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 exécutent des versions non prises en charge. de Samba.

Étant donné que Samba est le protocole SMB implémenté sur les systèmes Linux et UNIX, certains experts disent qu'il s'agit de la "version Linux d'EternalBlue", utilisée par le rançongiciel WannaCry.

... ou devrais-je dire SambaCry ?

Compte tenu 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 capacités vermifuges.

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

Voir aussi Un bug vermifuge d'exécution de code rôde dans Samba depuis 7 ans. Patchez maintenant !

La faille vieille de sept ans, répertoriée sous le nom de CVE-2017-7494, peut être exploitée de manière fiable avec une seule ligne de code pour exécuter du code malveillant, tant que quelques conditions sont remplies. Ces exigences incluent les ordinateurs vulnérables qui :

(a) rendre le port de partage de fichiers et d'imprimantes 445 accessible sur Internet,
(b) configurer les fichiers partagés pour qu'ils aient des droits d'écriture, et
(c) utiliser des chemins de serveur connus ou devinables pour ces fichiers.

Lorsque ces conditions sont remplies, les attaquants distants peuvent télécharger n'importe quel code de leur choix et le faire exécuter par le serveur, éventuellement avec des privilèges root absolus, selon la plate-forme vulnérable.

Compte tenu de la facilité et de la fiabilité des exploits, ce trou mérite d'être colmaté 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 in Samba:It's the Circle of Life

Et plus encore SambaCry :la suite Linux de WannaCry.

Faits à connaître

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" montre environ un million d'hôtes non Windows qui ont tcp/445 ouvert à Internet, dont plus de la moitié existent aux Émirats arabes unis (36 %) et aux États-Unis. . (16%). Alors que beaucoup d'entre eux peuvent exécuter des versions corrigées, avoir des protections SELinux ou ne pas correspondre aux critères nécessaires pour exécuter l'exploit, la surface d'attaque possible pour cette vulnérabilité est grande.

PS Le correctif de validation dans le projet SAMBA github semble être commit 02a76d86db0cbe79fcaf1a500630e24d961fa149


La plupart d'entre nous exécutant des serveurs Samba le font probablement à l'intérieur de réseaux locaux, derrière des pare-feu et n'exposent pas ses ports directement au monde extérieur.

Ce serait une pratique horrible si vous le faisiez, et inexcusable quand il existe des solutions VPN simples, efficaces et gratuites (comme dans la bière et comme dans la parole) comme OpenVPN. SMB n'a pas été conçu avec un Internet ouvert à l'esprit (c'est vrai, TCP/IP est même venu après coup dans ce protocole) et devrait être traité comme tel. Une suggestion supplémentaire consiste à exécuter des règles de pare-feu sur l'hôte de partage de fichiers réel qui ne mettent en liste blanche que les adresses réseau locales (et éventuellement VPN) sur tous les ports SMB (139/TCP , 445/TCP , 137/UDP et 138/UDP ).

De plus, si votre cas d'utilisation le permet, vous devriez envisager d'exécuter Samba sans privilège (comme, par exemple, samba utilisateur qui n'est pas l'alias de root ). Je comprends qu'il n'est pas si facile de marier les limitations des ACL NT avec les 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îtiers NAS où cela pourrait ne pas être faisable), et de tester si votre cas d'utilisation particulier fonctionne avec nt pipe support défini sur no .


Linux
  1. Comment avez-vous commencé avec Linux ?

  2. Comment protéger par mot de passe le chargeur de démarrage Grub sous Linux

  3. Comment faire des E/S de console non bloquantes sous Linux en C ?

  4. Sous Linux, comment vérifier si un disque est fragmenté ?

  5. WannaCry infecte-t-il Linux ?

Comment protéger par mot de passe GRUB Bootloader sous Linux

Comment installer et utiliser Telnet sur les systèmes Linux

Comment protéger par mot de passe un dossier sous Linux

Comment protéger GRUB avec un mot de passe sous Linux ?

Comment effectuer une installation de Samba Active Directory sur Linux

Comment se connecter avec Samba à Linux Active Directory