Cómo el hollowing de procesos compromete la seguridad de tu sistema.
Descubre cómo las personas cibercriminales utilizan el hollowing de procesos para infiltrarse en los sistemas y aprende a detectar sus señales delatoras con herramientas que puedes implementar para aumentar la protección.
¿Qué es el Process Hollowing?
El process hollowing es una técnica avanzada de inyección de código. En este método, un atacante crea un proceso legítimo en un estado suspendido, reemplaza su memoria con código malicioso y luego reanuda el proceso, ejecutando el código maligno bajo la apariencia de un proceso de confianza.
ESET ha identificado que el process hollowing se utiliza en numerosas campañas de malware como Bandidos o Guinea Pig. Herramientas maliciosas como Smoke Loader y TrickBot también emplean esta técnica para ejecutar su código bajo procesos legítimos, eludiendo detecciones por soluciones antivirus y sistemas de detección de intrusiones (MITRE ATT&CK – Elastic).
Capacidad de Evasión de Medidas de Seguridad
El process hollowing permite al malware evadir medidas de seguridad que identifican procesos basados en la legitimidad de sus archivos ejecutables. Las características clave incluyen:
- Ocultación: El malware se ejecuta dentro de un proceso legítimo, dificultando su detección por herramientas de seguridad.
- Privilegios: El malware hereda los privilegios del proceso original, permitiéndole acceder a recursos y realizar acciones restringidas.
- Persistencia: El malware manipula el proceso original para asegurar su supervivencia, incluso después de reinicios del sistema.
¿Cómo Funciona?
El process hollowing se lleva a cabo mediante los siguientes pasos:
- Creación del Proceso en Estado Suspendido: El atacante inicia un proceso legítimo (por ejemplo, svchost.exe) en un estado suspendido usando la función API de Windows
CreateProcess
con la banderaCREATE_SUSPENDED
. - Desmapeo de la Memoria del Proceso: Utilizando funciones como
ZwUnmapViewOfSection
oNtUnmapViewOfSection
, el atacante libera el espacio de memoria del proceso. - Inyección del Código Malicioso: El atacante asigna nueva memoria dentro del proceso suspendido con
VirtualAllocEx
y escribe el código malicioso usandoWriteProcessMemory
. - Modificación del Contexto del Hilo: Con
SetThreadContext
, el atacante cambia el punto de entrada del proceso para que apunte al código malicioso. - Reanudación del Proceso: Finalmente, el proceso suspendido se reanuda con
ResumeThread
, ejecutando el código malicioso bajo la apariencia de un proceso legítimo.
Señales de Uso de Process Hollowing
El process hollowing puede ser difícil de detectar, pero hay algunas señales que podrían indicar su uso:
- Alto uso de CPU/memoria: El proceso puede mostrar una utilización intensiva de CPU y memoria, especialmente durante la inyección de código.
- Actividad inusual del proceso: Los procesos comprometidos pueden exhibir comportamientos inusuales, como la apertura de archivos o puertos de red inesperados.
- Desigualdades en el tamaño del proceso: Los procesos afectados pueden tener un tamaño de memoria menor de lo esperado.
Adicionalmente, los profesionales de ciberseguridad pueden emplear:
- Monitoreo de Llamadas API: Vigilar llamadas a API como
CreateRemoteThread
,VirtualAllocEx
, yWriteProcessMemory
para identificar comportamientos sospechosos. - Análisis del Contexto: Examinar los contextos de los hilos de procesos en busca de anomalías, como cambios inesperados en los puntos de entrada.
- Software de Seguridad Avanzado: Utilizar soluciones de seguridad que empleen análisis de comportamiento y monitoreo de integridad de memoria.
Herramientas para Detectar Process Hollowing
Varias herramientas pueden ayudar a detectar process hollowing:
- Process Explorer: Herramienta gratuita de Microsoft que permite ver los detalles de los procesos en ejecución.
- Sysinternals PsExec: Otra herramienta gratuita de Microsoft que permite ejecutar procesos en el contexto de otro usuario.
- Falcongaze: Herramienta comercial de análisis de malware que puede detectar process hollowing.
Recomendaciones Adicionales
Para detectar y mitigar el process hollowing, además de utilizar las herramientas mencionadas, es importante:
- Mantener los sistemas y el software actualizados con los últimos parches de seguridad.
- Utilizar una solución de seguridad confiable como ESET Endpoint Security (EPP) y EDR ESET Inspect.
- Implementar controles de acceso basados en roles para limitar los privilegios de los usuarios.
- Realizar auditorías de seguridad regulares para identificar y corregir vulnerabilidades.
Conclusión
El process hollowing es una amenaza significativa en el panorama de ciberseguridad actual. Comprender su funcionamiento e impacto permite adoptar medidas proactivas para su detección y mitigación. Estar informados sobre las últimas tácticas de los atacantes es crucial para proteger eficazmente los sistemas y redes informáticas.