Cómo Evadir EDRs y Antivirus Usando Estos 8 Ataques de Inyección de Procesos

En el panorama en constante evolución de la ciberseguridad, los investigadores descubren continuamente nuevos métodos que desafían los mecanismos de defensa existentes. Un estudio reciente realizado por SafeBreach, líder en investigación de ciberseguridad, ha sacado a la luz una novedosa técnica de inyección de procesos que explota los grupos de subprocesos de Windows, revelando vulnerabilidades en las soluciones actuales de detección y respuesta de endpoints (EDR). Esta investigación innovadora no sólo demuestra la sofisticación de las posibles amenazas cibernéticas, sino que también subraya la necesidad de estrategias defensivas avanzadas en el mundo digital. La explotación del grupo de subprocesos es difícil de detectar para los EDR porque utiliza mecanismos legítimos del sistema con fines maliciosos. Los EDR a menudo buscan patrones conocidos de actividad maliciosa, pero cuando el malware secuestra procesos legítimos o inyecta código a través de comportamientos esperados del sistema, como aquellos que involucran grupos de subprocesos, puede mezclarse sin generar alarmas. Esencialmente, estas técnicas no dejan los rastros típicos para los que los EDR están programados para identificar, lo que les permite operar bajo el radar.

COMPRENSIÓN DEL PROCESO DE INYECCIÓN:

La inyección de procesos es una técnica que suelen utilizar los ciberatacantes para ejecutar código malicioso dentro del espacio de memoria de un proceso legítimo. Al hacerlo, pueden evadir la detección y obtener acceso no autorizado a los recursos del sistema. Tradicionalmente, este método implica tres pasos clave: asignar memoria en el proceso de destino, escribir el código malicioso en este espacio asignado y luego ejecutar el código para llevar a cabo el ataque.

EL PAPEL DE LOS GRUPOS DE SUBPROCESOS DE WINDOWS:

Un elemento central de esta nueva técnica es la explotación de los grupos de subprocesos de Windows. Los grupos de subprocesos en Windows son integrales para administrar subprocesos de trabajo, que se utilizan para realizar diversas tareas en segundo plano. Estos grupos gestionan de manera eficiente la ejecución de múltiples subprocesos, lo que reduce la sobrecarga asociada con la creación y destrucción de subprocesos. En escenarios legítimos, los grupos de subprocesos mejoran el rendimiento y la capacidad de respuesta de las aplicaciones. Los grupos de subprocesos de Windows son una característica del sistema que se utiliza para administrar múltiples subprocesos de manera eficiente. Estos grupos permiten la ejecución de subprocesos de trabajo que realizan tareas en segundo plano, optimizando el uso de los recursos del sistema. Los grupos de subprocesos son parte integral del sistema operativo Windows y son utilizados por varias aplicaciones para realizar tareas asincrónicas.

