Ce document est obsolète et ne sera pas mis à jour. Veuillez vous référer aux documentations techniques disponibles sur le site de l’ANSSI : https://www.ssi.gouv.fr/

1 Risque

Propagation d’un ver de compromission :

  • Exécution de code arbitraire ;
  • Accès aux données ;
  • Virus ;
  • Déni de service ;
  • Compromission ;
  • Installation de portes dérobées.

2 Systèmes affectés

Serveur de base de données Microsoft SQL Server 6.5, 7.0 et 2000 avec le système d’authentification en Mode Mixte (Mixed Mode).

Attention : Le Mode Mixte est activé par défaut sur SQL Server 6.5, et le mot de passe du compte d’administration n’existe pas.

3 Résumé

Une faiblesse de la configuration de Microsoft SQL Server permet à des vers de se propager.

Un premier ver exploitant cette faille s’est répandu sur Internet.

Il est probable que des variantes apparaissent à l’avenir.

4 Description

Le ver utilise le fait que le Mode Mixte est activé et qu’il n’y a pas de mot de passe pour le Compte de Service (Service Account aussi appelé sa) de MS-SQL Server 6.5 par défaut.

Pour celà, il balaye des plages d’adresses IP à la recherche des serveurs dont le port 1433/TCP (SQL Server) est ouvert.

Si le mot de passe du compte sa est vide et si le Mode Mixte est activé (Mixed-Mode, voir l’avis CERTA-2000-AVI-063 à ce sujet), le ver peut exécuter la commande à distance SQL XP_CMDSHELL qui lui permet de se télécharger et s’installer sur le serveur victime.

Le ver actuellement connu télécharge deux exécutables : DNSSERVICE.EXE et Win32Mon.exe. Puis une clé de la base des registres est modifiée de façon à ce que le ver soit exécuté à chaque redémarrage du serveur.

(\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\TaskReg)

Sous Windows 98 et Millenium Edition, le service est rendu « invisible » dans le gestionnaire des tâches.

Les exécutables téléchargés permettent aussi à un bot de se connecter à un réseau IRC et de rejoindre un canal pour attendre des commandes d’attaques en déni de service distribué ou autres malveillances.

5 Contournement provisoire

  • Le mot de passe du compte sa doit être changé. Pour cela utiliser la procédure sp_password Null,’nouveau-mot-de-passe’,’sa’
  • L’authentification doit être faite par NTLM : désactiver le Mode Mixte du serveur SQL.
  • Le port 1433/TCP doit être bloqué par le garde barrière pour éviter d’être attaqué depuis l’extérieur.
  • Un serveur n’a aucune raison d’accepter d’exécuter des client (FTP, TFTP, etc.) et ne doit donc pas pouvoir télécharger les exécutables.
  • Il vaut mieux installer le serveur sur un système acceptant le format de fichier NTFS, et restreindre les permissions à de certaines commandes, et fichiers.
  • Sur le garde-barrière, bloquer la possibilité au serveur de se connecter en tant que client vers des ports IRC, FTP etc. (6669/TCP et supérieurs pour IRC, 21/TCP pour FTP, etc.).

6 Solution

Plusieurs vulnérabilités des serveurs MS-SQL très connues peuvent permettre à ce genre de ver de se propager, il faut donc appliquer les correctifs Microsoft comme indiqués dans les avis du CERTA :

  • CERTA-2000-AVI-013 ;
  • CERTA-2000-AVI-081 ;
  • et CERTA-2001-AVI-063 ;

ou encore les bulletins de sécurité Microsoft

  • MS00-035 ;
  • MS00-041 ;
  • MS00-048 ;
  • MS00-092
  • et MS01-032.

7 Documentation