web-dev-qa-db-fra.com

Comment déterminer ce qui est manquant dans le fichier DLLHOST.EXE / ProcessID?

J'ai plusieurs processus dllhost.exe en cours d'exécution sur mon ordinateur Windows 7: enter image description here

Chacune des lignes de commande de cette image manque (c'est ce que je pense) l'option de ligne de commande /ProcessID:{000000000-0000-0000-0000-0000000000000} requise: enter image description here

Question: Comment puis-je déterminer ce qui estréellementexécuté dans ce processus?

Je suis convaincu que si je peux identifier l'application qui effectue le travail à l'intérieur de ces processus dllhost.exe, je serai en mesure de déterminer si mon système est infecté ou non (voir ci-dessous) .


Pourquoi je demande/Ce que j'ai essayé:

Ces instances de DLLHOST.EXE me paraissent suspectes. Par exemple, plusieurs d'entre eux ont beaucoup de connexions TCP/IP ouvertes:

enter image description here

Le moniteur de processus affiche etabsurdquantité d'activité. Un seul de ces processus a généré 124 390 événements en moins de 3 minutes. Pour aggraver les choses, plusieurs de ces processus dllhost.exe écrivent environ 280 Mo de donnéespar minutedans les dossiers TEMP et Temporary Internet Files de l'utilisateur sous la forme de dossiers et de fichiers contenant quatre fichiers aléatoires. noms de personnage. Certains sont en cours d'utilisation et ne peuvent pas être supprimés. Voici un échantillon filtré:

enter image description here

Je sais que cela est probablement malveillant. Malheureusement, le saccage du système en orbite ne doit être effectué qu'après avoir épuisé toutes les autres options. À ce point, j'ai fait:

  1. Malwarebytes analyse complète
  2. Microsoft Security Essentials analyse complète
  3. Examen minutieux Autoruns et fichiers soumis que je ne reconnais pas VirusTotal.com
  4. Examen minutieux HijackThis
  5. TDSSKiller scan
  6. A examiné cette question de superutilisateur
  7. Suivez ces instructions: Comment déterminer quelle application est exécutée dans un package COM + ou Transaction Server
  8. Pour chacun des processus DLLHOST.EXE, j'ai consulté les vuesDLLsetHandlesde tous les .exe dans Process Explorer. , .dll ou d’autres fichiers de type application pour tout ce qui est suspect. Tout est vérifié cependant.
  9. A exécuté le scanner ESET Online
  10. Couru Microsoft Scanner de sécurité
  11. Démarré en mode sans échec. La commande switch-less dllhost.exe instance est toujours en cours d'exécution.

Et à part quelques détections mineures de logiciels publicitaires, rien de malicieux n’apparaît!


Mise à jour 1
<<Removed as irrelevant>>

Mise à jour 2
Résultats de SFC /SCANNOWenter image description here

11

Je vois sur mon ordinateur que dllhost.exe est en cours d'exécution à partir de C:\Windows\System32, alors que le vôtre est en cours d'exécution à partir de C:\Windows\SysWOW64, ce qui semble quelque peu suspect. Mais le problème peut toujours être causé par un produit 32 bits installé sur votre ordinateur.
Consultez également l’observateur d’événements et publiez ici les messages suspects.

Je suppose que vous êtes infecté ou que Windows est devenu très instable.

La première étape consiste à vérifier si le problème survient lors du démarrage en mode sans échec. Si cela n'arrive pas là, alors le problème est (peut-être) avec un produit installé.

Si le problème arrive en mode sans échec, le problème vient de Windows. Essayez d’exécuter sfc/scannow pour vérifier l’intégrité du système.

Si aucun problème n'est détecté, numérisez à l'aide de:

Si rien n'y fait, essayez un antivirus au démarrage tel que:

Pour éviter de graver de vrais CD, utilisez l'outil de téléchargement de DVD USB de Windows 7 pour installer les ISO un par un sur une clé USB.

Si tout échoue et que vous soupçonnez une infection, la solution la plus sûre consiste à formater le disque et à réinstaller Windows, mais essayez d'abord toutes les autres possibilités.

2
harrymc

C'est un cheval de Troie DLL!

Le mérite de m'avoir orienté dans la bonne direction va à @harrymc, je lui ai donc attribué le drapeau de réponse et sa prime.

Autant que je sache, une instance appropriée de DLLHOST.EXE a toujours le commutateur /ProcessID:. Ces processus ne le font pas car ils exécutent un fichier .DLL injecté directement dans la mémoire par le cheval de Troie Poweliks .

Selon cette écriture :

... [Poweliks] est stocké dans une valeur de registre chiffrée et chargé au démarrage par une clé RUN appelant le processus rundll32 sur une charge JavaScript cryptée.

Une fois que [la] charge utile [est] chargée dans rundll32, il tente d'exécuter un script PowerShell intégré en mode interactif (sans interface utilisateur). Ce script PowerShell contient une charge utile codée en base64 (une autre) qui sera injectée dans un processus dllhost (l'élément persistant), qui sera zombifiée et servira de téléchargeur de chevaux de Troie pour d'autres infections.

Comme indiqué au début de l'article cité en référence, les variantes récentes (la mienne incluse) ne commencent plus à une entrée dans la clé HKEY_CURRENT_USER\...\RUN mais sont cachées dans une clé CLSID détournée. Et pour rendre encore plus difficile la détection, il n'y a aucun fichier écrit sur le disque , seulement ces entrées de registre.

En effet (grâce à la suggestion de harrymc), j'ai trouvé le cheval de Troie en procédant comme suit:

  1. Démarrez en mode sans échec
  2. Utilisez Process Explorer pour suspendre tous les processus rouge dllhost.exe
  3. Exécuter un scan ComboFix

Dans mon cas, le cheval de Troie Poweliks se cachait dans la clé HKEY_CLASSES_ROOT\CLSID\{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5} (liée au cache de vignettes). Apparemment, lorsque cette clé est utilisée, elle exécute le cheval de Troie. Étant donné que les vignettes sont très utilisées, le Trojan a vu le jour presque aussi rapidement que s'il avait réellement une entrée RUN dans le Registre.

Pour plus de détails techniques, consultez cet article de blog TrendMicro .

6