La investigación de SafeBreach profundiza en cómo estos grupos de subprocesos pueden manipularse con fines maliciosos. Al explotar los mecanismos que gobiernan las operaciones del grupo de subprocesos, los atacantes pueden inyectar código malicioso en otros procesos en ejecución, eludiendo las medidas de seguridad tradicionales. Esta técnica presenta un desafío importante para las soluciones EDR existentes, que generalmente están diseñadas para detectar formas más convencionales de inyección de procesos. A continuación se muestran algunos ejemplos de tales manipulaciones:

  1. Insertar elementos de trabajo maliciosos:
    • Los atacantes pueden insertar elementos de trabajo maliciosos en el grupo de subprocesos. Estos elementos de trabajo son esencialmente tareas programadas para ser ejecutadas por los subprocesos de trabajo del grupo. Al insertar un elemento de trabajo que contiene código malicioso, un atacante puede ejecutar este código bajo la apariencia de un proceso legítimo.
  2. Secuestro de hilos de trabajadores:
    • Un atacante podría secuestrar los subprocesos de trabajo de un grupo de subprocesos. Al tomar el control de estos subprocesos, el atacante puede redirigir su flujo de ejecución para ejecutar código malicioso. Este método puede resultar particularmente eficaz porque los subprocesos de trabajo son componentes confiables dentro del sistema.
  3. Explotación de colas de temporizador:
    • Los grupos de subprocesos de Windows utilizan colas de temporizador para programar tareas que se ejecutarán en momentos específicos. Un atacante podría aprovechar estas colas de temporizador para programar la ejecución de código malicioso en un momento predeterminado, evitando potencialmente algunos controles de seguridad basados ​​en el tiempo.
  4. Manipulación de devoluciones de llamadas de finalización de E/S:
    • Los grupos de subprocesos manejan devoluciones de llamadas de finalización de E/S, que son funciones llamadas cuando se completa una operación de E/S. Al manipular estas devoluciones de llamada, un atacante puede ejecutar código arbitrario en el contexto de una rutina de finalización de E/S legítima.
  5. Abusar de las llamadas a procedimientos asincrónicos (APC):
    • Si bien no están directamente relacionados con los grupos de subprocesos, los atacantes pueden utilizar llamadas a procedimientos asincrónicos, que son mecanismos para ejecutar código de forma asincrónica en el contexto de un subproceso en particular, junto con la manipulación del grupo de subprocesos para ejecutar código malicioso.
  6. Manipulación de trabajadores en la fábrica:
    • La fábrica de trabajadores en un grupo de subprocesos gestiona los subprocesos de los trabajadores. Al manipular la fábrica de trabajadores, los atacantes pueden controlar potencialmente la creación y gestión de subprocesos de trabajo, permitiéndoles ejecutar tareas maliciosas.
  7. Inserción remota de elemento de trabajo TP_TIMER:
    • Esto implica crear un objeto de temporizador en el grupo de subprocesos y luego manipularlo para ejecutar código malicioso. El temporizador se puede configurar para que se active a intervalos específicos, ejecutando el código malicioso repetidamente.
  8. Manipulación de colas:
    • Los atacantes pueden manipular las colas utilizadas por los grupos de subprocesos para priorizar o retrasar determinadas tareas. Al hacerlo, pueden asegurarse de que sus tareas maliciosas se ejecuten en el momento en que es más probable que pasen desapercibidas.

Estos ejemplos ilustran la versatilidad y el potencial sigilo del uso de grupos de subprocesos de Windows con fines maliciosos. La explotación de estos componentes integrales del sistema plantea un desafío importante para las defensas de ciberseguridad, y requiere mecanismos avanzados de detección y prevención. Los siguientes elementos de trabajo del grupo de subprocesos se pueden programar en Windows. Así es como cada uno podría ser potencialmente vulnerable a los ataques:

  1. Sobrescritura de rutina de inicio de Worker Factory : sobrescribir la rutina de inicio puede redirigir los subprocesos de trabajo para ejecutar código malicioso.
  2. Inserción de TP_WORK : al insertar objetos TP_WORK, los atacantes podrían ejecutar código arbitrario en el contexto de un subproceso del grupo de subprocesos.
  3. Inserción TP_WAIT : la manipulación de objetos de espera puede desencadenar la ejecución de código malicioso cuando se cumplen ciertas condiciones.
  4. Inserción TP_IO : al interceptar o insertar objetos de finalización de IO, los atacantes podrían ejecutar código en respuesta a las operaciones de IO.
  5. Inserción de TP_ALPC : los atacantes podrían insertar objetos ALPC (llamada a procedimiento local avanzado) para ejecutar el código al llegar el mensaje.
  6. Inserción TP_JOB : los trabajos pueden asociarse con acciones maliciosas, ejecutadas cuando ocurren ciertos eventos relacionados con el trabajo.
  7. Inserción TP_DIRECT : la inserción directa permite la ejecución inmediata de código, del que se puede abusar para ejecutar malware.
  8. Inserción TP_TIMER : los atacantes pueden utilizar temporizadores para programar la ejecución de cargas útiles maliciosas en momentos específicos.

Estas vulnerabilidades generalmente surgen del hecho de que los grupos de subprocesos ejecutan funciones de devolución de llamada, que los atacantes pueden manipular para señalar su código, logrando así la ejecución del código dentro del contexto de un proceso legítimo.

IMPLICACIONES PARA LAS SOLUCIONES DE DETECCIÓN Y RESPUESTA DE ENDPOINTS (EDR)

