Como eu analisei o problema de alta utilização da CPU svchost [fechado]

8

Minha máquina foi atacada por um cavalo de Troia que se manifestou como um serviço no processo netsvcs svchost. Esse processo pode ser identificado usando o Process Explorer como 'svchost -k netsvcs'.

Os sintomas que eu indicava que minha máquina havia sido infectada eram:

    1. Usando etéreo, eu pude ver tráfego HTTP ininterrupto da minha máquina para sites diferentes, como ESPN e streamers de música online.
    2. Normalmente, em 10 a 15 minutos, o Dr. Watson exibia uma caixa de diálogo indicando que o processo genérico do host havia falhado.
    3. O Process Explorer indicou que o processo 'svchost -k netsvcs' estava ocupando 100% da CPU.
    4. Os arquivos em C: \ Documents and Settings \ NetworkService \ Configurações locais \ Arquivos temporários da Internet \ Content.IE5 foram bloqueados pelo processo 'svchost -k netsvcs'.

Aqui está o que eu fiz para definir exatamente qual serviço foi o culpado.

A lista de serviços que o Windows executará na inicialização no contêiner netsvcs svchost pode ser obtida neste local do registro: HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ SvcHost \ netsvcs . Cada sequência no valor MULTI_REG_SZ é o nome de um serviço localizado em: HKLM \ SYSTEM \ CurrentControlSet \ Services .

Para cada serviço listado no netsvcs, criei uma entrada distinta no SvcHost e atualizei o ImagePath do serviço para indicar em qual svchost o serviço deve agora ser executado.

Como exemplo - para executar o serviço AppMgmt sob seu próprio svchost, faríamos o seguinte:

    1. No SvcHost, crie um novo valor de seqüência múltipla chamado 'appmgmt' com o valor 'AppMgmt'.
    2. No SvcHost, crie uma nova chave denominada 'appmgmt' com os valores idênticos aos de 'netsvcs' (normalmente REG_DWORD: AuthenticationCapabilities = 12320 e REG_DWORD: CoInitializeSecurityParam = 1).
    3. Em CurrentControl \ Services \ AppMgmt, modifique ImagePath para% SystemRoot% \ system32 \ svchost.exe -k appmgmt.

Passei pelo procedimento acima em todos os serviços de trinta e poucos anos executados em netsvcs. Isso me permitiu identificar exatamente qual serviço foi responsável pelos sintomas listados acima. Conhecer o serviço foi fácil, então, usando o Process Explorer para determinar quais arquivos o serviço foi bloqueado e carregado e quais entradas do Registro foram usadas. Tendo todos esses dados, foi um passo simples excluir o serviço da minha máquina.

Espero que este post seja útil para alguém afetado por um processo svchost infectado.

user64842
fonte
Você descobriu qual era o malware?
Ciaran
Não sei o nome do malware. A dll e o registro que eu precisava excluir pareciam ter sido gerados aleatoriamente (ou seja, fgtyu.dll no system32).
user64842