hacktricks/forensics/basic-forensic-methodology/windows-forensics/windows-processes.md

131 lines
6.2 KiB
Markdown
Raw Normal View History

<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas dicas de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
2022-05-01 16:32:23 +00:00
## smss.exe
2021-09-06 14:49:06 +00:00
**Gerenciador de Sessão**.\
A Sessão 0 inicia **csrss.exe** e **wininit.exe** (**serviços do SO**) enquanto a Sessão 1 inicia **csrss.exe** e **winlogon.exe** (**sessão do usuário**). No entanto, você deve ver **apenas um processo** desse **binário** sem filhos na árvore de processos.
2022-09-11 22:47:52 +00:00
Além disso, sessões diferentes de 0 e 1 podem significar que sessões RDP estão ocorrendo.
2022-09-11 22:47:52 +00:00
2021-09-06 14:49:06 +00:00
2022-05-01 16:32:23 +00:00
## csrss.exe
2021-09-06 14:49:06 +00:00
**Processo de Subsistema de Execução Cliente/Servidor**.\
Ele gerencia **processos** e **threads**, disponibiliza a **API do Windows** para outros processos e também **mapeia letras de unidade**, cria **arquivos temporários** e lida com o **processo de desligamento**.
2022-09-11 22:47:52 +00:00
Há um **em execução na Sessão 0 e outro na Sessão 1** (então **2 processos** na árvore de processos). Outro é criado **por nova Sessão**.
2022-09-11 22:47:52 +00:00
2021-09-06 14:49:06 +00:00
2022-05-01 16:32:23 +00:00
## winlogon.exe
2021-09-06 14:49:06 +00:00
2023-06-06 18:56:34 +00:00
**Processo de Logon do Windows**.\
É responsável pelos **logons**/**logoffs** do usuário. Ele inicia **logonui.exe** para solicitar nome de usuário e senha e em seguida chama **lsass.exe** para verificá-los.
2022-09-11 22:47:52 +00:00
Em seguida, ele inicia **userinit.exe** que é especificado em **`HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon`** com a chave **Userinit**.
2022-09-11 22:47:52 +00:00
Além disso, o registro anterior deve ter **explorer.exe** na chave **Shell** ou pode ser abusado como um **método de persistência de malware**.
2021-09-06 14:49:06 +00:00
2022-09-11 22:47:52 +00:00
2022-05-01 16:32:23 +00:00
## wininit.exe
2021-09-06 14:49:06 +00:00
**Processo de Inicialização do Windows**. \
Ele inicia **services.exe**, **lsass.exe** e **lsm.exe** na Sessão 0. Deve haver apenas 1 processo.
2022-09-11 22:47:52 +00:00
2021-09-06 14:49:06 +00:00
2022-05-01 16:32:23 +00:00
## userinit.exe
2021-09-06 14:49:06 +00:00
**Aplicativo de Logon do Usuário**.\
2023-06-06 18:56:34 +00:00
Carrega o **ntduser.dat em HKCU** e inicializa o **ambiente do usuário** e executa **scripts de logon** e **GPO**.
2022-09-11 22:47:52 +00:00
Ele inicia **explorer.exe**.
2021-09-06 14:49:06 +00:00
2022-09-11 22:47:52 +00:00
2022-05-01 16:32:23 +00:00
## lsm.exe
2021-09-06 14:49:06 +00:00
2023-06-06 18:56:34 +00:00
**Gerenciador de Sessão Local**.\
Ele trabalha com smss.exe para manipular sessões de usuário: logon/logoff, inicialização do shell, bloqueio/desbloqueio da área de trabalho, etc.
2022-09-11 22:47:52 +00:00
Após o W7, lsm.exe foi transformado em um serviço (lsm.dll).
2022-09-11 22:47:52 +00:00
Deve haver apenas 1 processo no W7 e a partir deles um serviço executando o DLL.
2021-09-06 14:49:06 +00:00
2022-09-11 22:47:52 +00:00
2022-05-01 16:32:23 +00:00
## services.exe
2021-09-06 14:49:06 +00:00
2023-06-06 18:56:34 +00:00
**Gerenciador de Controle de Serviço**.\
Ele **carrega** **serviços** configurados como **início automático** e **drivers**.
2021-09-06 14:49:06 +00:00
É o processo pai de **svchost.exe**, **dllhost.exe**, **taskhost.exe**, **spoolsv.exe** e muitos mais.
2022-09-11 22:47:52 +00:00
Os serviços são definidos em `HKLM\SYSTEM\CurrentControlSet\Services` e este processo mantém um banco de dados na memória das informações do serviço que podem ser consultadas pelo sc.exe.
2021-09-06 14:49:06 +00:00
2023-06-06 18:56:34 +00:00
Observe como **alguns** **serviços** serão executados em um **processo próprio** e outros serão **compartilhados em um processo svchost.exe**.
2021-09-06 14:49:06 +00:00
2023-06-06 18:56:34 +00:00
Deve haver apenas 1 processo.
2021-09-06 14:49:06 +00:00
2022-09-11 22:47:52 +00:00
2022-05-01 16:32:23 +00:00
## lsass.exe
2021-09-06 14:49:06 +00:00
2023-06-06 18:56:34 +00:00
**Subsistema de Autoridade de Segurança Local**.\
É responsável pela autenticação do usuário e criação dos **tokens de segurança**. Ele usa pacotes de autenticação localizados em `HKLM\System\CurrentControlSet\Control\Lsa`.
2022-09-11 22:47:52 +00:00
2023-06-06 18:56:34 +00:00
Ele escreve no **log de eventos de segurança** e deve haver apenas 1 processo.
2022-09-11 22:47:52 +00:00
Lembre-se de que este processo é altamente atacado para extrair senhas.
2021-09-06 14:49:06 +00:00
2022-09-11 22:47:52 +00:00
2022-05-01 16:32:23 +00:00
## svchost.exe
2021-09-06 14:49:06 +00:00
2023-06-06 18:56:34 +00:00
**Processo de Hospedagem de Serviço Genérico**.\
Ele hospeda vários serviços DLL em um processo compartilhado.
2022-09-11 22:47:52 +00:00
Normalmente, você verá que **svchost.exe** é iniciado com a flag `-k`. Isso iniciará uma consulta ao registro **HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost** onde haverá uma chave com o argumento mencionado em -k que conterá os serviços a serem iniciados no mesmo processo.
2021-09-06 14:49:06 +00:00
2023-06-06 18:56:34 +00:00
Por exemplo: `-k UnistackSvcGroup` iniciará: `PimIndexMaintenanceSvc MessagingService WpnUserService CDPUserSvc UnistoreSvc UserDataSvc OneSyncSvc`
2021-09-06 14:49:06 +00:00
Se a **flag `-s`** também for usada com um argumento, então svchost é solicitado a **iniciar apenas o serviço especificado** neste argumento.
2021-09-06 14:49:06 +00:00
Haverá vários processos de `svchost.exe`. Se algum deles **não estiver usando a flag `-k`**, isso é muito suspeito. Se você descobrir que **services.exe não é o pai**, isso também é muito suspeito.
2022-09-11 22:47:52 +00:00
2021-09-06 14:49:06 +00:00
2022-05-01 16:32:23 +00:00
## taskhost.exe
2021-09-06 14:49:06 +00:00
Este processo atua como um host para processos em execução a partir de DLLs. Ele também carrega os serviços em execução a partir de DLLs.
2022-09-11 22:47:52 +00:00
2023-06-06 18:56:34 +00:00
No W8, isso é chamado de taskhostex.exe e no W10 de taskhostw.exe.
2022-09-11 22:47:52 +00:00
2021-09-06 14:49:06 +00:00
2022-05-01 16:32:23 +00:00
## explorer.exe
2021-09-06 14:49:06 +00:00
Este é o processo responsável pela **área de trabalho do usuário** e pela abertura de arquivos via extensões de arquivo.
2022-04-28 16:01:33 +00:00
Deve ser gerado **apenas 1** processo por **usuário conectado**.
2022-04-28 16:01:33 +00:00
Isso é executado a partir do **userinit.exe** que deve ser encerrado, então **nenhum processo pai** deve aparecer para este processo.
2022-04-28 16:01:33 +00:00
2022-05-01 16:32:23 +00:00
2023-06-06 18:56:34 +00:00
# Capturando Processos Maliciosos
2022-05-01 16:32:23 +00:00
* Está sendo executado no caminho esperado? (Nenhum binário do Windows é executado a partir de uma localização temporária)
2023-06-06 18:56:34 +00:00
* Está se comunicando com IPs estranhos?
* Verifique as assinaturas digitais (os artefatos da Microsoft devem ser assinados)
2023-06-06 18:56:34 +00:00
* Está escrito corretamente?
* Está sendo executado sob o SID esperado?
* O processo pai é o esperado (se houver)?
* Os processos filhos são os esperados? (sem cmd.exe, wscript.exe, powershell.exe..?)
</details>