LibMiner : le malware qui infectait les conteneurs Redis
Publié par Clément Bohic le | Mis à jour le
Qualys attire l'attention sur LibMiner, un mineur de cryptomonnaie qui tire parti des conteneurs Redis mal sécurisés.
Vous souvenez-vous de Graboid ?
Palo Alto Networks avait signalé, en octobre dernier, l'existence de ce ver cryptomineur se propageant par l'intermédiaire de conteneurs.
Qualys vient d'attirer l'attention sur un malware de la même espèce : LibMiner.
Comme Graboid, il est destiné à miner du Monero.
Son fonctionnement n'est toutefois pas le même : il s'appuie sur des serveurs Redis mal sécurisés.
Qualys affirme ne pas avoir pu déterminer le mécanisme d'infection initial. Il a cependant identifié plusieurs conteneurs dont le point d'entrée a été paramétré pour exécuter un script.
Ce script planifie l'exécution différée de commandes à travers une tâche Cron. Il réinitialise par ailleurs le contenu du fichier etc/hosts afin de permettre l'accès au serveur qui héberge les autres composantes du malware.
Parmi ces composantes se trouve un autre script : lib_tmp. Il vérifie la présence de certains outils de sécurité et tue les processus associés. Puis met à jour le serveur de nom pour utiliser les DNS publics de Google. Son dernier rôle est de télécharger un fichier ELF (binaire Unix) et de l'enregistrer dans /var/lib sous un nom aléatoire de 4 caractères.
Sus au port 6379
Ce binaire n'est autre que le cour de LibMiner. Les routines qu'il contient s'exécutent en boucle infinie et téléchargent plusieurs fichiers :
Ces scripts effacent toute trace d'exécution antérieure du malware, y compris en fermant les connexions réseau pour une liste d'IP et de ports prédéfinis.
Ce script récupère la dernière version de LibMiner, la sauvegarde sous un nom aléatoire dans /tmp et l'exécute. Il copie aussi le fichier dans /etc/init.d/symcfget pour assurer une persistance.
Glib permet le minage de Monero. lib_config_t contient ses paramètres, dont l'adresse du portefeuille.
Ce script sert à infecter les conteneurs exécutant un serveur Redis mal protégé (au niveau du port 6379, utilisé par défaut). Il récupère l'IP des conteneurs et utilise la force brute sur les deux derniers segments de cette IP pour tenter d'étendre l'infection aux systèmes Linux qui exposent leur port 6379.
Une fois la connexion établie, plusieurs fichiers sont placés dans le conteneur et la boucle d'infection recommence.
Plusieurs techniques permettent de rendre LibMiner plus discret et plus résistant :
Photo d'illustration © Eugène Sergueev - Shutterstock.com