Movimiento Lateral en Lab: SMB, WMI y WinRM con Foco en Deteccion
Reproducimos tres tecnicas clasicas de movimiento lateral en GOAD y mostramos como convertir cada una en una regla Sigma usable por el blue team.

El movimiento lateral no es magia: es el atacante reutilizando credenciales validas dentro de protocolos legitimos. En nuestro lab GOAD con tres Windows Server 2019 y un Windows 10 unidos al dominio sevenkingdoms.local, logramos pivotar de una estacion al DC en menos de ocho minutos usando solo SMB, WMI y WinRM. El objetivo aqui no es entrenar pivote por pivote, sino mostrar donde cada tecnica grita en los logs y como escribir la deteccion antes del incidente real. Esto es investigacion defensiva: cada comando de abajo corre contra maquinas propias, y cada tecnica termina con la telemetria y la regla Sigma que la atrapa. Si todavia no montaste tu ambiente, empieza por Pentest de Active Directory: Kerberoasting Paso a Paso en Lab GOAD para tener el terreno listo.
Montaje del lab y el punto de partida assumed-breach
Asumimos brecha: el operador ya posee una credencial valida, obtenida en el lab con envenenamiento LLMNR/NBT-NS via Responder seguido de un crack offline. Es realista, porque el movimiento lateral casi nunca arranca de cero; arranca de un unico password reutilizado o un hash capturado. Nuestra topologia GOAD nos da kingslanding (DC), winterfell y meereen como servidores miembro, y una estacion Windows 10 como paciente cero. Antes de tocar cualquier tecnica hacemos snapshot de cada VM, activamos red host-only para que nada se filtre, y confirmamos que el SIEM esta ingiriendo. La ingenieria de deteccion solo funciona si la telemetria existe primero, asi que el lab se construye telemetria-primero y ataque-despues, siempre en ese orden.
Ejecucion SMB: psexec y smbexec
Empezamos con el SMB clasico usando impacket-psexec y smbexec. Tras capturar un hash NTLM con Responder, ejecutamos psexec.py sevenkingdoms.local/jaime@10.0.10.10 -hashes :aad3b... y caemos como SYSTEM. El ruido aqui es enorme: creacion del servicio RemComSvc en Event ID 7045, escritura del binario en ADMIN$ generando Event ID 5145 con share name ADMIN$ y RelativeTargetName terminando en .exe aleatorio. La regla Sigma queda corta: filtrar 7045 donde ServiceFileName contiene patrones de ocho caracteres alfanumericos seguidos de .exe atrapa el 90 por ciento de las variantes de psexec sin firma de binario. smbexec es mas silencioso en la creacion de servicio pero mas hablador en el canal de comandos, lanza cmd.exe /Q /c y escribe el output en un archivo temporal del share, que Event ID 5145 tambien captura.
Ejecucion WMI: wmiexec y el padre WmiPrvSE
WMI cambia la superficie de log. Usando wmiexec.py de impacket o Invoke-WmiMethod directo, el proceso hijo nace de WmiPrvSE.exe en vez de services.exe. En Sysmon, esto aparece como Event ID 1 con ParentImage=C:\Windows\System32\wbem\WmiPrvSE.exe y CommandLine conteniendo cmd.exe /Q /c que es la firma estandar de wmiexec. Combinalo con Event ID 3 (network connection) saliendo de la maquina objetivo por el puerto 445 para extraer el output y tienes alta confianza. Como no se crea servicio, la regla 7045 aqui nunca dispara, que es exactamente por que los equipos que solo miran instalacion de servicio quedan ciegos ante WMI. Para hunting amplio de este tipo de abuso de LOLBin, vale repasar Hunting de Living-off-the-Land Binaries en Windows con KQL y adaptar las queries a tu stack.
Ejecucion WinRM: el preferido del operador
WinRM es el preferido de operadores modernos porque parece trafico administrativo legitimo. Disparamos Enter-PSSession -ComputerName dc01 -Credential $cred y Invoke-Command remoto. Los indicadores quedan en tres lugares: Microsoft-Windows-WinRM/Operational Event ID 91 (sesion creada), Security Event ID 4624 con LogonType 3 y AuthenticationPackage Negotiate, y Sysmon Event ID 1 con ParentImage=wsmprovhost.exe. La regla Sigma buena correlaciona wsmprovhost.exe como padre de cualquier proceso que no sea conhost.exe o csrss.exe dentro de una ventana de cinco minutos, eliminando el ruido del PowerShell DSC. WinRM viaja sobre 5985/5986, asi que una regla de red en esos puertos desde un host que nunca hablo WinRM agrega otra senal barata.
Un cuarto vector: DCOM y scheduled tasks
Dos vectores mas completan cualquier lab honesto. La ejecucion DCOM via MMC20.Application o ShellWindows lanza hijos desde mmc.exe o explorer.exe con un padre de red inesperado, y rara vez aparece en sets de deteccion junior; cazalo correlacionando una conexion remota 135/DCOM con un proceso hijo anomalo. Las scheduled tasks remotas via schtasks /create /s o el pipe ATSVC dejan Security Event ID 4698 y una escritura en TaskCache. Agregamos ambos al lab para que la biblioteca de deteccion no quede sesgada hacia las tres tecnicas de titular, porque un intruso real cambia de vector en cuanto uno se pone ruidoso, y un programa que solo cubre SMB entrena atacantes para usar WMI.
Detectar la cadena, no la tecnica
La parte que nadie te cuenta: detectar tecnica aislada es facil, detectar la cadena entera es lo que importa. Construimos un playbook en Elastic que encadena hit de Responder, luego crack del hash, luego primer logon Type 3 con hash NT en maquina nunca antes accedida por ese usuario, luego spawn de wsmprovhost o WmiPrvSE en menos de diez minutos. Esa correlacion temporal redujo el falso positivo de 40 alertas por dia a 2 por semana en nuestro lab simulado. La leccion es que las reglas atomicas ahogan al analista, pero las reglas secuenciadas con ventana de tiempo elevan el ataque real y suprimen al admin que usa WinRM cada manana legitimamente. Si recien empiezas con Sigma y Elastic, Threat Hunting con Sigma y Elastic: Del Indicador a la Regla de Deteccion cubre el pipeline ELK + sigmac que usamos como base.
Requisitos de telemetria: reglas sin logs son poesia
Vale recordar que todo esto presupone telemetria decente. Sin Sysmon con config Olaf o SwiftOnSecurity, sin PowerShell Script Block Logging habilitado (Event ID 4104) y sin recoleccion de los canales WinRM y WMI-Activity, tus reglas Sigma se vuelven poesia. En GOAD aplicamos un GPO minimo que activa esos cuatro puntos en todas las maquinas; es el mismo baseline que recomendamos en Hardening de Windows 11 para Estaciones de Trabajo de Alto Riesgo para estaciones corporativas. Telemetria primero, regla despues, siempre en ese orden, sino estas detectando al atacante por el silencio de los logs que no llegan. Confirma la ingesta con un test known-good antes de confiar en una sola regla.
Errores comunes que ciegan la deteccion de movimiento lateral
Varios errores se repiten. Primero, hacer baseline contra una semana ruidosa: si tus admins corrieron un push masivo de software durante el baseline, la actividad tipo psexec queda en whitelist para siempre. Segundo, matchear por nombre de proceso en vez de linaje del padre, lo que cualquier operador vence renombrando el payload. Tercero, ignorar LogonType 9 (credenciales explicitas) que producen pass-the-hash y runas /netonly, una senal mucho mas limpia de lo que se cree. Cuarto, alertar solo en el primer salto y perder que el movimiento interesante es el segundo y el tercero. Quinto, olvidar que la administracion remota legitima se ve casi identica, asi que cada regla necesita una allowlist de jump boxes y cuentas admin conocidas o la afinaran hasta morir en una semana.
Checklist de deteccion y validacion con Atomic Red Team
Antes de dar una tecnica por cubierta, recorre una checklist: el canal de telemetria se recolecta, la regla Sigma existe y esta versionada, la regla dispara sobre el ataque en el lab, no dispara sobre el baseline de admin legitimo, y esta encadenada a al menos una senal previa. Valida cada regla con Atomic Red Team, por ejemplo T1047 para WMI, T1021.002 para admin shares SMB y T1021.006 para WinRM, luego confirma que la alerta llega al SIEM con la severidad correcta. Una regla que nunca disparaste en serio es una hipotesis, no una deteccion, y mandar hipotesis a produccion es como los programas acumulan puntos ciegos silenciosos.
Del lab a la produccion
Llevar una regla del lab a produccion es su propia disciplina. Despliega cada nueva regla Sigma en modo auditoria o solo-alerta durante al menos un ciclo completo de negocio, porque el movimiento lateral legitimo mas ruidoso, pushes de parches, agentes de backup, herramientas de soporte remoto y pipelines de despliegue automatizado, solo aparece cuando hay usuarios reales y ventanas de cambio reales. Registra la tasa de verdadero-positivo y falso-positivo de cada regla en una planilla simple, afina la allowlist de jump boxes y cuentas de servicio, y solo entonces promuevela a una accion de ticketing o auto-respuesta. Versiona las reglas en un repositorio git para que cada cambio sea revisado y reversible, etiqueta cada una con su ID de tecnica ATT&CK, y agenda un re-test trimestral contra Atomic Red Team para que una actualizacion de Windows que cambia el linaje de un proceso no rompa tu cobertura en silencio. Mide ademas la latencia de reenvio de logs, porque una regla correcta sobre un canal que llega con quince minutos de retraso le regala al atacante justo la ventana que necesita. Una biblioteca de deteccion es una base de codigo viva, no un entregable de una sola vez, y los equipos que la tratan asi son los que de verdad atrapan el segundo y el tercer salto.
FAQ
Puedo detectar movimiento lateral solo con EDR y saltarme Sysmon? Un buen EDR cubre casi todo, pero los canales WMI y WinRM mas Script Block Logging te dan evidencia que el EDR a veces resume y descarta, y en una brecha quieres los eventos crudos para la linea de tiempo. Corre ambos donde el presupuesto lo permita. Cual tecnica es la mas dificil de atrapar? En nuestro lab WMI es la menos detectada porque no se crea servicio y WmiPrvSE es un proceso legitimo de todos los dias, asi que los equipos que se apoyan en 7045 la pierden por completo; por eso recomendamos empezar el trabajo de deteccion ahi y no en el ruidoso psexec que ya todos atrapan.
OPSEC del investigador y un ciclo practico corto
Por ultimo, OPSEC del investigador: los laboratorios de movimiento lateral generan hashes, tickets kerberos y muestras que no pueden filtrarse a tu estacion real. Trabajamos siempre en VMs aisladas en red host-only, con snapshots antes de cada ejecucion, y nunca reusamos passwords entre lab y produccion personal. Para una vision mas amplia del aislamiento de ambientes de investigacion, OPSEC para Investigadores de Seguridad: Modelo de Amenaza Personal trae el modelo que adoptamos. Takeaway practico: elige una tecnica esta semana (sugerimos WMI por ser la menos detectada), reproducela en GOAD, escribe la regla Sigma, valida con Atomic Red Team T1047 y solo despues pasa a la siguiente. Ciclo corto, deteccion real, una tecnica cerrada del todo antes de abrir la proxima.