El EDR marca un svchost.exe iniciado en suspensión, con su imagen desasignada y luego reanudado. ¿Qué técnica es y qué haces?
Respuesta breve
Coincide con process hollowing (MITRE T1055.012): se crea un proceso legítimo suspendido, se desasigna su memoria, se escribe código malicioso, se fija el contexto del hilo y se reanuda. El nombre parece fiable, el código no. Aísla el host, vuelca la memoria del proceso para analizarla y aplica prevención basada en comportamiento sobre esa secuencia de API. Una lista blanca por nombre de proceso lo pasaría por alto.
La alerta nombra un binario de confianza, y por eso funciona el hollowing. Hay que reconocer la secuencia, no el nombre del proceso.
La técnica
MITRE ATT&CK T1055.012 describe los pasos. Se crea un proceso legítimo suspendido con CreateProcess; se desasigna su memoria con ZwUnmapViewOfSection o NtUnmapViewOfSection; se escribe código malicioso en el espacio liberado mediante VirtualAllocEx y WriteProcessMemory; se ajusta el contexto del hilo con SetThreadContext; y ResumeThread ejecuta la carga. MITRE señala que crea un proceso nuevo en lugar de atacar uno existente, a diferencia de otros métodos de inyección. Su estrategia de detección apunta justo a esta secuencia de llamadas.
Respuesta
- Contener el host: ese «svchost.exe» ejecuta código del atacante.
- Capturar la memoria del proceso para analizar la carga inyectada y no la imagen benigna del disco.
- Prevenir por comportamiento: MITRE indica Behavior Prevention on Endpoint (M1040), que bloquea secuencias comunes de inyección.
- Buscar el proceso padre que lo lanzó y otros hosts afectados.
Por qué fallan las otras
La lista blanca por nombre es en lo que confía el atacante. DLL side-loading y ransomware son otras técnicas; borrar una DLL o restaurar copias nunca examina el proceso vaciado.
Qué buscan los entrevistadores
Reconocer la cadena de API, analizar la memoria y apoyarse en el comportamiento, no en los nombres.
Posibles preguntas de seguimiento
- ¿En qué se diferencia el process hollowing de la inyección clásica de DLL en un proceso existente?
- ¿Cómo compararías la imagen en memoria de un proceso con su archivo en disco durante el triaje?
- ¿Qué anomalías de proceso padre y línea de comandos aumentarían tu confianza en un svchost.exe vaciado?