
Une faille de conception dans le mécanisme de journalisation du serveur VPN Fortinet peut être exploitée pour dissimuler la vérification réussie des informations d’identification lors d’une attaque par force brute sans informer les défenseurs des connexions compromises.
Bien que l’attaque par force brute soit toujours visible, une nouvelle technique permet de ne consigner que les tentatives infructueuses et non les tentatives réussies, générant un faux sentiment de sécurité.
Vérification des informations d’identification VPN
Le serveur VPN FortiClient stocke l’activité de connexion à l’aide d’un processus en deux étapes qui consiste en une étape d’authentification et une étape d’autorisation.
Des chercheurs de Pentera, une entreprise fournissant des solutions de validation de sécurité automatisées, ont découvert qu’une connexion réussie n’est enregistrée que si le processus réussit à la fois les étapes d’authentification et d’autorisation; sinon, FortiClient VPN enregistrera une authentification échouée.
« [ … ] ceux qui ont échoué sont enregistrés dans la phase d’authentification, mais ceux qui ont réussi sont enregistrés dans la phase d’autorisation, donc oui, une connexion complète avec un script ou un client VPN créerait un journal », a déclaré Peter Viernik, chercheur en sécurité chez Pentera, à Breachtrace .
Dans un rapport publié aujourd’hui, la société de cybersécurité décrit comment ses chercheurs ont mis au point une méthode pour arrêter le processus de connexion complet après l’étape d’authentification, leur permettant de valider les informations d’identification VPN sans enregistrer le succès.
Les chercheurs ont utilisé l’outil de test de sécurité de l’application Burp pour enregistrer les interactions entre le client et le serveur VPN.
Ils ont remarqué que la réponse à la requête HTTPS initiale affiche des informations d’identification valides (via une valeur “ret=1”), une authentification échouée (« ret = 0″) ou une réponse “Une erreur s’est produite » en cas de plusieurs tentatives infructueuses consécutives.

En termes plus simples, l’authentification confirme simplement que les informations d’identification sont valides et l’autorisation établit une session VPN.
Cependant, si le processus est arrêté après l’étape d’authentification, le serveur VPN enregistre uniquement les tentatives ayant échoué, et non celles qui ont réussi, car il n’est pas passé à l’étape d’autorisation suivante.
“L’impossibilité de consigner les tentatives d’authentification réussies lors de la phase d’authentification présente un risque de sécurité important. Les attaquants pourraient potentiellement exploiter cette vulnérabilité pour mener des attaques par force brute sans détection de leurs tentatives réussies » – Pentera
Le problème généré de cette manière est qu’une équipe de réponse aux incidents ne peut pas déterminer si une tentative de force brute dans une telle attaque a réussi et ne verra que les journaux des processus ayant échoué.
Les tentatives d’authentification échouées informeront toujours un administrateur Fortinet que son appareil est soumis à une attaque par force brute et lui permettront potentiellement de bloquer les tentatives.
Cependant, ils ne sauront pas que l’attaquant a réussi à vérifier les informations d’identification. Ces informations d’identification peuvent ensuite être vendues à d’autres acteurs de la menace ou utilisées ultérieurement pour violer le réseau, lorsque les administrateurs ne sont plus attentifs à l’activité malveillante.
Il convient de noter que même si un acteur malveillant détermine un ensemble de connexion correct et les utilise dans une attaque, le processus d’autorisation ne se termine qu’après que FortiClient VPN a envoyé deux appels d’API qui vérifient la conformité de la sécurité de l’appareil et le niveau d’accès de l’utilisateur.

Cette vérification complique considérablement l’attaque, mais un attaquant disposant de ressources suffisantes pourrait toujours utiliser la méthode de Peter pour violer le réseau d’une organisation.
Pantera dit qu’ils ont partagé la recherche avec Fortinet et l’entreprise a répondu en disant qu’elle ne considérait pas le problème comme une vulnérabilité. On ne sait pas si Fortinet résoudra le problème, d’autant plus qu’il ne s’agit pas d’une solution compliquée.
Dans le cadre de la divulgation d’aujourd’hui, Pantera a publié un script qui exploite ce défaut de conception pour vérifier les informations d’identification VPN Fortinet.
Breachtrace a contacté Fortinet pour un commentaire sur le problème hier, mais aucune déclaration n’était disponible avant l’heure de publication.