|
Cet article analyse une attaque qui exploite une vulnérabilité dans le protocole " Remote Desktop Protocol" (RDP) des systèmes Microsoft. "Windows Terminal Services" et "Remote Desktop Protocol" "Windows Terminal Services" est une architecture dans la quelle les applications clientes sont exécutées sur des serveurs ("Terminal Server") et leur affichage est déporté sur des postes de travail ("Terminal Client") qui sont des terminaux spécialisés, ou des PC dotés d'un logiciel client. La communication entre ces clients légers et le serveur centralisé s'effectue via le protocole RDP ("Remote Desktop Protocol"). Analyse de la vulnérabilité Principe : Cette vulnérabilité déjà publiée au mois d'avril 2003 est due au fait que le protocole RDP ne contrôle pas l'identité du serveur lors de l'échange des clés entre le client et le serveur, à l'établissement de la session. Ceci permet à un attaquant capable d'intercepter un trafic entre un client et un serveur (DNS spoofing, arp poisionning, …), de déchiffrer ce trafic. Microsoft à confirmé la vulnérabilité, et l'a corrigée dans les versions récentes d'implémentions de ce protocole. Mais ce mois-ci Massimiliano Montor a souligné les limites de la correction de Microsoft, et a présenté un moyen de la contourner. Détail :
Discussion : La vulnérabilité est due au fait que le client n'a aucun moyen de vérifier la validité de la clé publique qu'il reçoit (2). Certains protocoles, comme "Secure shell" (SSH) par ex., contournent ce problème par une interaction avec l'utilisateur qui doit confirmer que l'empreinte de la clé publique est bien celle du serveur. Réponse de Microsoft et ses limites Microsoft a contourné le problème en modifiant le serveur qui signe désormais la clé publique qu'il envoie avec une seconde clé privée RSA. Cependant la clé RSA privée qui sert à signer la clé publique est codée en dur dans la librairie "mstlsapi.dll" que tout utilisateur Windows possède. Un attaquant peut donc très facilement récupérer la clé privée servant à signer la clé publique du serveur, puis mener à bien une attaque telle que celle décrite précédemment, et ceci de façon complètement invisible pour l'utilisateur. Remarque : lorsqu'un serveur est en mode "administratif" (seul un utilisateur avec un compte administrateur peut accéder au serveur) un attaquant qui exploite cette vulnérabilité peut en prendre le contrôle. Nota : Depuis la version Windows Server 2003 SP1, Microsoft a ajouté une couche sécurisée au niveau "transport" (utilisation de TLS - "Transport Layer Security") vis-à-vis de l'implémentation du protocole RDP. Cet état permet d'éliminer le problème historique d'absence d'authentification des parties dans le protocole RDP.Pour plus d'information :
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||