Como verificar a integridade de processos nativos do Windows
Saiba como identificar processos ilegítimos que estão sendo executados no sistema.
Ferramentas necessárias: Sysinternals ou Process hacker.
SYSTEM
O processo system deve ter PID 4 e não deve ter parent diferente de System Idle Process (0)
Não deve ter outro com o mesmo nome e deve estar na Session 0
Image Path: C:\Windows\system32\ntoskrnl.exe (NT OS Kernel)
Parent Process: System Idle Process (0)
No process hacker será confirmado que o executável é verificado e autêntico da Microsoft, caso diferente averiguar.
O que pode ser considerado fora do normal para esse processo?
- Ter processo pai (fora de Idle Process (0)).
- Várias instâncias de System.
- Um PID diferente de 4, sempre tem de ser PID 4.
- Não estar na sessão 0.
CSRSS.EXE
Sessões e características do processo CSRSS.EXE.
csrss.exe e wininit.exe -> Session 0
csrss.exe e winlogon.exe -> Session 1
SMSS.EXE
Sessões e características do processo SMSS.EXE.
CAMINHO: %SystemRoot%\System32\smss.exe
Processo pai: System
Número de instâncias: Um pai e uma filha por processo. A instância filha existe após iniciar uma sessão.
Usuário: Local System
Inicialização: Segundos após o boot para a instância pai.
Considerado incomum?
- Processo pai defere de System (4).
- Caminho diferente de C:\Windows\System32
- Mais de um processo. (filho encerra a cada nova sessão)
- O usuário é diferente de SYSTEM no processo.
- Entradas estranhas no registro para Subsystem.
CSRSS.EXE
Caminho: %SystemRoot%\System32\csrss.exe
Processo pai: Criado por uma instância de smss.exe
Instâncias: Pode ter duas ou mais.
Usuário: Local System
Início: Segundos após o boot para as primeiras duas instâncias (Sessão 0 e 1). Demais são criadas ao iniciar novas sessões porém geralmente fica em 0 e 1.
Incomum?
- Ter processo pai. (smss.exe chama esse processo e se auto finaliza).
- Caminho diferente de C:\Windows\System32.
- Erros no nome ao tentar se passar por esse processo.
- O usuário não é SYSTEM.
WININIT.EXE
Caminho: %SystemRoot%\System32\wininit.exe
Processo pai: Criado por uma instância de smss.exe
Instâncias: Apenas uma.
Usuário: Local System
Inicialização: Segundos após o boot.
Incomum?
- Ter processo pai. (smss.exe chama esse processo e auto se encerra).
- Caminho diferente de C:\Windows\System32.
- Erros no nome (tentativa de se passar pelo processo).
- Mais de uma instância rodando.
- Não estar rodando como usuário SYSTEM.
WININIT.EXE para SERVICES.EXE
Caminho: %SystemRoot%\System32\services.exe
Processo pai: wininit.exe
Instâncias: Apenas uma.
Usuário: Local System
Inicialização: Segundos após o boot.
Incomum?
- Processo pai diferente de wininit.exe
- Caminho diferente de C:\Windows\System32
- Nome estranhos tentando se passar pelo processo.
- Mais de uma instância rodando.
- Não roda como SYSTEM
WININIT.EXE -> SERVICES.EXE -> SVCHOST.EXE
Caminho: %SystemRoot%\System32\svchost.exe
Processo pai: services.exe
Instâncias: Várias.
Usuário: Vários (SYSTEM, Network Service, Local Service) dependendo de svchost.exe. No Windows 10, muitas rodam com o usuário logado.
Inicialização: Segundos após o boot. Outras instâncias de svchost.exe podem ser iniciadas depois.
Incomum?
- Processo pai diferente de services.exe.
- Caminho diferente de C:\Windows\System32.
- Nomes estranhos semelhantes.
- Não possuir o parâmetro -k.
LSASS.EXE
Caminho: %SystemRoot%\System32\svchost.exe.
Processo pai: services.exe.
Instâncias: Muitas.
Usuário: Vários (SYSTEM, Network Service, Local Service) dependendo do svchost.exe. No Windows 10 rodam com o usuário logado.
Inicialização: Normalmente segundos após o boot, mas podem executar mais instâncias após.
Incomum?
- Processo pai diferente de services.exe
- Caminho diferente de C:\Windows\System32
- Nome estranhos semelhantes a ele.
- Não possuir o parâmetro -k.
WINLOGON.EXE
Caminho: %SystemRoot%\System32\winlogon.exe
Processo pai: Criado por uma instância de smss.exe que não existe mais, então as ferramentas não identificarão o processo pai.
Instâncias: Uma ou mais.
Usuário: Local System
Inicialização: Segundos após o boot para a primeira instância (Session 1). Adicionais podem ser criadas por login via RDP ou troca de usuários.
Incomum?
- Ter processo pai ativo. (smss.exe chama e auto encerra).
- Caminho diferente de C:\Windows\System32
- Nome estranho parecido.
- Não rodar como SYSTEM
- O valor do shell no registro é diferente de explorer.exe
EXPLORER.EXE
Caminho: %SystemRoot%\explorer.exe
Processo pai: Criado por userinit.exe que se auto encerra depois de lança-lo.
Instâncias: Uma ou mais por usuário.
Usuário: Usuário respectivo.
Inicialização: Ao conectar usuário.
Incomum?
- Ter processo pai (userinit.exe chama e encerra-se).
- Caminho diferente de C:\Windows.
- Rodar com usuário desconhecido.
- Nome estranho semelhante.
- Conexões de saída.