AppInit_DLLs

Lire et nettoyer les DLLs de la clé AppInit_DLLs

   
En savoir plus :  Retourner à la page précédente   Imprimer cette page   

FAQ Microsoft Windows
 
 
Ne concerne que Windows 2000 et XP, la clé AppInit_DLLs n'existant pas sous les autres versions de Windows.
Merci à IPL sur les forums de Zebulon.

Exemples vus dans des logs HijackThis
  Ligne d'un log HijackThis Appartiend à Vu dans
X pqra.dll (certainement un nom aléatoire)
O21 - SSODL: lxWjZ - {9C2B62E8-3681-C842-8E4C-F25097ABB446} - C:\WINDOWS\System32\pqra.dll
? Vu ici
X kmljm.dll (certainement un nom aléatoire)
O21 - SSODL: hxlojaI - {58B15F3F-F21B-F595-EA28-9FAE75EEB271} - C:\WINDOWS\system32\kmljm.dll
? Vu ici
X yfzqti.dll (certainement un nom aléatoire)
O21 - SSODL: vILLDJteohy - {208ECCDD-8A24-6677-E13B-C74A59DD6940} - C:\WINDOWS\System32\yfzqti.dll
? Vu ici


Analyse de AppInit_DLLs
Procédure optionnelle à "La Manip" pour voir le contenu et nettoyer la clé de registre AppInit_DLLs qui est, très rarement, compromise.
  1. Commentaires préliminaires
    Depuis la version 1.98.0 de HiJackThis, une nouvelle ligne, la ligne O20 du journal (le log) qu'il produit, fait apparaître un contenu, s'il existe, de la clé AppInit_DLLs.
    Attention : cette ligne O20 de HiJackThis NE DONNE PAS LE CONTENU CACHÉ de cette clé (s'il existe).

    Attention : on trouve actuellement sur divers forums des recommandations de vider brutalement tout le contenu de la clé AppInit_DLLs sans même vérifier si les dll qui y sont pointées sont légitimes ou non ! En aucun cas vous ne devez vider brutalement le contenu d'une clé de registre sans vous renseigner sur ce qu'il y a à l'intérieur !

    La clé AppInit_DLLs se trouve dans la hiérarchie
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
    de votre base de registre.
    Elle peut contenir un nom de DLL ou une suite de noms de DLLs (de composants de programmes) qui sont chargées avec chaque application Windows en cours d'exécution en mode GUI (en mode graphique Windows) durant la session actuelle. Vous lancez 10 applications, les DLLs pointées par la clé AppInit_DLLs sont chargées en mémoire et lancées 10 fois.

    Dans la clé AppInit_DLLs, les DLLs sont indiquées toutes ensembles sur une seule ligne. Elle sont, légalement délimitées par une "," ou un " " (espace). Seuls les 32 premiers caractères sont utilisés donc les DLLs se trouvent, très probablement, dans le répertoire par défaut des DLLs soit c:\windows\system32 (ou c:\winnt\system32 si vous êtes sous windows 2000) afin de ne pas avoir à spécifier un chemin d'accès histoire de gagner de la place. Il semble pourtant que les malveillances utilisant cette technique donnent, parfois, un chemin complet. Plusieurs DLLs légitimes peuvent se trouver sur cette ligne, même si cette technique de lancement est très rarement utilisée. On peut y trouver, légalement, par exemple :

    La clé AppInit_DLLs n'existe que sous Windows 2000 et XP signale IPL (modérateur sur les forums de Zebulon).

    Utilisez ce lien pour pointer ici depuis un forum ou un autre siteValeurs légitimes connues de AppInit_DLLs
    • apitrap.dll qui vient avec Norton CleanSweep (et avec les bundle contenant Norton CleanSweep comme Norton SystemWorks).
    • nvdesk32.dll de NVIDIA Windows 2000/XP Display driver - NVIDIA desktop manager

  2. Utilisez ce lien pour pointer ici depuis un forum ou un autre siteNettoyage de la clé AppInit_DLLs :

    1. Lancez RegEdit
      Lancez le programme "regedit" (démarrer > exécuter > regedit). Les utilisateurs de Windows 2000 lanceront regedt32 (démarrer > exécuter > regedt32) sinon ils n'auront pas accès à l'édition en mode binaire dont nous allons avoir besoin.

    2. Naviguez jusqu'à AppInit_DLLs
      Naviguez dans les hiérarchies (volet de gauche) jusqu'à la hiérarchie :
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows
      soit le repère 1 de l'illustration ci-dessous.
      Pour déployer les hiérarchies, cliquez sur le petit signe "+" en face de son nom.

      Notez bien qu'il s'agit de "Windows NT" avec un espace entre Windows et NT car il peut exister, juste en dessous, une hiérarchie WindowsNT sans espace.
      Utilisez ce lien pour pointer ici depuis un forum ou un autre site


      Illustration 1 : Ne pas tenir compte de ce qui est affiché sur la ligne AppInit_DLLs, dans la colonne "Données", ni des données affichées dans la boîte de dialogue de la valeur AppInit_DLLs lorsque l'on fait un double click dessus ou lorsque l'on demande la modification de ces données (en mode "caractère"). Cela risque de ne pas être son contenu réel.

  3. Comment une valeur est cachée dans AppInit_DLLs
    Il suffit d'introduire un caractère "zéro binaire", qui correspond au caractère appelé "NULL" sur la table normalisée des caractères ASCII pour que tout ce qui suit ce caractère disparaisse de l'affichage. La preuve : dans les captures d'écrans suivantes j'ai introduit dans la clé AppInit_DLLs, après la valeur légitime apitrap.dll, un nom bidon de DLL que j'ai fait précéder, alternativement, d'un espace (20 en hexadécimal) ou d'un NULL (00 en hexadécimal).

    On notera que l'utilitaire Registrar Lite de Resplendence, dont il est fait grand cas dans le problème AppInit_DLLs sur divers forums est strictement logé à la même enseigne que RegEdit et les autres (RegEdt32, RegAlyzer de Patrick Kolla et RegHance de Lavasoft).







    Regardons la même chose en mode "modification" de la valeur dans RegEdit.





    Regardons la même chose en mode "Modifier données binaires" dans RegEdit.





    Que voit HiJackThis (version 1.98.0) en sa ligne O20 qui rapporte le contenu de la clé AppInit_DLLs ? Il ne voit rien !










    Regardons la même chose en mode binaire
    Faites un clic avec le bouton droit de la souris sur AppInit_DLLs (repère 2 sur l'illustration 1 ci-dessus). Regardez, en binaire, ce que contient la clé AppInit_DLLs (dans le volet de droite, faites un clic avec le bouton droit de la souris sur AppInit_DLLs et choisissez "Modifier données binaires").

    Si cette clé ne contient rien ou ne contient que la valeur "apitrap.dll", laissez tomber cette manipulation : rien d'hostile ne se trouve ici, sinon, poursuivez. La "lecture" des caractères traduisant les valeurs binaires (en réalité, Microsoft, ce sont des valeurs hexadécimales) se fait à droite.


    Légende : Cette clé est vide. Tout est OK. On peut quitter cette étape de La Manip.


    Légende : Cette clé appelle la DLL apitrap.dll de Norton CleanSweep. Tout est OK. On peut quitter cette étape de La Manip.


    Légende : Cette clé appelle la DLL apitrap.dll de Norton CleanSweep et une autre dll inconnue ("autre.dll") qui n'apparaît pas lors d'un affichage "normal" de cette clé. C'est le parasite cherché.

    Si d'autres DLLs apparaissent dans cette liste et sont, simultanément, parfaitement visibles dans les autres modes d'affichage, il y a tout lieu de penser qu'elles sont légitimes. On s'en assurera en lançant des recherches sur leurs noms dans Google. Selon les résultats de vos recherches, vous pouvez abandonner cette étape de La Manip ou poursuivre.

  4. Contre-mesure en cas d'infection de la clé AppInit_DLLs
    Vous en êtes maintenant certain grace aux manipulations ci-dessus : il y a un parasite appelé depuis la clé AppInit_DLLs.
    • Renommez la hiérarchie
      Renommez la hiérarchie
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows
      en ce que vous voulez de manière à ce qu'au prochain démarrage elle ne soit pas trouvée par le truc qui la cherche. Par exemple
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windowspabo
      Voir le repère 1 sur l'illustration 1 ci-dessus et l'illustration 2 ci-après.

      Le but de ceci : le parasite étant actif plusieurs fois en mémoire, chacune de ses occurrences vérifie en permanence cette clé et restaure immédiatement ses valeurs hostiles (réinfecte votre PC) dès que vous tentez de les effacer/modifier en travaillant sur cette clé sous son nom d'origine.

      Vous êtes infesté par le hijack CWS.SearchX (aka Troj_StartPage.sp et BackDoor.Agent.BA) ? Faites l'expérience : effacez le nom de la DLL dans la clé AppInit_DLLs, validez et demandez le "rafraîchissement" (actualisation) de l'image en appuyant sur la touche de fonction F5. L'infection a été rétablie !

      D'autre part, tant que la DLL est active en mémoire, il sera impossible de détruire son fichier sur le disque dur.
      Utilisez ce lien pour pointer ici depuis un forum ou un autre site

      Illustration 2 : Faire un clic avec le bouton droit de la souris pour afficher le menu contextuel et choisir "Renommer" pour renommer cette hiérarchie de la base de registre.


    • Effacez tout
      Faites un click avec le bouton droit de votre souris sur AppInit_DLLs (voir le repère 2 sur l'illustration 1 ci-dessus) et choisissez "Modifier données binaires". Votre curseur (votre "point d'insertion") se trouve au début des données binaires [illustration ci-après]. Appuyez simplement sur la touche "Suppr" et maintenez-la enfoncée jusqu'à ce que tout soit effacé. Validez en cliquant sur le bouton "Ok". (Vous pouvez également tout sélectionner et tout effacer et, si vous êtes plus avancé, sélectionner uniquement la DLL hostile ET le "00 00" qui se trouve devant elle et n'effacer que cela).


      Légende : Effacez tout, soit en appuyant sur la touche "Suppr", soit en sélectionnant tout et en effaçant tout. Cliquez sur OK.



      Légende : Uniquement si vous êtes à l'aise avec cette manip, sélectionnez la parie hostile seule (avec le 00 00 devant elle) et effacez-la. Cliquez sur OK.


    • Supprimez la clé vide ou recréez les bonnes valeurs
      S'il n'y avait pas de valeurs légitimes, rien ne subsiste dans cette clé. Supprimez-la (clic avec le bouton droit de la souris sur le nom de la clé dans le volet de droite de l'éditeur de registre (RegEdit). Ne supprimez pas la hiérarchie HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows dans le volet de gauche). Illustration ci-dessous.




      Si vous avez tout effacé et qu'il y avait des valeurs légitimes, faites un double click sur AppInit_DLLs (voir le repère 2 sur l'illustration 1 ci-dessus). Vous êtes en mode modification "normale". Saisissez la (les) valeurs (les DLLs) légitimes telles qu'apparues dans votre log HiJackThis sur la ligne O20 afin de rétablir cette clé dans sa valeur initiale avant l'attaque. Validez en cliquant sur le bouton "Ok". A ma connaissance, actuellement, seules les valeurs citées ici sont légitimes.




    • Faites F5 (Actualisation) pour vous assurer que le contenu de la clé AppInit_DLLs n'a pas été réinfecté, ou que la clé n'a pas été recréée, voire même que la hiérarchie HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows n'a pas été recréée. Ils ne le font pas encore mais à la vitesse à laquelle ils sortent leurs malveillances, ils ne devraient pas tarder à "l'améliorer".

    • Redémarrez Windows en mode "sans échec" - voir cette page.

    • Demandez à voir, dans l'explorateur de Windows, les fichiers et répertoires cachés - voir cette page.

    • Revenez dans le programme "regedit" et restaurez Windowspabo en Windows

    • La DLL hostile n'est désormais plus sollicitée au démarrage de la moindre application. Son fichier peut donc être détruit. Localisez cette DLL avec votre explorateur de Windows et supprimez-la. Elle est probablement située dans c:\windows\system32 (ou c:\winnt\system32 si vous êtes sous windows 2000).

      Une fois localisée, faites un clic dessus avec le bouton droit de la souris et choisissez "Supprimer". Si la DLL a des "attributs System", une boîte de dialogue vous demandera de confirmer votre choix. Acceptez puis videz la poubelle. Autre solution : faites un clic dessus pour la sélectionner puis, tout en maintenant la touche "Majuscule" enfoncée, appuyez sur la touche "Suppr" - votre DLL hostile sera irrémédiablement détruite sans passer par la case "poubelle".

    • Reprenez, toujours en mode sans échec, la portion de la Manip entre SSD_19 et Etape 4 (inclue) soit SDD_19, SDD_20 et Etape 4 ( cas du gang CoolWebSearch ). SDD_19 et SDD_20 vont vous faire relancer un scan étendu avec SpyBot (réglages de SpyBot comme déjà vus en SDD_17). Sélectionnez tout ce que propose SpyBot (sauf, peut-être, les cookies) et corriger tout, incluant les lignes en vert, afin d'effacer les caches des navigateurs et autres traces. L'Etape 4 ( cas du gang CoolWebSearch ) va s'assurer qu'il ne reste rien, et que rien n'est revenu depuis votre dernier redémarrage, des hijacks du gang CoolWebSearch.



Nouvelle adresse du site Assiste.com depuis le 22 octobre 2012 : http://assiste.com Nouvelle adresse du site Assiste.com depuis le 22 octobre 2012 : http://assiste.com

Nouvelle adresse du site Assiste.com depuis le 22 octobre 2012 : http://assiste.com






Historique des révisions de ce document :

Historique

 
   
Rédigé en écoutant :
Music