Un PoC de code d'exploitation disponible pour une vulnérabilité critique affectant la solution FortiNAC de Fortinet est actuellement dans les mains d'attaquants ayant déjà commencé à l'utiliser. Les utilisateurs concernés sont donc très fortement invités à patcher dès que possible leurs systèmes. FortiNAC est une appliance d'accès réseau zero trust qui peut être déployée à la fois en tant que périphérique matériel ou en tant qu'appliance de machine virtuelle. Il est utilisé pour la segmentation du réseau, la visibilité et le contrôle des terminaux et des utilisateurs connectés au réseau. En tant que tel, il peut être déployé en bordure de réseau (edge), ce qui en fait une cible plus facile pour les attaques basées sur Internet. Selon les analyses Shodan, plus de 700 000 systèmes Fortinet sont connectés à Internet dans le monde.

La vulnérabilité, identifiée comme CVE-2022-39952, a été divulguée et corrigée par Fortinet la semaine dernière. Le fournisseur conseille aux utilisateurs de mettre à niveau vers FortiNAC version 9.2.6 (ou supérieure), 9.1.8 ou plus et 7.2.0 ou plus, selon la version prise en charge qu'ils utilisent.

Ce trou de sécurité permet à des attaquants non authentifiés d'écrire des fichiers arbitraires sur le système, ce qui peut entraîner l'exécution de code ou de commande. La faille a été découverte en interne par un membre de l'équipe de sécurité des produits Fortinet ; elle est notée 9,8 sur 10 sur l'échelle de gravité CVSS. Les chercheurs du cabinet de conseil en sécurité Horizon3.ai ont effectué une comparaison des versions d'appliance FortiNAC corrigées et vulnérables et ont pu localiser et confirmer la vulnérabilité. Elle se trouve dans un fichier appelé keyUpload.jsp qui permet le téléchargement de fichiers qui sont ensuite enregistrés localement à l'emplacement /bsc/campusMgr/config.applianceKey. Le système d'exploitation exécute ensuite un script bash qui exécute une commande de décompression sur le fichier stocké. Initialement, cela faisait référence à une vulnérabilité potentielle de path traversal, grâce à laquelle les attaquants pourraient créer une archive qui, une fois décompressée, écrit des fichiers en dehors du chemin prévu. Cependant, ce n'est pas le cas pour unzip, qui supprime les chemins relatifs et protège donc contre les problèmes de traversée de chemin, ont déclaré les chercheurs. Le script bash qui appelle unzip dans ce cas change d'abord le répertoire de travail actuel en "/" qui, sur les systèmes Linux, est la racine de la partition.

Une autre faille critique également corrigée en janvier

« Unzip permettra de placer des fichiers dans n'importe quel chemin tant qu'ils ne traversent pas le répertoire de travail actuel », ont déclaré les chercheurs. « Parce que le répertoire de travail est '/', l'appel unzip à l'intérieur du script bash permet d'écrire n'importe quel fichier arbitraire ». En d'autres termes, les attaquants peuvent créer un fichier zip qui décompresse son contenu dans n'importe quel chemin de fichier sous toute la partition. Pour démontrer un exploit militarisé, les chercheurs d'Horizon3.ai ont exploité la vulnérabilité pour écrire une charge utile malveillante sous /etc/cron.d/ qui est le mécanisme de tâche planifiée sous Linux. Cette tâche s'exécute toutes les minutes et lance un reverse shell à l'attaquant. Abuser de cron.d n'est qu'un moyen d'exploiter cette faille et d'exécuter du code à distance. Les attaquants pourraient également choisir d'écraser tout fichier binaire sur le système qu'ils savent que le système d'exploitation exécutera, ou ils pourraient ajouter leur propre clé SSH à un profil d'utilisateur, permettant un accès à distance à cet utilisateur via SSH. « Malheureusement, l'appliance FortiNAC n'autorise pas l'accès à l'interface graphique à moins qu'une clé de licence n'ait été ajoutée, donc aucun journal d'interface graphique natif n'était disponible pour vérifier les indicateurs », ont déclaré les chercheurs. « Cependant, l'exploitation du problème était observable dans les journaux du système de fichiers situés dans /bsc/logs/output.master. Plus précisément, vous pouvez rechercher la ligne Running configApplianceXml tant que l'attaquant n'a pas effacé ce fichier journal ».

CronUp, une société de cybersécurité basée au Chili, a signalé des attaques exploitant la vulnérabilité FortiNAC. Tout d'abord, ils ont vu des tentatives qui ont créé des reverse shells comme dans le PoC d'Horizon3.ai. Ensuite, les attaquants sont passés au déploiement de webshells - des scripts de porte dérobée basés sur le web qui permettent l'exécution à distance de commandes. Deux webshells observés jusqu'à présent ont été déployés sous bsc/campusMgr/ui/ROOT/fortii.jsp et bsc/campusMgr/ui/ROOT/shell.jsp sur des installations vulnérables. GreyNoise, un service qui suit le trafic malveillant sur Internet, a ajouté la capacité de détecter les attaques ciblant cette vulnérabilité et a commencé à voir des tentatives d'exploitation.

Ce n'est pas la première fois que des attaquants ciblent les produits et les appliances de sécurité Fortinet. En janvier, le fournisseur américain a averti les utilisateurs que les attaquants exploitaient une vulnérabilité critique dans FortiOS SSL-VPN qui a été corrigée en décembre pour déployer un implant Linux sophistiqué.