Un acteur de menace chinois présumé identifié comme UNC3886 utilise des rootkits open source accessibles au public nommés « Reptile » et « Medusa » pour rester masqués sur les machines virtuelles VMware ESXi, ce qui leur permet de voler des informations d’identification, d’exécuter des commandes et de se déplacer latéralement.
Mandiant suit l’auteur de la menace depuis longtemps, signalant auparavant des attaques contre des organisations gouvernementales exploitant une vulnérabilité Fortinet zero-day et deux vulnérabilités VMware zero-day exploitées pendant de longues périodes.
Un nouveau rapport de Mandiant dévoile l’utilisation par UNC3886 des rootkits mentionnés sur des machines virtuelles pour la persistance et l’évasion à long terme, ainsi que des outils malveillants personnalisés tels que « Mopsled » et « Riflespine », qui exploitaient GitHub et Google Drive pour le commandement et le contrôle.
Les attaques les plus récentes de l’UNC3886, selon Mandiant, ont ciblé des organisations en Amérique du Nord, en Asie du Sud-Est et en Océanie, avec d’autres victimes identifiées en Europe, en Afrique et dans d’autres régions d’Asie.
Les industries ciblées comprenaient les gouvernements, les télécommunications, la technologie, l’aérospatiale, la défense et les secteurs de l’énergie et des services publics.
Rooter les machines virtuelles VMware ESXi
Mandiant affirme que les auteurs de la menace violent les machines virtuelles VMware ESXi et installent des rootkits open source pour maintenir l’accès aux opérations à long terme.
Un rootkit est un logiciel malveillant qui permet aux acteurs de la menace d’exécuter des programmes et d’apporter des modifications qui ne sont pas visibles pour les utilisateurs du système d’exploitation. Ce type de malware permet aux acteurs de la menace de masquer leur présence tout en adoptant un comportement malveillant.
« Après avoir exploité les vulnérabilités zero-day pour accéder aux serveurs vCenter et ensuite aux serveurs ESXi gérés, l’acteur a obtenu le contrôle total des machines virtuelles invitées qui partageaient le même serveur ESXi que le serveur vCenter », a expliqué Mandiant.
« Mandiant a observé que l’acteur utilisait deux rootkits accessibles au public, REPTILE et MEDUSA, sur les machines virtuelles invitées pour maintenir l’accès et échapper à la détection.
Reptile est un rootkit Linux open source implémenté en tant que module de noyau chargeable (LKM), conçu pour fournir un accès par porte dérobée et faciliter la persistance furtive.
Les principaux composants du reptile sont:
- Un composant en mode utilisateur (REPTILE.CMD) qui communique avec le composant en mode noyau pour masquer les fichiers, les processus et les connexions réseau.
- Un composant de coquille inversé (REPTILE.SHELL) qui peut être configuré pour écouter les paquets d’activation via TCP, UDP ou ICMP, fournissant un canal caché pour l’exécution de commandes à distance.
- Un composant au niveau du noyau qui se connecte aux fonctions du noyau pour effectuer les actions assignées par le composant en mode utilisateur.
« REPTILE semblait être le rootkit de choix par UNC3886 car il a été observé en train d’être déployé immédiatement après avoir accédé à des terminaux compromis », a poursuivi Mandiant.
« REPTILE offre à la fois la fonctionnalité de porte dérobée commune, telle que l’exécution de commandes et les capacités de transfert de fichiers, ainsi qu’une fonctionnalité furtive qui permet à l’auteur de la menace d’accéder et de contrôler de manière évasive les terminaux infectés via le port knocking. »
UNC3886 a modifié le rootkit pour utiliser des mots-clés uniques pour différents déploiements, facilitant l’évasion, tout en apportant également des modifications au lanceur du rootkit et aux scripts de démarrage visant à renforcer la persistance et la furtivité.
Le deuxième rootkit open source que l’acteur de la menace déploie dans les attaques est Medusa, connu pour son détournement d’éditeur de liens dynamique via ‘ LD_PRELOAD.’
L’objectif fonctionnel de Medusa est la journalisation des informations d’identification, la capture des mots de passe des comptes à partir des connexions locales et distantes réussies. Il effectue également la journalisation de l’exécution des commandes, fournissant aux attaquants des informations sur les activités de la victime et un aperçu de l’environnement compromis.
Mandiant explique que Medusa est généralement déployé après Reptile en tant qu’outil complémentaire à l’aide d’un composant distinct nommé « Seaelf ».’
Une certaine personnalisation a également été observée sur Medusa, avec UNC3886 désactivant certains filtres et modifiant les chaînes de configuration.
Malware personnalisé
UNC3886 a également été observé en utilisant une collection d’outils malveillants personnalisés dans ses opérations, dont certains sont présentés pour la première fois.
Les plus importants des outils d’attaque répertoriés sont:
- Mopsled-Porte dérobée modulaire basée sur un Shellcode conçue pour récupérer et exécuter des plugins, lui permettant d’étendre ses capacités de manière dynamique. On le voit dans les serveurs vCenter et d’autres points de terminaison violés aux côtés de Reptile.
- Riflespine-Porte dérobée multiplateforme exploitant Google Drive pour le commandement et le contrôle (C2). Il utilise un service systemd pour la persistance, collecte des informations système et exécute les commandes reçues du C2.
- Lookover-Renifleur personnalisé pour capturer les informations d’identification TACACS+ en traitant les paquets d’authentification, en déchiffrant et en enregistrant leur contenu. Déployé sur des serveurs TACACS+, il aide les attaquants à étendre leur portée d’accès au réseau.
- Les execs SSH backdoor-UNC3886 ont déployé des versions modifiées des clients et démons SSH pour capturer les informations d’identification et les stocker dans des fichiers journaux cryptés XOR. Pour éviter l’écrasement par les mises à jour, les attaquants utilisent ‘ yum-versionlock.’
- Portes dérobées VMCI-Famille de portes dérobées exploitant l’Interface de communication de machine virtuelle (VMCI) pour faciliter la communication entre les machines virtuelles invitées et hôtes. Inclut ‘VirtualShine’ (accès au shell bash via des sockets VMCI), ‘VirtualPie’ (transfert de fichiers, exécution de commandes, shell inversé) et ‘VirtualSphere’ (contrôleur transmettant les commandes).
Mandiant prévoit de publier plus de détails techniques sur ces portes dérobées VMCI dans un prochain article.
La liste complète avec les indicateurs de compromission et les règles YARA pour détecter l’activité UNC3886 se trouve au bas du rapport de Mandiant.