Conficker.C sans échec
Par Sylvain SARMEJEANNE, lundi 23 mars 2009 à 14:04 :: General :: #290 :: rss
Poursuivons nos aventures "Confickeresques" avec une technique bien connue, quoiqu'assez peu utilisée par les malware : la désactivation du mode sans échec de Windows.
La configuration du mode sans échec se réalise via la clé HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot (aucun rapport avec la solution de chiffrement de disque...). Cette clé liste les pilotes et services minimaux à charger en mode standard (sous-clé Minimal) ou avec support réseau (sous-clé Network) :

Pour rendre impossible le démarrage en mode sans échec (accessible via la touche F8 au démarrage du système), le ver n'y va pas par quatre chemins : il supprime purement et simplement la clé SafeBoot avec la fonction SHDeleteKey :

Au prochain redémarrage, si l'utilisateur appuie sur F8, l'option du mode sans échec lui sera toujours proposée mais échouera en STOP: 0x0000007B indiquant dans ce cas une erreur lors de la lecture de la base de registre :

Pour remédier à cela, la solution la plus simple consiste à exporter la clé SafeBoot depuis une ruche SYSTEM saine (la sauvegarde effectuée à l'installation dans C:\Windows\repair ou celle issue d'un autre poste sain par exemple), puis à l'importer sur le poste après l'avoir désinfecté.
Remarque : si le poste n'a pas été redémarré depuis l'infection, la clé SafeBoot la plus récente a été enregistrée lors du démarrage dans le ControlSet correspondant à la "dernière bonne configuration connue" (Last Known Good).