# T1037.003 - Script de Logon de Rede
## Técnica Pai
Esta é uma sub-técnica de [[Logon]].
Scripts de logon de rede são executados automaticamente quando um usuário autentica-se em um domínio Windows. Adversários que comprometem o ambiente Active Directory podem abusar dessa funcionalidade para distribuir e executar código malicioso em escala para múltiplos hosts, estabelecendo persistência lateral ampla com um único ponto de controle.
## Descrição
Em ambientes Windows com Active Directory, administradores podem associar scripts de logon a contas de usuário ou a Objetos de Política de Grupo (GPOs). Quando o usuário autentica-se no domínio, o script é automaticamente baixado do servidor (tipicamente do compartilhamento `NETLOGON` de um Domain Controller) e executado com os privilégios desse usuário. Essa é uma funcionalidade legítima e amplamente utilizada para mapear unidades de rede, configurar impressoras e aplicar políticas corporativas.
Adversários que obtêm controle sobre o Active Directory - sejá por comprometimento de uma conta de administrador de domínio, exploração de vulnerabilidade em AD DS ou acesso a um Domain Controller - podem modificar scripts de logon existentes ou criar novos, associando-os via GPO a grupos de usuários ou a toda a organização. Dependendo da amplitude do GPO configurado, um único script malicioso pode ser executado simultaneamente em dezenas, centenas ou milhares de endpoints no momento do próximo logon dos usuários.
A técnica é particularmente poderosa porque: (1) os scripts de logon são considerados "confiáveis" pelo sistema operacional; (2) a execução ocorre em contexto de usuário, dificultando a detecção por regras focadas em processos SYSTEM; (3) o script reside no servidor, não nos clientes, dificultando a remoção por varreduras de endpoint.
**Contexto Brasil/LATAM:** Ambientes corporativos no Brasil, especialmente em setores como [[_sectors|financeiro]], [[_sectors|saúde]] e [[_sectors|governo]], frequentemente operam Active Directories com centenas ou milhares de usuários e GPOs pouco auditadas. Grupos de ransomware como [[lockbit|LockBit]] e [[s1070-black-basta-ransomware|Black Basta]], que possuem histórico de ataques a empresas brasileiras, exploram rotineiramente o comprometimento de AD para distribuição lateral de payloads via mecanismos de logon e GPO, maximizando o impacto de cada intrusão.
## Attack Flow
```mermaid
graph TB
A[Comprometimento Inicial<br/>Phishing / Exploit] --> B[Escalada de Privilégio<br/>Acesso a conta AD privilegiada]
B --> C[Acesso ao Active Directory<br/>Domínio / Domain Controller]
C --> D[T1037.003 - MODIFICAÇÃO DE SCRIPT DE LOGON<br/>Edição via GPO ou conta de usuário]
D --> E[Distribuição em Escala<br/>Script executado em todos os hosts no próximo logon]
E --> F[Execução de Payload<br/>Ransomware / Backdoor / Minerador]
F --> G[Persistência Lateral<br/>Reinfecção automática a cada logon]
```
## Como Funciona
1. **Preparação** - O adversário obtém privilégios suficientes no Active Directory para modificar GPOs ou atributos de usuário. A conta `SYSVOL` ou o compartilhamento `NETLOGON` no Domain Controller é o alvo. O adversário identifica scripts de logon existentes (`\\DOMAIN\NETLOGON\*.bat`, `*.vbs`, `*.ps1`) para modificação, ou cria um novo e o associa a uma GPO existente.
2. **Execução** - O script malicioso é escrito no compartilhamento `NETLOGON` do Domain Controller. Via console de administração do AD (`dsa.msc`) ou PowerShell, o adversário associa o script ao atributo `scriptPath` de contas de usuário alvo, ou o adiciona a uma GPO existente com amplo escopo. No próximo logon de qualquer usuário coberto pela política, o script é executado automaticamente.
3. **Pós-execução** - O payload pode variar: download de malware adicional, criação de backdoor, exfiltração de credenciais, ou execução direta de ransomware. A persistência é mantida enquanto o script permanecer no NETLOGON e a GPO estiver ativa. Mesmo após remediação parcial dos endpoints, o script continua sendo distribuído a cada novo logon.
**Exemplo - atributo de script de logon via PowerShell (diagnóstico legítimo de AD):**
```powershell
# Verificar scripts de logon atribuídos a usuários (auditoria legítima)
Get-ADUser -Filter * -Properties ScriptPath |
Where-Object { $_.ScriptPath -ne $null } |
Select-Object Name, SamAccountName, ScriptPath |
Export-Csv -Path "C:\Audit\logon-scripts.csv" -NoTypeInformation
```
## Detecção
**Fontes de dados:** Logs de auditoria do Active Directory (Event ID 5136 - modificação de objeto AD); Monitoramento de alterações em `SYSVOL\NETLOGON`; Logs de processo (execução de scripts `.bat`, `.vbs`, `.ps1` no contexto de logon); SIEM correlacionando criação de processo com evento de logon de usuário.
```yaml
title: Modificação de Script de Logon de Rede via Active Directory
id: b84e21c3-7d5f-4a8b-c923-1f3d8e2b5a67
status: experimental
logsource:
category: process_creation
product: windows
detection:
selection_logon_script_write:
EventID: 5136
ObjectClass: 'user'
AttributeLDAPDisplayName: 'scriptPath'
selection_process_at_logon:
EventID: 4688
NewProcessName|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wscript.exe'
- '\cscript.exe'
SubjectLogonId|contains: '0x'
ParentProcessName|endswith:
- '\userinit.exe'
condition: selection_logon_script_write or selection_process_at_logon
falsepositives:
- Administradores de domínio realizando alterações legítimas de GPO
- Scripts de logon corporativos para mapeamento de drives e impressoras
- Ferramentas de gerenciamento de endpoint que modificam políticas de logon
level: high
tags:
- attack.persistence
- attack.lateral-movement
- attack.t1037.003
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | Restringir permissões de escrita no compartilhamento `NETLOGON` e `SYSVOL` para apenas contas de administrador de domínio explicitamente autorizadas; auditar regularmente quem possui permissão de escrita nessas pastas |
| Auditoria de GPO | Habilitar auditoria detalhada de modificações em GPOs (Event ID 5136); configurar alertas no SIEM para qualquer alteração em GPOs que afetem mais de 100 usuários |
| Princípio do menor privilégio | Limitar o número de contas com permissão de administrador de domínio; utilizar contas separadas para administração de AD versus uso cotidiano |
| Monitoramento de SYSVOL | Implementar monitoramento de integridade de arquivos (FIM) no compartilhamento NETLOGON; qualquer novo arquivo ou alteração em arquivo existente deve gerar alerta |
## Referências
- [[Logon]] - técnica pai com todas as sub-técnicas de scripts de inicialização
- [[t1078-valid-accounts|T1078 - Valid Accounts]] - frequentemente usado em conjunto para obter o acesso inicial ao AD
- [[t1484-domain-or-tenant-policy-modification|T1484 - Modificação de Política de Domínio]] - técnica relacionada que também abusa de GPOs
- [[m1022-restrict-file-and-directory-permissions|M1022 - Restrict File and Directory Permissions]] - controle de mitigação principal
*Fonte: [MITRE ATT&CK - T1037.003](https://attack.mitre.org/techniques/T1037/003)*