CVE-2025-12480 : Rapport du SOC sur la Vulnérabilité d’Accès Non Authentifié au Contrôle dans le Triofox de Gladinet
Detection stack
- AIDR
- Alert
- ETL
- Query
Analyse
Une vulnérabilité de contrôle d’accès incorrect suivie sous le nom de CVE‑2025‑12480 dans Gladinet Triofox a permis à des attaquants non authentifiés de contourner entièrement l’authentification, d’accéder aux pages de configuration initiales même après l’installation, de créer de nouveaux comptes administrateur puis d’abuser des fonctionnalités intégrées pour exécuter des charges utiles arbitraires. Compte tenu de sa gravité élevée (CVSS 9.1) et de son exploitation dans le monde réel, ce bogue représente un risque sérieux pour les organisations utilisant des versions vulnérables.
Enquête
Les chercheurs en menaces de Mandiant (via Google Cloud) ont découvert qu’à partir du 24 août 2025, le cluster de menaces UNC6485 exploitait la faille en soumettant des requêtes HTTP avec un en-tête Host manipulé défini sur « localhost », contournant ainsi le contrôle dans la fonction CanRunCriticalPage() et accédant à des pages de configuration telles que AdminDatabase.aspx et AdminAccount.aspx. Une fois à l’intérieur, les attaquants ont utilisé la fonctionnalité de configuration de l’antivirus du produit (qui s’exécutait avec des privilèges SYSTEM) pour déployer un script batch malveillant qui téléchargeait une charge utile déguisée (par exemple, installateur Zoho UEMS) puis installait des outils d’accès à distance (Zoho Assist, AnyDesk) et établissait des tunnels SSH inversés.
Atténuation
Les organisations doivent s’assurer qu’elles ont mis à jour Triofox vers la version 16.7.10368.56560 (ou ultérieure), qui résout l’accès aux pages de configuration initiale après l’installation. D’autres mesures d’atténuation incluent l’audit et la désactivation des comptes administrateur natifs non utilisés, la restriction de l’accès aux interfaces de gestion par IP ou segment de réseau, la vérification que la fonction antivirus n’autorise pas la configuration de chemin arbitraire ou l’exécution de binaires non fiables, et la surveillance des sorties SSH/anomalies sur le port 433 ou du tunneling RDP.
Réponse
Si vous suspectez une compromission d’un serveur Triofox, isolez immédiatement l’hôte concerné, examinez les journaux HTTP pour des valeurs d’en-tête Host suspectes (par exemple, « localhost »), vérifiez la création de comptes admin non autorisés, et recherchez des preuves de chargements de fichiers malveillants, d’outils de tunnel inversé ou d’exécutions de processus inhabituelles à partir du service Triofox. Ensuite, réimagez ou restaurez l’hôte avec la version logicielle corrigée, réinitialisez les identifiants affectés et faites tourner les identifiants sur les outils auxiliaires, et signalez l’incident à votre CERT national ou autorité de sécurité. Enfin, mettez à jour vos règles de recherche de menaces ou de SIEM pour détecter cette chaîne d’attaque (contournement de l’authentification → nouveau compte admin → abus de chemin antivirus → téléchargement de charge utile → installation d’outil d’accès à distance) à l’avenir.
Flux d’attaque
Règles de détection
Attaque d’en-tête Host HTTP suspect sur Triofox [Serveur Web]
Voir
Exécution d’un script batch malveillant via un abus de chemin d’antivirus Triofox [Création de processus Windows]
Voir
IOC (ip) à détecter : No Place Like Localhost : Unauthenticated Remote Access via Triofox Vulnerability CVE-2025-12480
Voir
IOC (hash) à détecter : No Place Like Localhost : Unauthenticated Remote Access via Triofox Vulnerability CVE-2025-12480
Voir
Instructions de simulation
-
Narratif d’attaque & Commandes :
Un attaquant, ayant identifié l’AdminDatabase.aspxterminal vulnérable, prépare une requête HTTP GET qui définit leHosten-tête surlocalhost. Cela trompe l’application en lui faisant considérer la requête comme un appel interne, permettant potentiellement de contourner les contrôles d’accès et d’activer une exploitation plus poussée (par exemple, télécharger une web‑shell). L’attaquant envoie également une requête secondaire où l’en-têteReferercontienthttp://localhost/pour satisfaire la condition alternative de détection. Les deux requêtes sont émises en utilisantcurlpour garantir le contrôle brut des en-têtes. -
Script de test de régression :
#!/usr/bin/env bash # ------------------------------------------------- # Simule une attaque d'en-tête Host contre AdminDatabase.aspx # ------------------------------------------------- TARGET="http://vulnerable-webapp.example.com" ENDPOINT="/AdminDatabase.aspx" echo "[*] Envoi de la requête GET avec en-tête Host malveillant (sélection2)..." curl -s -o /dev/null -w "%{http_code}n" -H "Host: localhost" -H "User-Agent: Mozilla/5.0" "${TARGET}${ENDPOINT}"