Le groupe de menaces UNC3886 utilise des informations d’identification volées et des implants de logiciels malveillants personnalisés pour compromettre les routeurs de fin de vie de Juniper Networks toujours utilisés par les entreprises et les FAI.
Un groupe de cyberespionnage chinois ayant des antécédents d’exploitation des dispositifs de bord de réseau propriétaires et de développement de logiciels malveillants personnalisés pour eux a également ciblé les routeurs de la série Juniper MX de qualité et de grade ISP, selon un rapport de l’équipe mandiante de Google.
Les attaquants ont pu contourner les protections d’intégrité des fichiers de Junos OS, le système d’exploitation basé sur FreeBSD utilisé sur les routeurs de Juniper Networks, pour déployer des délais personnalisés. Cette activité, attribuée à un groupe avancé de menace persistante (APT) que l’équipe mandiante suit en tant que UNC3886, remonte au moins au milieu de 2024 et semble avoir affecté des routeurs Juniper MX qui exécutaient des versions matérielles et logicielles de fin de vie.
L’utilisation du matériel de réseautage de fin de vie, bien que certainement pas recommandé, n’est pas inhabituelle sur les réseaux internes, en considérant les contraintes budgétaires et les coûts importants associés au remplacement de ces appareils.
« Alors que l’UNC3886 a précédemment concentré leurs opérations sur les appareils de bord de réseau, cette activité a démontré qu’elle ciblait également l’infrastructure de réseautage interne, comme les routeurs des fournisseurs de services Internet (ISP) », ont déclaré les chercheurs mandiants dans leur rapport.
«Mandiant a observé les services d’authentification des réseaux de ciblage des acteurs de menace, y compris le système d’accès au contrôleur d’accès terminal (TACACS +), et les serveurs terminaux avec accès aux routeurs pour obtenir un accès initial privilégié.»
Les attaquants connaissaient bien les fonctionnalités de Juno OS
Les implants malveillants déployés sur les appareils analysés étaient des variantes de la porte dérobée de Tinyshell accessible au public, mais avec des fonctionnalités et des personnalisations supplémentaires qui montrent que les attaquants avaient une connaissance approfondie des fonctionnalités Junos OS et des opérations internes.
UNC3886 a affiché ces connaissances spécifiques au produit auparavant, ayant déjà créé des logiciels malveillants personnalisés pour les hyperviseurs VMware ESXi et les dispositifs de bord de réseau de Fortinet et Ivanti. Alors que l’UNC3886 est suivi comme un groupe autonome, certains outils se chevauchent avec d’autres groupes chinois parrainés par l’État tels que l’APT41 ont été observés dans le passé – bien que le partage d’outils et d’infrastructures soit une marque de longue date du cyberespionnage chinois.
« Mandiant recommande aux organisations de mettre à niveau leurs appareils Juniper vers les dernières images publiées par Juniper Networks, qui comprend des atténuations et des signatures mises à jour pour l’outil de suppression des logiciels malveillants Juniper (JMRT) », a déclaré les chercheurs. «Les organisations doivent exécuter la vérification JMRT rapide et l’intégrité après la mise à niveau.»
Les protections d’intégrité des fichiers ont été contournées
L’accès initial des attaquants aux routeurs Juniper MX analysés par Mandiant semble avoir été réalisé avec des références légitimes. Alors que UNC3886 a développé et utilisé des exploits zéro-jours pour compromettre les appareils de bord de réseau dans le passé, le groupe effectue activement la collecte des informations d’identification sur les réseaux compromis pour le mouvement latéral pour soutenir son objectif d’accès persistant à long terme.
JUNOS OS fournit aux administrateurs une interface de ligne de commande (CLI) personnalisée qui permet d’émettre des commandes spécifiques à Junos, mais également la possibilité de passer au shell FreeBSD sous-jacent et d’utiliser les outils et programmes de ligne de commande FreeBSD généraux.
Le système d’exploitation implémente également une variante modifiée du NetBSD Verified Exec (Veriexec), un sous-système de vérification d’intégrité de fichiers basé sur le noyau dont l’objectif est de protéger contre l’exécution de binaires non autorisés. En tant que tel, le déploiement et l’exécution de tout implant de logiciels malveillants nécessite une contournement de cette fonctionnalité ou le désactiver entièrement, ce qui pourrait augmenter les alertes.
UNC3886 a développé une technique d’injection de processus complexe afin de contourner Variexec en créant un processus suspendu en utilisant l’utilitaire CAT intégré et légitime, en écrivant un chargeur de shellcode malveillant à des emplacements de mémoire spécifiques attribués au processus CAT, puis en trompant le processus pour exécuter ce code. Étant donné que l’exécution du code malveillant s’est produite grâce à un processus de confiance, Variexec a été contourné.
Des variantes de tinyshell hautement personnalisées ont été utilisées
Le chargeur Shellcode a ensuite été utilisé pour exécuter une variante de code indépendant de position (PIC) de TinyShell stocké dans un fichier appelé LMPAD, qui imite le nom du processus LMPD légitime (démon de gestion du protocole de gestion des liens).
En plus des capacités standard de Tinyshell – téléchargement de fichiers à distance, téléchargement de fichiers à distance et session de shell distant – la variante LMPAD peut s’accrocher à deux processus légitimes du système d’exploitation Junos pour désactiver la journalisation avant qu’un opérateur distant ne se connecte à la porte dérobée.
« Le but principal de ce logiciel malveillant est de désactiver toute la journalisation possible avant que l’opérateur ne se connecte au routeur pour effectuer des activités pratiques, puis de restaurer plus tard les journaux après la déconnexion de l’opérateur », ont déclaré les chercheurs.
La porte dérobée contient cinq commandes personnalisées. En plus de la fonctionnalité par défaut de Tinyshell, celles-ci permettent la désactivation et la restauration des fonctions de journalisation, le chiffrement du trafic de session de shell interactif sur UDP, la sauvegarde et la restauration de la base de données de configuration du routeur de Juniper et la mise à jour de la valeur de délai de délai de communication.
Mais LMPAD n’est que l’une des six variantes de Tinyshell différentes que UNC3886 a déployées sur divers routeurs compromis. Chacun d’eux avait des personnalisations significativement différentes et des capacités liées aux Junos qui y sont ajoutées.
Les attaques ont utilisé des réseaux de boîte de relais opérationnels
Une autre variante appelée AppID – se faisant passer pour l’AppIDD légitime (démon d’identification de l’application) – est une porte dérobée active en plus d’être passive qui attend des connexions entrantes. La porte dérobée essaie activement d’établir une connexion avec une liste de quatre adresses IP codées en dur qui font partie d’un réseau ORB et pointent vers un serveur de commande et de contrôle (C2).
Les réseaux de relais opérationnels (ORB) sont essentiellement des botnets d’approvisionnements et de serveurs privés virtuels qui sont utilisés pour proxyer un trafic malveillant. Ils sont devenus un actif couramment utilisé par les groupes de cyberespionnage chinois au cours de la dernière année et leur objectif est de compliquer l’attribution.
Une autre instance de cette variante Tinyshell avec différentes adresses IP C2 codées en dur a été observée avec le nom de fichier «à», qui imite probablement le binaire légitime appelé Top (Table des processus).
Une quatrième variante, utilisant le nom Irad, implémente un sniffer de paquets basé sur libpcap pour surveiller le trafic sur toutes les interfaces réseau et attendre un paquet magique dans une demande d’écho ICMP pour activer sa fonctionnalité de porte dérobée active.
La cinquième variante, JDOSD a probablement été nommée d’après le processus de démon de protection DDOS Juniper (JDDOSD) et est une implémentation passive de dérobée qui se lie au port UDP 33512 et utilise une implémentation RC4 personnalisée pour crypter le trafic.
Enfin, l’échantillonnage six, appelé OEMD après l’opération légitime, l’administration et le démon de maintenance (OAMD), communiqués avec le serveur C2 via TCP au lieu de l’UDP et le trafic est chiffré avec AES. Sa configuration est stockée dans des variables d’environnement.
Tous les échantillons utilisent une prise AF_ROUTE personnalisée pour communiquer avec le sous-système de routage OS. Cette prise utilise des messages personnalisés et est spécifique au système d’exploitation Junos. L’exécution des échantillons sur une installation FreeBSD standard entraînerait une erreur de socket non valide, indiquant clairement que ces échantillons ont été créés spécifiquement pour Junos OS et les attaquants ont passé du temps à comprendre les internes de réseautage du système d’exploitation.
« Le compromis des dispositifs de routage est une tendance récente dans la tactique des adversaires motivés à l’espionnage car il accorde la capacité d’un accès à long terme et de haut niveau à l’infrastructure de routage cruciale, avec un potentiel d’actions plus perturbatrices à l’avenir », ont averti les chercheurs mandiants. «Un effort concerté est nécessaire pour protéger ces systèmes critiques et assurer la stabilité et la sécurité continues d’Internet.»
Comment atténuer les attaques contre les routeurs de genévriers
Une autre raison pour laquelle les attaquants vont après de tels appareils est qu’ils manquent généralement de capacités de surveillance et de détection de sécurité avancées, telles que la capacité de déployer des agents de détection et de réponse (EDR) (EDR). L’équipe Google Threat Intelligence et Mandiant font les recommandations suivantes afin de mieux protéger ces appareils:
- Les organisations doivent mettre à niveau leurs appareils Juniper vers les dernières images qui contiennent des atténuations et des signatures mises à jour pour JMRT et exécuter JMRT Analyse rapide et vérification d’intégrité après la mise à niveau.
- Mettez en œuvre un système centralisé de gestion d’identité et d’accès (IAM) avec une authentification multifactorielle robuste (MFA) et un contrôle d’accès basé sur les rôles granulaires (RBAC) pour la gestion des périphériques réseau.
- Implémentez une gestion de la configuration du réseau qui prend en charge la validation de la configuration par rapport aux modèles et normes définis, avec la possibilité de corriger automatiquement les écarts ou de déclencher des alertes pour une intervention manuelle.
- Adressez et hiérarchisez les activités administratives élevées et mettez en œuvre des solutions de surveillance avec un processus pour examiner régulièrement l’efficacité de la détection.
- Prioriser le correctif et l’atténuation des vulnérabilités dans les appareils réseau, y compris ceux des systèmes d’exploitation moins connus.
- Implémentez un programme de gestion du cycle de vie des appareils qui comprend une surveillance proactive, des mises à jour logicielles automatisées et une planification de remplacement de fin de vie (EOL) pour s’assurer que les appareils réseau sont toujours pris en charge et sécurisés.
- Renforcer la posture de sécurité des appareils réseau, des dispositifs administratifs et des systèmes utilisés pour gérer les appareils réseau en mettant en œuvre des contrôles d’accès stricts, une segmentation du réseau et d’autres mesures de sécurité.
- Tirez parti de manière proactive aux renseignements sur les menaces pour évaluer et améliorer continuellement l’efficacité des contrôles de sécurité contre les menaces émergentes.