Cómo analicé el problema de alta utilización de CPU de svchost [cerrado]

8

Mi máquina fue atacada por un troyano que se manifestó como un servicio en el proceso netsvcs svchost. Este proceso puede identificarse utilizando Process Explorer como 'svchost -k netsvcs'.

Los síntomas que tuve indicando que mi máquina había sido infectada fueron:

    1. Usando ethereal pude ver tráfico HTTP sin parar desde mi máquina a diferentes sitios web como ESPN y transmisores de música en línea.
    2. Por lo general, dentro de 10 a 15 minutos, el Dr. Watson mostraba un cuadro de diálogo que indicaba que el proceso de host genérico había fallado.
    3. Process Explorer indicó que el proceso 'svchost -k netsvcs' estaba ocupando el 100% de la CPU.
    4. Los archivos en C: \ Documents and Settings \ NetworkService \ Local Settings \ Temporary Internet Files \ Content.IE5 fueron bloqueados por el proceso 'svchost -k netsvcs'.

Esto es lo que hice para determinar exactamente qué servicio fue el culpable.

La lista de servicios que Windows ejecutará al inicio en el contenedor netsvcs svchost se puede obtener en esta ubicación de registro: HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ SvcHost \ netsvcs . Cada cadena en el valor MULTI_REG_SZ es el nombre de un servicio ubicado en: HKLM \ SYSTEM \ CurrentControlSet \ Services .

Para cada servicio listado en netsvcs, creé una entrada distinta en SvcHost y luego actualicé el ImagePath del servicio para indicar en qué svchost se debería ejecutar el servicio.

Como ejemplo, para ejecutar el servicio AppMgmt bajo su propio svchost, haríamos lo siguiente:

    1. En SvcHost, cree un nuevo valor Multi-String llamado 'appmgmt' con el valor 'AppMgmt'.
    2. En SvcHost, cree una nueva clave llamada 'appmgmt' con los valores idénticos a los de 'netsvcs' (generalmente REG_DWORD: AuthenticationCapabilities = 12320 y REG_DWORD: CoInitializeSecurityParam = 1).
    3. En CurrentControl \ Services \ AppMgmt, modifique ImagePath a% SystemRoot% \ system32 \ svchost.exe -k appmgmt.

Pasé por el procedimiento anterior en todos los servicios de treinta y tantos ejecutados bajo netsvcs. Esto me permitió determinar exactamente qué servicio fue responsable de los síntomas enumerados anteriormente. Conocer el servicio fue fácil usando Process Explorer para determinar qué archivos bloqueó y cargó el servicio y qué entradas de registro utilizó. Tener todos esos datos fue un simple paso para eliminar el servicio de mi máquina.

Espero que esta publicación sea útil para alguien más afectado por un proceso de svchost infectado.

usuario64842
fuente
¿Descubriste cuál era el malware?
Ciaran
No sé el nombre del malware. El dll y las entradas de registro que necesitaba eliminar parecían generarse aleatoriamente (es decir, fgtyu.dll en system32).
user64842