Le 19 février 2024, ConnectWise a publié un avis critique concernant deux vulnérabilités très préoccupantes, à savoir CVE-2024-1709 (avec un score CVSS de 10 : ‘Critique’) et CVE-2024-1708 (avec un score CVSS de 8,4 : ‘Élevé’) affectant les versions 23.9.7 et antérieures de ScreenConnect. Ces vulnérabilités ont été identifiées comme étant largement exploitables et ont été activement exploitées sur le terrain depuis la publication de l’avis. De plus, les codes d’exploitation des preuves de concept sont devenus largement accessibles, augmentant ainsi les risques associés à ces vulnérabilités.

Swachchhanda Shrawan Poudel
Swachchhanda Shrawan Poudel

Security Research

L’avis détaille les vulnérabilités comme suit :

Vulnérabilité

  • CWE-288 : contournement de l'authentification à l'aide d'un autre chemin ou canal (CVE-2024-1709)

  • CWE-22 : limitation inappropriée d'un nom de chemin vers un répertoire restreint (« Path Traversal ») (CVE-2024-1709)

La gravité de ces vulnérabilités est renforcée par leur facilité d’exploitation, les attaquants les ayant déjà facilement exploitées sur le terrain. Un tweet de Shadowserver datant du 20 février 2024 a révélé qu'environ 3 800 instances de ConnectWise ScreenConnect avaient été identifiées comme vulnérables, soulignant ainsi le risque généralisé que représente ces vulnérabilités.

Description technique

CVE-2024-1709 : contournement de l'authentification (Authentication Bypass)

La première vulnérabilité, identifiée sous la désignation CVE-2024-1709, a été découverte en raison d'une erreur critique dans le processus d'authentification des versions 23.9.7 et antérieures de ConnectWise ScreenConnect. Cette faille a été découverte après l’analyse d'un fichier texte. L'examen a révélé que le mécanisme d'authentification n'était pas suffisamment sécurisé au niveau de tous les chemins d'accès, notamment l’assistant de configuration (« SetupWizard.aspx »), un élément majeur.

Dans la dernière mise à jour de ConnectWise ScreenConnect, une amélioration fondamentale a été apportée à un fichier texte appelé « SetupWizard.aspx ». Ce fichier contrôle l'assistant de configuration, lequel est utilisé pour configurer l'utilisateur administratif initial et installer une licence pour le système. Auparavant, il existait un problème potentiel empêchant l'accès à l'assistant de configuration même une fois la configuration initiale terminée.

Les différences au niveau du code de SetupWizard.aspx (Source : horizon3.ai)

Pour résoudre ce problème, un nouveau contrôle a été ajouté pour garantir que l'assistant de configuration ne soit accessible, comme indiqué dans la capture d'écran ci-dessus, que si l'instance de ScreenConnect n'a pas encore été configurée. Au départ, ce changement semblait simple, mais une investigation plus approfondie a révélé un problème plus profond. Dans les anciennes versions de ScreenConnect, une partie spécifique du code était chargée de vérifier si le chemin de la requête correspondait à « /SetupWizard.aspx » afin de déterminer si l'assistant de configuration devait être accessible. Cependant, dans la dernière version, une vérification plus complète a été mise en œuvre. Cette dernière détermine si la résolution du handler HTTP (un composant qui gère les requêtes entrantes) implémente une interface spécifique appelée ISetupHandler.

Selon Huntress Labs, ce changement est crucial car il traite une faille potentielle qui pourrait permettre un accès non autorisé à l'assistant de configuration. La faille concerne la manière avec laquelle .Net gère les chemins d'URL, où des composants supplémentaires peuvent être ajoutés après une URL légitime. Cette possibilité signifie qu'en ajoutant "/literallyanything" à la fin de "/SetupWizard.aspx", une personne pourrait accéder à l'assistant de configuration même sur un système déjà configuré.

Assistant de configuration ScreenConnect (Source : Huntress)

Une fois l’accès à l’assistant de configuration obtenu, il devient alors facile pour des attaquants de compromettre davantage le système. Ils peuvent écraser la base de données des utilisateurs interne, obtenant ainsi un accès administratif. Ensuite, ils pourraient créer et uploader une extension ScreenConnect malveillante, leur permettant ainsi d'exécuter du code sur le système avec des privilèges élevés.

Pour résumer, la mise à jour a résolu un problème qui permettait d'accéder à l'assistant de configuration alors qu'il ne devrait pas l'être, et elle a également traité une faille qui aurait pu permettre à des attaquants d'obtenir un accès non autorisé au système et d'en prendre potentiellement le contrôle.

CVE-2024-1708 : Path Traversal

Selon Huntress Labs, la deuxième vulnérabilité, CVE-2024-1708, mentionnée dans l'avis ConnectWise ScreenConnect, est liée à un type d'attaque appelé Zipslip. Cette vulnérabilité implique une mauvaise gestion des fichiers ZIP et, par conséquent, permet aux attaquants de manipuler le contenu de ces fichiers afin d’exécuter du code malveillant.

Cette vulnérabilité sévère pourrait permettre à des attaquants d’exécuter du code sur un système à distance. Il est important de noter, néanmoins, que son exploitation nécessite des identifiants administratifs et un accès à une fonctionnalité spécifique appelée « Extensions » dans ScreenConnect. Cependant, lorsqu’ils sont utilisés de manière conjuguée avec CVE-2024-1709, ils peuvent déclencher une réaction en chaîne. Tous les fichiers .aspx ou .ashx trouvés dans le répertoire racine de C:\Program Files (x86)\ScreenConnect\App_Extensions\ sont très probablement malveillants.

