Désinfection de Conficker.C
Par Sylvain SARMEJEANNE, mardi 17 mars 2009 à 15:35 :: General :: #288 :: rss
Comme vu dans le précédent billet, le MSRT ne détecte pas la variante C du ver Conficker. Existe-t-il une solution simple pour détecter et éradiquer la menace, sans disposer d'autre outil qu'un interprète VBScript (pas d'antivirus, pas de removal tool, etc) ? La réponse est oui.
Comme les variantes précédentes, Conficker.C crée une nouvelle clé dans HKLM\SYSTEM\CurrentControlSet\Services. Or, il la crée avec des permissions très restrictives : seul SYSTEM y a accès (il s'agit ici du service wcsSrv) :

Il s'agit d'une protection rendant un peu moins facile la suppression du ver. Pour la contourner, il suffirait d'éditer les ACLs de la clé à la main ou d'utiliser un outil en ligne de commande comme subinacl.
De fait, cette "protection" a pour effet de rendre facile la détection du ver puisqu'il suffit d'énumérer les clés de Services jusqu'à tomber sur une dont la lecture retourne une erreur...
On sait aussi que ce service malveillant est en réalité un sous-service de Svchost, dont le lancement est effectué par un ajout dans la liste HKLM\SOFTWARE\Microsoft\Windows NT\Svchost\netsvcs :

Pour les variantes A et B, l'ajout du sous-service malveillant s'effectuait toujours en fin de liste ; ce n'est plus le cas pour Conficker.C mais il suffit de parcourir cette valeur et d'en supprimer les entrées précédemment identifiées lors du parcours de Services.
Attention : cette simple manipulation va simplement empêcher le chargement de la DLL malveillante au prochain redémarrage du système. Ce n'est PAS suffisant pour revenir dans l'état pré-infection. En particulier, le fichier .dll est toujours présent sur le disque, l'entrée dans Services est toujours présente et les effets de bord du ver (désactivation du service Windows Update, tâches planifiées, etc) ne sont pas traités. Sans oublier que le ver peut toujours réinfecter la machine si tous les vecteurs de propagation n'ont pas été supprimés.