Andrey Popov - stock.adobe.com
FortiClient EMS : une vulnérabilité exploitée pour déployer un cleptogiciel
Une vulnérabilité dans FortiClient EMS, qui permet de contourner l'authentification, est exploitée pour déployer EKZ Infostealer, transformant l'infrastructure de gestion en vecteur de compromission étendue.
La CVE-2026-35616 est une vulnérabilité de contrôle d'accès inapproprié affectant FortiClient EMS. Cette faille permet à des acteurs non authentifiés de contourner l'authentification de l'API, leur donnant accès à des requêtes privilégiées.
Selon Arctic Wolf, cette vulnérabilité, rapportée à Fortinet le 31 mars dernier, permet à des acteurs non authentifiés de contourner l'authentification de l'API de FortiClient EMS. Une fois cette porte d'entrée franchie, les acteurs peuvent interagir avec les fonctionnalités d'EMS qui exigent normalement des droits administratifs.
L'abus de l'infrastructure de gestion de confiance
Cette faille transforme l'infrastructure de gestion de confiance en un vecteur de compromission étendue. À partir de l'accès initial, les acteurs malveillants peuvent modifier les configurations d'EMS. Ils ont notamment édité le profil d'accès à distance et la politique d'endpoint pour y insérer un script malveillant, explique ArcticWolf. Cette capacité de modification permet à chaque endpoint administré de devenir un potentiel objectif d'exécution, sans nécessiter une intrusion séparée pour chaque appareil.
La chaîne d'infection des endpoints par le patch
Le déploiement du malware EKZ Infostealer est subtil : le cleptogiciel est déguisé en mise à jour Fortinet. Les acteurs ont exploité la capacité d'EMS à déployer des configurations de tunnel VPN SSL ou IPsec. En utilisant les directives `on_connect` et `script` dans le profil d'accès à distance, ils ont défini des scripts qui s'exécutent automatiquement sur l'endpoint lors de l'établissement du tunnel.
Le processus d'infection suit une lignée précise : `fortitray.exe` ou `ipsec.exe` lance un script `.cmd` via `cmd.exe`. Ce script exécute ensuite un script PowerShell malveillant, qui télécharge la charge utile, `FortiEndpoint_Patch.exe` (EKZ Infostealer), avant de l'exécuter silencieusement. Ce processus se déroule dans un chemin typique de journalisation de VPN, tel que `C:\Program Files\Fortinet\FortiClient\logs\Trace\scripts`.
EKZ Infostealer : ciblage et mécanisme d'extraction
EKZ Infostealer est un voleur de données compilé en MinGW, conçu spécifiquement pour cibler les navigateurs. Il supporte les navigateurs basés sur Chromium (Chrome, Microsoft Edge) et les navigateurs Gecko (Firefox).
Pour les navigateurs Chromium, le voleur localise les installations via le registre, accède au fichier `Local State` pour obtenir la clé maîtresse AES-256, puis déchiffre les bases de données SQLite de chaque profil pour en extraire les données. Pour les navigateurs Gecko, il charge dynamiquement `nss3.dll` afin d'extraire les identifiants des magasins de données standards, incluant `key4.db` et `logins.json`. Les données récoltées — mots de passe enregistrés, cookies et données d'autocomplétion — sont sauvegardées dans un fichier journal (`log.txt`) dans le répertoire `ProgramData`.
L'impact sur l'authentification et la session
L'extraction de ces données a un impact direct sur la sécurité des sessions. Les cookies de session récupérés permettent aux acteurs malveillants de réutiliser des sessions déjà authentifiées, ce qui peut potentiellement contourner les exigences d'authentification à facteurs multiples (MFA).
En plus des identifiants, le voleur extrait des informations de remplissage automatique telles que les coordonnées bancaires, les adresses et les numéros de téléphone. Ces données sont ensuite exfiltrées par un script PowerShell via une requête HTTP POST vers un serveur privé virtuel contrôlé par les assaillants, permettant le réemploi des informations de connexion sur divers services Cloud ou applications SaaS.
