Risques

  • Déni de service ;
  • divulgation d'informations ;
  • élévation de privilèges.

Systèmes affectés

Toutes les versions de Windows 2000.

Résumé

Deux vulnérabilités du service telnet sous Windows 2000 permettent à un utilisateur mal intentionné d'élever ses privilèges.

Quatre autres vulnérabilités permettent d'effectuer un déni de service.

Enfin la dernière vulnérabilité permet à un utilisateur mal intentionné d'obtenir d'un serveur des informations auxquelles il n'a normalement pas le droit d'accéder.

Description

  • Les deux premières vulnérabilités proviennent d'un problème dans la gestion des sessions telnet.

    L'ouverture d'une session telnet crée un « tube nommé » (FIFO) dont le nom est prévisible et utilisable par n'importe quel programme qui lui est associé.

    Le service telnet fonctionne avec les privilèges de Local System et utilise ce tube sans plus de vérifications dans ce contexte de sécurité.

    Un utilisateur mal intentionné ayant le droit d'exécuter du code sur le serveur peut développer un programme qui crée un tel tube nommé afin que le service telnet l'utilise lors de la prochaine session telnet, ou bien un programme auquel il associe le tube nommé qui sera créé lors de la prochaine ouverture de session telnet.

    Dans les deux cas, l'utilisateur mal intentionné exécute son programme dans le contexte de sécurité de Local System.

  • Les quatre suivantes permettent d'empêcher le service telnet de fonctionner correctement.
    • Un utilisateur mal intentionné peut, en créant un nombre suffisant de sessions inactives, empêcher le service d'arrêter ce type de session quelqu'en soit le propriétaire.
    • Il est aussi possible, en démarrant puis arrêtant successivement et rapidement suffisamment de sessions, d'empêcher le service de traiter les sessions effectives.
    • Un utilisateur mal intentionné peut aussi créer une « violation d'accès » en envoyant une commande de logon habilement construite.
    • Enfin, un appel système ayant pour effet d'arrêter une session telnet peut être effectué avec les privilèges d'un utilisateur normal.
  • Un utilisateur mal intentionné peut facilement détecter la présence d'un compte invité s'il est activé, en se connectant au serveur Windows 2000 comme un utilisateur de domaine au lieu de s'identifier comme un utilisateur local.

Contournement provisoire

  • Afin d'éviter une élévation de privilèges via la vulnérabilité du « tube nommé », ainsi que le déni de service par l'appel système particulier, il faut interdire tout utilisateur d'exécuter du code sur tous les serveur.
  • Désactiver le compte invité dont le mot de passe par défaut est facile à connaître.

Solution

Appliquer le correctif de Microsoft :

http://www.microsoft.com/Downloads/Release.asp?ReleaseID=30508

Documentation

Bulletin de sécurité Microsoft :

http://www.microsoft.com/technet/security/bulletin/ms01-031.asp