Depuis 2016, le groupe Velvet Ant, lié à la Chine, a maintenu un accès clandestin au réseau isolé d'une grande organisation. L'entreprise de cybersécurité Sygnia, qui a découvert l'intrusion, a baptisé l'opération « Highland ». En dix ans, les attaquants ont remplacé les composants d'authentification Linux par des versions piégées et ont capté les identifiants saisis sur les machines compromises.
Voilà plusieurs fois que le nom du groupe Velvet Ant revient dans les enquêtes de Sygnia : en 2024, ses chercheurs l'avaient déjà repéré sur des équipements F5 BIG-IP, puis sur des commutateurs Cisco Nexus via une faille zero-day. À chaque détection, le groupe a pivoté vers une infrastructure moins surveillée pour reconstruire sa présence. Avec Operation Highland, les attaquants ont atteint un réseau sans connexion Internet, dit « air-gapped », et y ont opéré près de dix ans sans déclencher la moindre alerte.Velvet Ant a atteint un réseau sans Internet en détournant trois couches de serveurs
Près de dix ans de présence non détectée dans l'infrastructure critique d'une organisation dont Sygnia ne divulgue ni le nom ni le secteur. Les premiers artefacts forensiques remontent à 2016. Ce réseau n'avait aucune connexion directe à Internet, pourtant ce groupe de cyberespionnage lié à la Chine y a accédé quand même.
On trouve les premières traces sur des serveurs exposés en ligne. Sur ces machines, le groupe a déployé une version modifiée de GS-Netcat, un outil réseau public, rebaptisé auditdb et placé dans /usr/sbin/ pour se fondre parmi les utilitaires légitimes. Dans la liste des tâches actives, ce processus apparaissait sous le nom [khubd], imitant un thread noyau Linux. En parallèle, un proxy SOCKS5 écrit en Perl fonctionnait sous l'alias smbd -D, nom emprunté à un service Samba authentique, pour faire transiter le trafic vers des systèmes internes inaccessibles depuis l'extérieur.
Pour atteindre le réseau isolé, les attaquants ont détourné une chaîne Nginx et FastCGI. Côté Internet, un premier serveur Nginx renvoyait les requêtes HTTP vers un serveur backend compromis. Les attaquants avaient modifié la configuration de ce backend pour qu'un processus FastCGI prenne le relais et lance un binaire nommé uptime (en réalité un outil sur mesure établissant des connexions SSH vers l'infrastructure critique à partir des paramètres reçus en POST). Aucune connexion directe au réseau isolé n'était donc jamais nécessaire
Les attaquants ont remplacé PAM et OpenSSH pour capter chaque identifiant administrateurPlutôt que d'installer des logiciels malveillants à côté des outils légitimes, les attaquants ont remplacé intégralement deux couches fondamentales d'authentification Linux : les modules PAM (Pluggable Authentication Modules) et les binaires OpenSSH. Sygnia précise que les attaquants avaient dès lors accès à chaque identifiant saisi et à chaque commande exécutée sur les hôtes compromis.
Neuf variantes du fichier pam_unix.so ont été recensées, chacune compilée dans un environnement de build distinct. Deux familles principales ont été identifiées. Dans la première, on avait codé un mot de passe en dur pour court-circuiter l'authentification, effacé de la mémoire aussitôt après usage. Dans la seconde, les attaquants avaient en plus modifié le code pour enregistrer chaque couple identifiant-mot de passe dans un fichier caché, /usr/sbin/.ssh.log, à chaque connexion d'un utilisateur légitime.
Velvet Ant a également modifié ssh, sshd et scp pour journaliser identifiants, commandes saisies et frappes clavier, le tout chiffré dans des fichiers dont les horodatages avaient été falsifiés pour correspondre à ceux de /etc/shells/. Par ailleurs, le groupe avait ajouté un flag -d non documenté : quand les opérateurs l'activaient lors de leurs propres sessions, leurs identifiants et frappes n'étaient pas enregistrés dans ces fichiers.
Dans la variante ancienne du kit SSH, Velvet Ant avait codé un mécanisme de backdoor rotatif : sept hachages MD5 distincts, un par jour de la semaine, déterminaient quel mot de passe accorderait l'accès ce jour-là. Sygnia a daté les premières activités à 2016 grâce aux journaux de frappe archivés dans /var/lib/sam/, chaque nom de fichier intégrant l'horodatage de la connexion correspondante.
Il a fallu à Sygnia construire un laboratoire de test avant toute intervention en production. Les attaquants avaient remplacé les composants mêmes qu'utilisent les administrateurs pour accéder aux machines : sans validation préalable, un remplacement incorrect coupait l'accès à distance sans recours possible. Sygnia a acheminé manuellement les composants sains vers des hôtes sans accès Internet, avec des procédures de rollback préparées en amont pour chaque configuration rencontrée.
Sygnia recommande aux équipes de sécurité de traiter PAM, OpenSSH et LSASS sur Windows comme des actifs critiques, à surveiller par détection de point de terminaison et contrôle d'intégrité des fichiers. L'authentification multifacteur doit par ailleurs s'appliquer en amont de l'accès aux hôtes, pas à l'intérieur du flux d'authentification qu'un attaquant peut déjà avoir pris en main.
merci à CLUBIC
