Pular para o conteúdo
Categoria: Red Team9 min de leitura

Lateral Movement em Lab: SMB, WMI e WinRM com Foco em Deteccao

Por Lucas Andrade ·

Reproduzimos tres tecnicas classicas de movimentacao lateral no GOAD e mostramos como transformar cada uma em regra Sigma utilizavel pelo blue team.

Lateral Movement em Lab: SMB, WMI e WinRM com Foco em Deteccao

Movimentacao lateral nao e magia: e o atacante reusando credenciais validas dentro de protocolos legitimos. No nosso lab GOAD com tres Windows Server 2019 e um Windows 10 ingressados ao dominio sevenkingdoms.local, conseguimos pivotar de uma estacao para o DC em menos de oito minutos usando apenas SMB, WMI e WinRM. O objetivo aqui nao e treinar pivot por pivot, e sim mostrar onde cada tecnica grita nos logs e como escrever a deteccao antes do incidente real. Isso e pesquisa defensiva: cada comando abaixo roda contra maquinas proprias, e cada tecnica termina com a telemetria e a regra Sigma que a pega. Se voce ainda nao montou seu ambiente, comece pelo Active Directory Pentest: Kerberoasting Passo a Passo em Lab GOAD para ter o terreno pronto.

Montagem do lab e o ponto de partida assumed-breach

Assumimos breach: o operador ja possui uma credencial valida, obtida no lab via envenenamento LLMNR/NBT-NS com Responder seguido de um crack offline. Isso e realista, porque movimentacao lateral quase nunca comeca do zero; comeca de um unico password reutilizado ou de um hash capturado. Nossa topologia GOAD entrega kingslanding (DC), winterfell e meereen como servidores membro, e uma estacao Windows 10 como paciente zero. Antes de tocar qualquer tecnica, tiramos snapshot de cada VM, ativamos rede host-only para nada vazar, e confirmamos que o SIEM esta ingerindo. Engenharia de deteccao so funciona se a telemetria existir primeiro, entao o lab e construido telemetria-primeiro e ataque-depois, sempre nessa ordem.

Execucao SMB: psexec e smbexec

Comecamos pelo SMB classico com impacket-psexec e smbexec. Apos coletar um hash NTLM via Responder, executamos psexec.py sevenkingdoms.local/jaime@10.0.10.10 -hashes :aad3b... e caimos como SYSTEM. O barulho aqui e enorme: criacao do servico RemComSvc no Event ID 7045, escrita do binario em ADMIN$ gerando Event ID 5145 com share name ADMIN$ e RelativeTargetName terminando em .exe aleatorio. A regra Sigma fica curta: filtrar 7045 onde ServiceFileName contem padroes de oito caracteres alfanumericos seguidos de .exe pega 90 porcento das variantes de psexec sem precisar de assinatura de binario. smbexec e mais silencioso na criacao de servico mas mais tagarela no canal de comando, lanca cmd.exe /Q /c e escreve o output num arquivo temporario do share, que o Event ID 5145 tambem captura.

Execucao WMI: wmiexec e o pai WmiPrvSE

WMI muda a superficie de log. Usando wmiexec.py do impacket ou Invoke-WmiMethod direto, o processo filho nasce de WmiPrvSE.exe em vez de services.exe. No Sysmon, isso aparece como Event ID 1 com ParentImage=C:\Windows\System32\wbem\WmiPrvSE.exe e CommandLine contendo cmd.exe /Q /c que e a assinatura padrao do wmiexec. Combine com Event ID 3 (network connection) saindo da maquina alvo na porta 445 para puxar o output e voce tem alta confianca. Como nenhum servico e criado, a regra 7045 aqui nunca dispara, que e exatamente por que times que so olham instalacao de servico ficam cegos ao WMI. Para hunting amplo desse tipo de LOLBin abuse, vale revisar o Hunting de Living-off-the-Land Binaries no Windows com KQL e adaptar as queries para sua stack.

Execucao WinRM: o queridinho do operador

