Le ver Golang a de nouvelles fonctionnalités sur Windows

Un loader de malware de première étape nommé Golang qui a été repéré dans des campagnes actives semble incorporé de nouveaux exploits et une nouvelle fonctionnalité de porte dérobée.

La campagne de malware visant à installer des cryptomineurs a changé ses tactiques, ajoutant des attaques sur les serveurs Windows et un nouvel ensemble d’exploits. Le malware semble aussi évoluer rapidement pour se positionner comme une porte dérobée dans le but de télécharger de futurs logiciels malveillants plus dommageables, selon les chercheurs.

Le malware lui-même a été découvert pour la première fois il y a environ un an et est un loader qui se propage sous forme de ver, recherchant et infectant d’autres machines vulnérables. Une fois qu’il infecte une machine, il récupère le payload XMRig, qui permet de miner la crypto-monnaie Monero.

golang

Selon une analyse de Barracuda Networks, le loader jusqu’ici sans nom, qui se fait maintenant appelé «Golang», ne ciblait à l’origine que les machines Linux, mais s’est maintenant propagé sur Windows et d’autres serveurs.

«Cette nouvelle variante de malware attaque les frameworks d’applications Web, les serveurs d’applications et les services non HTTP tels que Redis et MSSQL», ont expliqué les chercheurs. Ils ont ajouté: “Bien que le volume soit encore faible en raison de la nouveauté de la variante, les chercheurs de Barracuda n’ont pour l’instant vu que sept adresses IP sources liées à cette variante de logiciel malveillant, et elles sont toutes basées en Chine.”

Le code malveillant utilise également divers exploits de vulnérabilité plus anciens afin de compromettre une machine ciblée. La nouvelle version inclut des exploits pour les vulnérabilités suivantes: CVE-2017-10271 pour Oracle WebLogic; CVE-2015-1427 et CVE-2014-3120 pour ElasticSearch; CVE-2018-7600 pour Drupal, alias «Drupalgeddon 2.0»; et CVE-2018-20062 pour le framework ThinkPHP.

D’autres exploits qui n’ont pas de CVE sont également utilisés pour exploiter Hadoop, Redis et MSSQL. Dans les deux derniers cas, le malware essaiera d’abord de lancer une attaque par dictionnaire/forçage brut pour trouver les informations d’identification et, s’il réussit, il utilisera une méthode connue pour réaliser l’exécution de code à distance «en déposant le fichier db dans le chemin cron », selon Barracuda.

“Certains des exploits du malware visent le framework Web ThinkPHP, qui est populaire en Chine”, selon le rapport. “Comme dans d’autres familles de malwares, on peut supposer que ce malware continuera d’évoluer, en employant de plus en plus d’exploits.”

Un malware Golang

Le malware est écrit dans le langage de programmation Go (Golang).

Golang est un langage de programmation compilé conçu par Google il y’a 10 ans. Selon F5 Networks, qui a découvert la première itération du malware l’été dernier, les applications écrites en Go ont tendance à être plus volumineuses que les autres car les fonctions importées d’autres bibliothèques sont compilées dans le binaire lui-même. Il a également une façon unique d’appeler des fonctions et de stocker des données.

“Bien que le langage ait environ 10 ans et soit utilisé par de nombreux programmeurs légitimes, il n’y a pas eu tellement de logiciels malveillants Golang”, selon F5. Cela dit, en Avril, un autre loader Golang de type vers connu sous le nom de Kinsing a été repéré en train d’installer XMRig sur des instances Docker.

trickbot

Sous le capot

Une fois que le logiciel malveillant Golang infecte une machine, il télécharge un ensemble de fichiers personnalisés en fonction de la plate-forme qu’il attaque. L’un de ces fichiers positionne le malware pour faire plus de dégâts que d’installer simplement un cryptominer.

Les ensembles de fichiers incluent généralement le loader initial pacyload, un script de mise à jour, un cryptominer et son fichier de configuration, un watchdog, un scanner et un fichier de configuration pour le cryptominer.

À partir de ces fichiers, le watchdog s’assure que le scanner et le mineur sont opérationnels et que tous les composants sont à jour.

“S’il ne parvient pas à se connecter au serveur de commande et de contrôle (C2), il tentera de récupérer l’adresse d’un nouveau serveur en analysant les transactions sur un compte Ethereum spécifique”, ont expliqué les chercheurs.

Le fichier du scanner est quant à lui le mécanisme de propagation du malware. Il recherche automatiquement sur Internet les machines vulnérables en générant des adresses IP aléatoires et en essayant d’attaquer les machines derrière elles. Une fois qu’il infecte une cible, il informe le serveur C2.

Pour les machines Windows, le malware ajoute également un compte d’utilisateur comme porte dérobée, ont constaté les chercheurs – essentiellement en ajoutant simplement un autre utilisateur au système. Un script init/update accomplit cela du côté de Linux en ajoutant une clé d’autorisation SSH au système.

“Bien que le malware contienne des composants qui vérifient constamment les mises à jour et aident à la persistance de l’attaque, le compte de porte dérobée installé accorde un autre niveau de contrôle aux opérateurs”, a déclaré Erez Turjeman, ingénieur logiciel principal et chercheur en sécurité chez Barracuda Labs. “Cela peut être utilisé pour déployer des attaques supplémentaires sur la machine et le réseau de la victime, au-delà du simple cryptomining.”

Il a ajouté: “Le composant de cryptomining de ce logiciel malveillant peut être facilement remplacé par les opérateurs dans d’autres fonctionnalités, ce qui signifie que nous pourrions voir d’autres variantes utilisées à d’autres fins à l’avenir.”

Si cet article sur Golang vous a plu, jetez un œil à notre article précédent.