Il était une fois … SambaCry

By | January 16, 2020

Bonjour à tous,

Aujourd’hui, nous allons nous intéresser à SambaCry, une vulnérabilité qui avait été découverte sur le logiciel Samba au milieu de l’année 2017.
Nommée ainsi, en référence à Wannacry, cette faille de sécurité avait été utilisée pour lancer des attaques massives sur Internet.

Qu’est ce que Samba ?

Samba est le logiciel qui permet aux systèmes Linux/Unix d’utiliser le protocole SMB/CIFS afin de communiquer avec les serveurs Windows et d’accéder à leurs partages (fichiers, imprimantes). Ce logiciel permet également l’intégration de ces systèmes à Active Directory.

Comment SambaCry fonctionne ?

Le bug en question permettait au logiciel de charger n’importe quelle bibliothèque à partir d’un emplacement partagé.

A l’époque, un système était dit exploitable lorsque celui-ci possédait une version vulnérable et avait au moins un emplacement partagé avec la permission d’écriture. Toute chose qui rendrait possible l’upload de fichiers malveillants sur le système.

Pour prendre le contrôle d’un système possédant la vulnérabilité SambaCry, la première étape consistait à uploader une bibliothèque malicieuse dans un emplacement partagé du serveur.
Ainsi, pour compromettre le serveur, l’attaquant n’aurait eu qu’à forcer Samba à utiliser sa bibliothèque malicieuse.

La seconde étape consistait à déterminer le chemin d’accès du fichier uploadé. Pour ce faire, il suffisait juste d’utiliser des chemins d’accès connus ou populaires (Google est notre ami 🙂 ) ou des noms facile à déviner (/volume/partage, /volume/PARTAGE, /volume/Partage etc.)

La toute dernière étape visait quant à elle à concevoir une requête IPC contenant le chemin d’accès du fichier malicieux uploadé plus tôt.
Ce qui permettrait au pirate d’obtenir un accès à distance à la console de la victime.

Exploit

Soit le système doté de l’adresse IP 172.20.10.3 que nous prendrons soin de tester.

Un scan nmap nous confirme que le système utilise une version vulnérable de Samba. Notons également l’hostname de la machine.

Utilisons à présent le module linux/samba/is_known_pipename de Metasploit utilisé notamment pour tester la vulnérabilité Sambacry.

Dans l’image ci-dessous, nous parvenons à prendre le contrôle de la machine et même à lister les fichiers de la racine du système.
Remarquez le nom d’hôte.

Selon la base de données de vulnérabilités du NIST, les versions vulnérables étaient celles inclues entre les versions sorties après la 3.5.0 et avant 4.6.4, 4.5.10 et 4.4.14.
La plupart des vendeurs ont publié des patchs pour rémédier au problème. Mais si pour une quelconque raison, un système ne peut être mis à jour, il est recommandé d’ajouter la ligne suivante dans le fichier de configuration de Samba:

nt pipe support=no

Pour appliquer la modification, le service smbd nécessite un redémarrage.

Ce fut un plaisir de revoir avec vous la vulnérabilité SambaCry qui avait fait de nombreux ravages sur Internet.  🙂

A bientôt !

Source: Image docker utilisée dans cet article:
damnvulnerable/sambacry

mdestroy

Leave a Reply

Your email address will not be published. Required fields are marked *