WinRM e o queridinho de operadores modernos porque parece trafego administrativo legitimo. Disparamos Enter-PSSession -ComputerName dc01 -Credential $cred e Invoke-Command remoto. Os indicadores ficam em tres lugares: Microsoft-Windows-WinRM/Operational Event ID 91 (sessao criada), Security Event ID 4624 com LogonType 3 e AuthenticationPackage Negotiate, e Sysmon Event ID 1 com ParentImage=wsmprovhost.exe. A regra Sigma boa correlaciona wsmprovhost.exe como pai de qualquer processo que nao seja conhost.exe ou csrss.exe dentro de uma janela de cinco minutos, eliminando o ruido do PowerShell DSC. WinRM trafega sobre 5985/5986, entao uma regra de rede nesses portos vinda de um host que nunca falou WinRM adiciona outro sinal barato.

Um quarto vetor: DCOM e scheduled tasks

Mais dois vetores completam qualquer lab honesto. A execucao DCOM via MMC20.Application ou ShellWindows lanca filhos de mmc.exe ou explorer.exe com um pai de rede inesperado, e raramente aparece em sets de deteccao junior; cace correlacionando uma conexao remota 135/DCOM com um processo filho anomalo. Scheduled tasks remotas via schtasks /create /s ou o pipe ATSVC deixam Security Event ID 4698 e uma escrita em TaskCache. Adicionamos os dois ao lab para a biblioteca de deteccao nao ficar viesada nas tres tecnicas de manchete, porque um intruso real troca de vetor assim que um fica barulhento, e um programa que so cobre SMB treina atacantes a usar WMI.

Detectar a cadeia, nao a tecnica

A parte que ninguem te conta: detectar tecnica isolada e facil, detectar cadeia inteira e que importa. Construimos um playbook no Elastic que encadeia Responder hit, depois hash crack, depois primeiro logon Type 3 com hash NT em maquina nunca antes acessada por aquele usuario, depois spawn de wsmprovhost ou WmiPrvSE em menos de dez minutos. Essa correlacao temporal reduziu falso positivo de 40 alertas por dia para 2 por semana no nosso lab simulado. A licao e que regras atomicas afogam o analista, mas regras sequenciadas com janela de tempo elevam o ataque real e suprimem o admin que usa WinRM toda manha legitimamente. Se voce esta comecando agora com Sigma e Elastic, o Threat Hunting com Sigma e Elastic: Do Indicador a Regra de Deteccao cobre o pipeline ELK + sigmac que usamos como base.

Pre-requisitos de telemetria: regras sem logs sao poesia

Vale lembrar que tudo isso pressupoe telemetria decente. Sem Sysmon com config Olaf ou SwiftOnSecurity, sem PowerShell Script Block Logging habilitado (Event ID 4104) e sem coleta dos canais WinRM e WMI-Activity, suas regras Sigma viram poesia. No GOAD aplicamos um GPO minimo que liga esses quatro pontos em todas as maquinas; e o mesmo baseline que recomendamos no Hardening de Windows 11 para Estacoes de Trabalho de Alto Risco para estacoes corporativas. Telemetria primeiro, regra depois, sempre nessa ordem, caso contrario voce esta detectando o atacante pelo silencio dos logs que nao chegam. Confirme a ingestao com um teste known-good antes de confiar numa unica regra.

Armadilhas comuns que cegam a deteccao de movimentacao lateral

Varias armadilhas se repetem. Primeira, fazer baseline contra uma semana barulhenta: se seus admins rodaram um push massivo de software durante o baseline, a atividade tipo psexec fica em whitelist para sempre. Segunda, casar por nome de processo em vez de linhagem do pai, o que qualquer operador vence renomeando o payload. Terceira, ignorar LogonType 9 (credenciais explicitas) que pass-the-hash e runas /netonly produzem, um sinal bem mais limpo do que se imagina. Quarta, alertar so no primeiro salto e perder que a movimentacao interessante e a segunda e a terceira. Quinta, esquecer que administracao remota legitima parece quase identica, entao cada regra precisa de uma allowlist de jump boxes e contas admin conhecidas ou sera afinada ate a morte em uma semana.