La investigación realizada por SafeBreach Labs probó las variantes recientemente descubiertas de Pool Party con cinco soluciones EDR líderes: Palo Alto Cortex, SentinelOne EDR, CrowdStrike Falcon, Microsoft Defender For Endpoint y Cybereason EDR. El resultado fue sorprendente, ya que ninguna de las soluciones EDR probadas fue capaz de detectar o prevenir las técnicas de ataque Pool Party. Esto subraya la necesidad de una innovación continua en los mecanismos de defensa de la ciberseguridad para seguir el ritmo de la evolución de las amenazas. La explotación de grupos de subprocesos de Windows para la inyección de procesos, como se destaca en el artículo de SafeBreach, tiene implicaciones importantes para las soluciones de detección y respuesta de endpoints (EDR). Estas implicaciones requieren una reevaluación y mejora de las estrategias actuales de EDR:

  1. Desafío a los métodos de detección tradicionales:
    • Las soluciones EDR tradicionales a menudo se basan en la detección basada en firmas y en patrones de comportamiento conocidos para identificar amenazas. Sin embargo, la manipulación de los grupos de subprocesos de Windows representa un vector de ataque más sofisticado que puede no detectarse fácilmente mediante estos métodos convencionales. Esto exige un avance en las tecnologías de detección.
  2. Necesidad de un monitoreo más profundo del sistema:
    • Las soluciones EDR ahora deben considerar un monitoreo más profundo del sistema, centrándose particularmente en los aspectos internos de los sistemas operativos, como las actividades del grupo de subprocesos, la creación de subprocesos y los patrones de ejecución. Este nivel de monitoreo puede ayudar a identificar anomalías que son indicativas de explotación del grupo de subprocesos.
  3. Mejora de las capacidades de análisis del comportamiento:
    • Los sistemas EDR necesitan mejorar sus capacidades de análisis de comportamiento para detectar actividades inusuales que podrían significar una amenaza. Esto incluye la supervisión de irregularidades en el uso del grupo de subprocesos, ejecución inesperada de código dentro de los grupos de subprocesos y otras anomalías que se desvían del comportamiento normal del sistema.
  4. Integración de heurística avanzada:
    • La integración de heurísticas avanzadas y algoritmos de aprendizaje automático puede ayudar a que las soluciones EDR sean más proactivas a la hora de detectar métodos de ataque nuevos y sofisticados. Estas tecnologías pueden aprender de los patrones de ataque en evolución y adaptar sus mecanismos de detección en consecuencia.
  5. Mejorar las estrategias de respuesta:
    • Además de la detección, las soluciones EDR deben mejorar sus estrategias de respuesta ante este tipo de amenazas. Esto incluye medidas de contención automatizadas, erradicación rápida de amenazas y procesos de recuperación eficientes para minimizar el impacto de un ataque.
  6. Colaboración e intercambio de inteligencia sobre amenazas:
    • Los proveedores de EDR y los expertos en ciberseguridad deben colaborar y compartir activamente inteligencia sobre amenazas. Al comprender las últimas tendencias y técnicas de ataque, como las que implican la explotación de grupos de subprocesos, las soluciones EDR pueden estar mejor equipadas para protegerse contra ellos.
  7. Educar a los usuarios y administradores:
    • Las soluciones EDR también deberían centrarse en educar a los usuarios y administradores de sistemas sobre estas nuevas amenazas. La concienciación puede desempeñar un papel crucial en la detección temprana y la respuesta a ataques sofisticados.
  8. Actualizaciones periódicas y gestión de parches:
    • La actualización continua y la gestión de parches son cruciales. Las soluciones EDR deben garantizar que estén actualizadas con las últimas definiciones de amenazas y que puedan identificar vulnerabilidades en los sistemas que necesitan parches o actualizaciones.
  9. Enfoque de confianza cero:
    • Implementar un enfoque de confianza cero puede resultar beneficioso. Las soluciones EDR deben tratar cada proceso e hilo como una amenaza potencial hasta que se verifiquen, garantizando estrictos controles de acceso y monitoreo en todos los niveles.
  10. Capacidades forenses:
    • Mejorar las capacidades forenses es esencial para el análisis posterior al incidente. Comprender cómo se llevó a cabo un ataque, incluida la explotación del grupo de subprocesos, puede proporcionar información valiosa para fortalecer las estrategias de EDR.

