La semaine dernière, un exploit, facile à mettre en œuvre, a été rendu public pour une vulnérabilité corrigée affectant les applications Cisco AnyConnect Secure Mobility Client et Secure Client pour Windows, largement utilisées. Les attaquants pourraient tirer parti de cet exploit pour élever leurs privilèges sur le système d'une victime et en prendre le contrôle total. Connue sous le nom d’AnyConnect Secure Mobility Client avant la version 5.0, l’application Secure Client pour Windows s'intègre à plusieurs plateformes et technologies de sécurité et de gestion des points terminaux de l’équipementier, notamment la plateforme AnyConnect VPN et Zero-Trust Network Access (ZTNA), très prisée par les entreprises. Cette popularité du logiciel en a déjà fait une cible pour les attaquants. En octobre 2022, Cisco a mis à jour ses avis concernant deux vulnérabilités d'escalade de privilèges, initialement corrigées dans le client AnyConnect en 2020, pour alerter les clients sur leur exploitation dans la nature. Au même moment, l'agence américaine de cybersécurité et de sécurité des infrastructures (Cybersecurity and Infrastructure Security Agency, CISA) avait ajouté les failles CVE-2020-3433 et CVE-2020-3153 à son catalogue de vulnérabilités connues et exploitées, en demandant à toutes les agences gouvernementales de les corriger dans les plus brefs délais.
Les vulnérabilités d'escalade des privilèges locaux ne sont pas considérées comme très critiques car il faut que l’attaquant dispose déjà d’un certain accès pour exécuter du code sur le système d'exploitation. Cela ne signifie pas pour autant qu'elles ne sont pas sérieuses ou utiles, en particulier dans le cadre d'un mouvement latéral. Généralement, les employés qui utilisent le client AnyConnect sur leurs ordinateurs professionnels pour accéder au réseau de l'entreprise par VPN n'ont pas de privilèges d'administrateur sur leurs systèmes. Si les attaquants parviennent à inciter un utilisateur à exécuter un programme malveillant, ce code s'exécutera avec leurs privilèges limités. Cela peut suffire pour voler des données de base dans les applications de l'utilisateur, mais ne permet pas de mener des attaques plus sophistiquées comme le dumping d’identifiants locales stockées dans Windows, qui pourraient permettre à l'utilisateur d'accéder à d'autres systèmes. Or c'est là que les failles d'escalade des privilèges locaux peuvent devenir intéressantes.
L'exploit CVE-2023-20178
Répertoriée sous la référence CVE-2023-20178, la vulnérabilité d'escalade des privilèges corrigée par Cisco au début du mois se situe dans le mécanisme de mise à jour d’AnyConnect Secure Mobility Client et de Secure Client for Windows. Comme l’explique le chercheur Filip Dragovic, qui a trouvé et signalé la faille à Cisco, dans son exploit de preuve de concept posté sur GitHub, chaque fois qu'un utilisateur établit une connexion VPN, le logiciel client exécute un fichier appelé vpndownloader.exe. Ce processus crée un répertoire dans le dossier c:³windows³temp avec les autorisations par défaut et vérifie s'il contient des fichiers, provenant par exemple d'une mise à jour précédente. Si des fichiers sont trouvés, il les supprime, mais cette action est effectuée avec le compte NT Authority\SYSTEM, c’est-à-dire le compte ayant le plus de privilèges sur les systèmes Windows. Les attaquants peuvent facilement exploiter cette action en utilisant des liens symboliques (raccourcis) vers d'autres fichiers qu'ils créent, ce qui entraîne un problème de suppression de fichier arbitraire, la suppression de fichier se transformant en exécution de fichier. Cette action est possible, en abusant d'une fonctionnalité peu connue du service Windows Installer.
En mars 2022, les chercheurs de la Zero Day Initiative de Trend Micro ont décrit cette technique en détail qu’ils ont attribuée à un chercheur nommé Abdelhamid Naceri. C’est ce même chercheur qui avait découvert et signalé une vulnérabilité différente dans le service Windows User Profile Service qui conduisait de la même manière à la suppression arbitraire de fichiers avec les privilèges SYSTEM. « Cet exploit est largement applicable dans les cas où une primitive supprime, déplace ou renomme un dossier vide arbitraire dans le contexte du SYSTEM ou d'un administrateur », avaient déclaré à l'époque les chercheurs de Trend Micro. Dans la mise à jour de son avis sur la vulnérabilité CVE-2023-20178, Cisco indique aux utilisateurs qu'un programme d'exploitation public est désormais disponible. L'entreprise conseille vivement aux clients de mettre à niveau AnyConnect Secure Mobility Client pour Windows vers la version 4.10MR7 (4.10.07061) ou une version ultérieure, et Secure Client pour Windows vers la version 5.0MR2 (5.0.02075) ou une version ultérieure.