Checklist de deteccao e validacao com Atomic Red Team

Antes de dar uma tecnica por coberta, percorra uma checklist: o canal de telemetria e coletado, a regra Sigma existe e esta versionada, a regra dispara sobre o ataque no lab, ela nao dispara sobre o baseline de admin legitimo, e esta encadeada a pelo menos um sinal anterior. Valide cada regra com Atomic Red Team, por exemplo T1047 para WMI, T1021.002 para admin shares SMB e T1021.006 para WinRM, depois confirme que o alerta chega no SIEM com a severidade certa. Uma regra que voce nunca disparou pra valer e uma hipotese, nao uma deteccao, e mandar hipotese para producao e como programas acumulam pontos cegos silenciosos.

Do lab para a producao

Levar uma regra do lab para producao e uma disciplina propria. Implante cada nova regra Sigma em modo auditoria ou so-alerta por pelo menos um ciclo de negocio completo, porque a movimentacao lateral legitima mais barulhenta, pushes de patch, agentes de backup, ferramentas de suporte remoto e pipelines de deploy automatizado, so aparece quando ha usuarios reais e janelas de mudanca reais. Registre a taxa de verdadeiro-positivo e falso-positivo de cada regra numa planilha simples, afine a allowlist de jump boxes e contas de servico, e so entao promova para uma acao de ticketing ou auto-resposta. Versione as regras num repositorio git para que cada mudanca seja revisada e reversivel, marque cada uma com seu ID de tecnica ATT&CK, e agende um re-teste trimestral contra Atomic Red Team para que uma atualizacao do Windows que muda a linhagem de um processo nao quebre sua cobertura em silencio. Meca tambem a latencia de encaminhamento dos logs, porque uma regra correta sobre um canal que chega com quinze minutos de atraso da ao atacante exatamente a janela de que ele precisa. Uma biblioteca de deteccao e uma base de codigo viva, nao uma entrega unica, e os times que a tratam assim sao os que de fato pegam o segundo e o terceiro salto.

FAQ

Da para detectar movimentacao lateral so com EDR e pular o Sysmon? Um bom EDR cobre a maior parte, mas os canais WMI e WinRM mais o Script Block Logging te dao evidencia que o EDR as vezes resume e descarta, e num breach voce quer os eventos crus para a timeline. Rode os dois onde o orcamento permitir. Qual tecnica e a mais dificil de pegar? No nosso lab o WMI e a mais sub-detectada porque nenhum servico e criado e o WmiPrvSE e um processo legitimo do dia a dia, entao times que apostam no 7045 perdem ela por completo; e justamente por isso que recomendamos comecar o trabalho de deteccao por ali, e nao pelo barulhento psexec que todo mundo ja pega.

OPSEC do pesquisador e um ciclo pratico curto

Por fim, OPSEC do pesquisador: laboratorios de movimentacao lateral geram hashes, kerberos tickets e amostras que nao podem vazar para sua estacao real. Trabalhamos sempre em VMs isoladas em rede host-only, com snapshots antes de cada execucao, e nunca reutilizamos passwords entre lab e producao pessoal. Para uma visao mais ampla de isolamento de ambientes de pesquisa, OPSEC para Pesquisadores de Seguranca: Modelo de Ameaca Pessoal traz o modelo que adotamos. Takeaway pratico: escolha uma tecnica desta semana (sugerimos WMI por ser a mais sub-detectada), reproduza no GOAD, escreva a regra Sigma, valide com Atomic Red Team T1047 e so depois passe para a proxima. Ciclo curto, deteccao real, uma tecnica fechada por completo antes de abrir a proxima.

Leituras relacionadas

Nenhum comentário ainda

Seja o primeiro a comentar.

Deixe seu comentário

Entre com sua conta Canverly para comentar. Você pode usar a mesma conta em qualquer site da rede.

Entrar com Canverly