Détection avec la plateforme Logpoint Converged SIEM

Source de log requise

  • Windows

  • Windows Sysmon

  • Web Server, Proxy, Firewall

Génération de logs Windows

Les règles de détection s'appuient sur l'ID d'événement Windows 4663 pour la surveillance. Cet ID d'événement fait partie de la sous-catégorie système de fichiers (File System Subcategory) de la politique d'audit d'accès aux objets (Object Access Auditing) et nécessite des configurations spécifiques pour être efficace. Ces dernières incluent notamment la création d'une SACL (System Access Control List) appropriée avec des règles d'audit spécifiques au niveau du répertoire concerné. Les tentatives d'accès réussies et celles ayant échoué qui surveillent les tentatives d'écriture dans le répertoire spécifié effectuées par tous les utilisateurs et groupes peuvent être auditées. Cette configuration proactive détecte les modifications apportées aux fichiers du répertoire ScreenConnect en temps réel. La configuration manuelle de ces paramètres peut être effectuée via l'interface utilisateur graphique (GUI) pour garantir un audit approfondi de toute modification survenant dans le répertoire ScreenConnect.

 

Audit SACL de 'C:\Windows\ Temp\Screen Connect\23.9.7.8804'

Alternativement, ce code PowerShell de MHaggis peut être utilisé.

La détection utilise également l’ID d'événement 11 de Windows Sysmon (fichier créé). Pour détecter les modifications de fichier à la racine du répertoire App_Extensions ainsi que les modifications des utilisateurs locaux dans le serveur ScreenConnect, nous devons fournir le chemin à surveiller au niveau de l'ID d'événement 11. Ajoutez-les donc à vos fichiers de configuration Sysmon.

Il existe déjà des règles sigma que nous pouvons exploiter nous-mêmes pour détecter l’exploitation potentielle de ces vulnérabilités. Essayons donc d'en faire des requêtes Logpoint.

Modification de la base de données utilisateur ScreenConnect (activités potentielles associées à une exploitation réussie de CVE-2024-1709)

Elle identifie les modifications apportées au fichier de base de données utilisateur XML temporaire, signalant les modifications potentielles aux utilisateurs locaux sur le serveur ScreenConnect. Ces modifications sont généralement associées à l'exploitation de la vulnérabilité ScreenConnect Authentication Bypass (CVE-2024-1709) dans les versions antérieures à 23.9.8. Cependant, de telles modifications peuvent également se produire lors d'actions légitimes telles que la modification des utilisateurs locaux ou des autorisations.

Elles peuvent également être détectées à partir de l’ID d’événement 4663 de Windows Security.

Tentative d'exploitation potentielle du contournement de l'authentification ScreenConnect CVE-2024-1709

La caractéristique la plus notable de cette CVE est que l'attaquant accède à /SetupWizard.aspx/literally anything. De tels modèles peuvent indiquer une tentative potentielle d’exploitation de CVE-2024-1709. Il est donc crucial de détecter de telles connexions réseau initiées vers cette URL.

CVE-2024-1708 : Exploitation de la vulnérabilité Path Traversal dans ScreenConnect

L'une des caractéristiques notables de CVE-2024-1708 réside dans les modifications des fichiers ASPX et ASHX à la racine du répertoire App_Extensions. Ainsi, les modifications de tels fichiers peuvent indiquer des tentatives d'exploitation de CVE-2024-1708.

Elles peuvent également être détectées à partir de l’ID d’événement 4663 de Windows Security.

Recommandations

ConnectWise souligne la nécessité essentielle de traiter rapidement les vulnérabilités signalées, ajoutant : « Il est conseillé aux partenaires sur-site (on-premise) de mettre immédiatement à niveau leur système vers la dernière version de ScreenConnect pour traiter les vulnérabilités signalées ». Les partenaires Cloud, quant à eux, ont reçu les correctifs pour les deux vulnérabilités signalées le 19 février. Cette suggestion souligne la nécessité de prendre des mesures immédiates afin de protéger la sécurité et l'intégrité des serveurs ScreenConnect pour les partenaires sur-site. De plus, ConnectWise annonce la sortie de ScreenConnect version 23.9.10.8817, qui inclut plusieurs modifications visant à améliorer l'expérience client et à traiter les vulnérabilités identifiées. ConnectWise a également annoncé l'élimination des restrictions de licence, permettant ainsi aux partenaires, ne bénéficiant pas d’une maintenance associée, de mettre à niveau leur système vers la version la plus récente de ScreenConnect, et ce sans restriction, démontrant ainsi leur engagement à faciliter l'accès à des améliorations vitales en matière de sécurité pour tous les partenaires.

Conclusion

Pour résumer, ces vulnérabilités représentent un danger important puisqu’elles permettent à des attaquants d’exécuter du code malveillant sur une machine à distance. Cependant, il est important de souligner que l'exploitation de cette vulnérabilité nécessite des privilèges administrateur et un accès à certaines parties du logiciel vulnérable. Bien que la vulnérabilité ait été traitée avec des correctifs/patches, elle souligne le besoin continu de sensibilisation et la nécessité d'utiliser des logiciels à jour. Cette dernière rappelle aux entreprises qu'elles doivent continuer à donner la priorité aux mesures de sécurité et à être proactives dans la mitigation des risques potentielles, même une fois les vulnérabilités traitées.