Souvenez-vous de la Attaque inversée du RDP-où un système client vulnérable à une vulnérabilité de traversée de chemin pourrait être compromis lors de l’accès à distance à un serveur via le protocole Remote Desktop de Microsoft ?
Bien que Microsoft ait corrigé la vulnérabilité (CVE-2019-0887) dans le cadre de sa mise à jour du mardi patch de juillet 2019, il s’avère que les chercheurs ont pu contourner le patch en remplaçant simplement les barres obliques arrière dans les chemins par des barres obliques avant.
Microsoft a reconnu la correction inappropriée et a corrigé la faille dans sa mise à jour du mardi des correctifs de février 2020, publiée plus tôt cette année, et maintenant suivie sous le numéro CVE-2020-0655.
Dans le dernier rapport partagé avec The Hacker News, le chercheur de Check Point divulgué que Microsoft a résolu le problème en ajoutant un contournement séparé dans Windows tout en laissant la racine du problème de contournement, une fonction API « PathCchCanonicalize », inchangée.
Apparemment, le contournement fonctionne bien pour le client RDP intégré dans les systèmes d’exploitation Windows, mais le correctif n’est pas assez infaillible pour protéger d’autres clients RDP tiers contre la même attaque qui repose sur la fonction de désinfection vulnérable développée par Microsoft.
« Nous avons découvert que non seulement un attaquant peut contourner le correctif de Microsoft, mais qu’il peut aussi contourner toute vérification de canonisation effectuée selon les meilleures pratiques de Microsoft », a déclaré Eyal Itkin, chercheur à Check Point, dans un rapport partagé avec The Hacker News.
Pour ceux qui ne le savent pas, attaques de traversée de chemin se produisent lorsqu’un programme qui accepte un fichier en entrée ne le vérifie pas, permettant à un attaquant d’enregistrer le fichier à l’endroit choisi sur le système cible, et exposant ainsi le contenu des fichiers en dehors du répertoire racine de l’application.
« Un ordinateur distant infecté par un malware pourrait prendre le contrôle de tout client qui tenterait de s’y connecter. Par exemple, si un membre du personnel informatique essayait de se connecter à un ordinateur d’entreprise distant infecté par un malware, ce dernier pourrait également attaquer l’ordinateur du membre du personnel informatique », ont décrit les chercheurs.
La faille a été mise en évidence l’année dernièreet une recherche ultérieure en août a montré qu’elle avait un impact sur les activités de Microsoft Virtualisation du matériel Hyper-V également.
Voici une vidéo de démonstration sur la vulnérabilité originale de l’année dernière :
Une faille dans la traversée d’un sentier mal rapiécé
Selon les chercheurs, le patch de juillet peut être contourné en raison d’un problème qui réside dans sa fonction de canonisation du chemin « .PathCchCanonicalizequi est utilisé pour d’aseptiser les chemins d’accès aux fichierspermettant ainsi à un mauvais acteur d’exploiter la synchronisation du presse-papiers entre un client et un serveur pour déposer des fichiers arbitraires dans des chemins arbitraires sur la machine cliente.
En d’autres termes, lorsque la fonction de redirection du presse-papiers est utilisée alors qu’il est connecté à un serveur RDP compromis, le serveur peut utiliser le presse-papiers RDP partagé pour envoyer des fichiers à l’ordinateur du client et réaliser l’exécution du code à distance.
Bien que les chercheurs de Check Point aient initialement confirmé que « le correctif correspond à nos attentes initiales », il semble qu’il y ait plus que ce que l’on pourrait croire : le correctif peut être simplement contourné en remplaçant les barres obliques arrière (par exemple, filetolocation) dans les chemins par des barres obliques avant (par exemple, file/to/location), qui font traditionnellement office de chemin les séparateurs dans les systèmes basés sur Unix.
« Il semble que PathCchCanonicalize, la fonction qui est mentionnée dans le guide des meilleures pratiques de Windows sur la façon de canoniser un chemin hostile, a ignoré les caractères forward-slash », a déclaré Itkin. « Nous avons vérifié ce comportement en inversant l’implémentation de la fonction par Microsoft, en voyant qu’elle divise le chemin en plusieurs parties en recherchant seulement » et en ignorant ‘/.
La société de cybersécurité a déclaré avoir trouvé la faille en essayant d’examiner le client Remote Desktop de Microsoft pour Mac, un client RDP qui avait été laissé de côté lors de leur analyse initiale l’année dernière. Il est intéressant de noter que le client RDP de MacOS en lui-même n’est pas vulnérable au CVE-2019-0887.
La principale vulnérabilité n’ayant toujours pas été corrigée, Check Point a averti que les implications d’un simple contournement d’une fonction d’assainissement du chemin d’accès de Windows constituent un risque sérieux pour de nombreux autres logiciels qui pourraient être affectés.
« Microsoft a négligé de corriger la vulnérabilité dans son API officielle, et donc tous les programmes qui ont été écrits selon les meilleures pratiques de Microsoft seront toujours vulnérables à une attaque de type Path-Traversal », a déclaré Omri Herscovici de Check Point. « Nous voulons que les développeurs soient conscients de cette menace afin qu’ils puissent passer en revue leurs programmes et appliquer manuellement un correctif contre elle ».
Poster un commentaire