En resumen, la explotación de grupos de subprocesos de Windows para la inyección de procesos presenta un desafío complejo para las soluciones EDR, que requiere un cambio hacia estrategias de ciberseguridad más avanzadas, inteligentes e integrales.

MITIGACIÓN

Mitigar las amenazas que implican la explotación de grupos de subprocesos de Windows para la inyección de procesos requiere un enfoque multifacético, que combine soluciones tecnológicas avanzadas con prácticas de seguridad proactivas. Aquí hay algunas posibles medidas y recomendaciones:

  1. Algoritmos de detección mejorados:
    • Las soluciones de detección y respuesta de puntos finales (EDR) deben incorporar algoritmos avanzados capaces de detectar comportamientos anómalos asociados con la manipulación del grupo de subprocesos. Esto incluye patrones de actividad inusuales en subprocesos de trabajo y cambios inesperados en las configuraciones del grupo de subprocesos.
  2. Monitoreo profundo del sistema:
    • Implemente un monitoreo profundo de los aspectos internos del sistema, centrándose especialmente en los grupos de subprocesos y las actividades de los subprocesos de los trabajadores. El monitoreo debe incluir la creación de elementos de trabajo, modificaciones a las colas de temporizadores y los patrones de ejecución de subprocesos.
  3. Auditorías de seguridad periódicas:
    • Realizar auditorías periódicas de seguridad de los sistemas para identificar posibles vulnerabilidades. Esto incluye revisar y actualizar las configuraciones de los grupos de subprocesos y garantizar que los parches y actualizaciones de seguridad se apliquen con prontitud.
  4. Inteligencia avanzada sobre amenazas:
    • Utilice herramientas avanzadas de inteligencia de amenazas para mantenerse informado sobre nuevas vulnerabilidades y técnicas de ataque que involucran grupos de subprocesos. Esta inteligencia se puede utilizar para actualizar las medidas defensivas continuamente.
  5. Capacitación y concientización de los empleados:
    • Eduque al personal y a los empleados de TI sobre las últimas amenazas a la ciberseguridad, incluidas aquellas que involucran la explotación de grupos de subprocesos. La concienciación puede ayudar a la detección temprana y la prevención de tales ataques.
  6. Análisis de comportamiento y heurística:
    • Implemente soluciones de seguridad que utilicen análisis de comportamiento y heurística para detectar patrones inusuales que puedan indicar explotación del grupo de subprocesos. Este enfoque puede identificar ataques que los métodos tradicionales basados ​​en firmas podrían pasar por alto.
  7. Arquitectura de confianza cero:
    • Adopte una arquitectura de confianza cero en la que los sistemas no confíen automáticamente en ninguna entidad dentro o fuera de la red. Este enfoque puede limitar el impacto de un ataque restringiendo el acceso y los permisos únicamente a los recursos esenciales.
  8. Actualizaciones periódicas de software:
    • Asegúrese de que todo el software, especialmente los sistemas operativos y las herramientas de seguridad, se actualicen periódicamente. Las actualizaciones suelen incluir parches para vulnerabilidades conocidas que podrían explotarse.
  9. Aislamiento de Procesos Sensibles:
    • Aísle procesos sensibles en entornos seguros para reducir el riesgo de que la manipulación del grupo de subprocesos afecte las operaciones críticas. Esto puede incluir el uso de máquinas virtuales o contenedores para mayor seguridad.
  10. Planificación de respuesta a incidentes:
    • Desarrollar y mantener un plan sólido de respuesta a incidentes que incluya procedimientos para abordar la explotación del grupo de subprocesos. Este plan debe incluir pasos para la contención, erradicación, recuperación y análisis posterior al incidente.

Al implementar estas medidas, las organizaciones pueden fortalecer sus defensas contra ataques sofisticados que explotan los grupos de subprocesos de Windows, mejorando así su postura general de ciberseguridad.