McAfee ATR analiza Sodinokibi, también conocido como REvil Ransomware-as-a-Service – The All-Stars


Episodio 2: Las estrellas

Análisis de estructuras de afiliados en campañas de ransomware como servicio

Esta es la segunda entrega del análisis de McAfee Advanced Threat Research (ATR) de Sodinokibi y sus conexiones con GandGrab, la campaña más prolífica de Ransomware como servicio (RaaS) de 2018 y mediados de 2019.

GandCrab anunció su retiro a finales de mayo. Desde entonces, una nueva familia RaaS llamada Sodinokibi, también conocida como REvil, ocupó su lugar como una de las campañas de ransomware más prolíficas.

En el primer episodio de nuestro análisis sobre la campaña Sodinokibi RaaS, compartimos nuestro extenso análisis de malware y posinfección, que incluía comparaciones de código con GandCrab, y una idea de cuán masiva es la nueva campaña de Sodinokibi.

Las campañas de Sodinokibi todavía están en curso y difieren en la ejecución debido a que los diferentes afiliados están difundiendo el ransomware. ¿Qué plantea más preguntas por responder, como cómo operan los afiliados? ¿Funciona el modelo de afiliado? ¿Qué podemos aprender sobre la campaña y las posibles conexiones con GandCrab investigando a los afiliados?

Resulta que, a través del análisis de muestras a gran escala y la agregación de valores codificados, pudimos determinar qué afiliados desempeñaron un papel crucial en el éxito de la empresa criminal de GandCrab y encontraron mucha similitud entre la empresa RaaS de GandCrab y la de Sodinokibi.

Antes de comenzar con el análisis y la comparación de Sodinokibi, explicaremos brevemente la metodología que utilizamos para GandCrab.

Sistema GandCrab RaaS

GandCrab fue un excelente ejemplo de un ransomware como servicio. RaaS sigue una estructura en la que los desarrolladores ofrecen su producto a afiliados, socios o anunciantes responsables de difundir el ransomware y generar infecciones. Los desarrolladores toman un porcentaje de los ingresos obtenidos y proporcionan la otra parte a los afiliados.

FIGURA 1. DESCRIPCIÓN GENERAL DE ALTO NIVEL DEL MODELO RAAS GANDCRAB

Operar un modelo RaaS puede ser lucrativo para ambas partes involucradas:

  • Perspectiva del desarrollador: Los autores de malware solicitan un porcentaje por pago para el uso del producto ransomware. De esta forma, los desarrolladores tienen menos riesgo que los afiliados que propagan el malware. Los desarrolladores pueden establecer ciertos objetivos para sus afiliados con respecto a la cantidad de infecciones que necesitan producir. En cierto modo, esto es muy similar a una organización de ventas moderna en el mundo corporativo.

Posteriormente, un modelo RaaS ofrece a los autores de malware un refugio seguro cuando operan desde un país que no considera el desarrollo de malware como un delito. Si los ciudadanos de su propia nación no son víctimas, los desarrolladores no serán procesados.

  • Perspectiva de afiliados: Como afiliado, no tiene que escribir el código de ransomware usted mismo; implica menos habilidad técnica. RaaS hace que el ransomware sea más accesible para un mayor número de usuarios. Un afiliado solo necesita ser aceptado en la red criminal y alcanzar los objetivos establecidos por los desarrolladores. Como modelo de servicio, también ofrece un nivel de descentralización donde cada parte se adhiere a su propia área de especialización.

Conseguir un pedazo del pastel

Los afiliados quieren recibir un pago proporcional a las infecciones que hicieron; se exponen a una gran cantidad de riesgo al difundir ransomware y quieren cosechar los beneficios. La confianza mutua entre el desarrollador y el afiliado juega un papel importante en unirse a un sistema RaaS. Es muy parecido a la expresión: "Confianza, difícil de construir y fácil de perder" y esto explica en gran medida el escepticismo general que los miembros del foro cibercriminal muestran cuando se anuncia un nuevo sistema RaaS.

Para que el servicio RaaS crezca y mantenga su confianza, la administración adecuada de infecciones / ganancias por afiliado juega un papel importante. A través de esto, los desarrolladores pueden asegurarse de que todos obtengan una parte honesta del proverbial "pastel". Entonces, ¿cómo se puede lograr esta administración? Una forma es tener valores codificados en el ransomware.

Vinculación del ransomware a afiliados

A través de nuestro análisis técnico de malware, establecimos que, a partir de la versión 4, GandCrab incluyó ciertos valores codificados en el código fuente del ransomware:

  • id: el número de identificación del afiliado.
  • sub_id: la ID secundaria de la ID de afiliado; Un número de seguimiento para el afiliado por infecciones de subarriendo o rastrea su propia campaña, identificable a través del número de sub_id.
  • version: el número de versión interna del malware.

La versión 4 tuvo cambios significativos en general y creemos que estos cambios fueron realizados en parte por los autores para mejorar la administración y hacer que GandCrab sea más escalable para hacer frente a su creciente popularidad.

Sobre la base de los valores codificados, nos fue posible, en cierta medida, extraer la información de administración y crear nuestra propia visión general. Buscamos tantas muestras diferentes de GandCrab como pudimos encontrar, utilizando las reglas de Yara, los contactos de la industria y los envíos de los clientes. La lista de muestra que reunimos es bastante extensa pero no exhaustiva. De las muestras recolectadas extrajimos los valores codificados y los tiempos de compilación automáticamente, utilizando una herramienta de compilación personalizada. Agregamos todos estos valores juntos en una línea de tiempo gigante desde GandCrab versión 4, hasta la versión 5.2.

FIGURA 2. PEQUEÑA PORCIÓN DEL PLAZO DE LAS MUESTRAS RECOGIDAS (TENGA EN CUENTA LOS PRIMEROS CUATRO TIEMPOS POSIBLEMENTE PISADOS)

Características de ID y SUB_ID observadas

Relación padre-hijo
Los ID extraídos y los Sub_ID mostraron una relación padre-hijo, lo que significa que cada ID podría tener más de un SUB_ID (hijo) pero cada SUB_ID solo tenía un ID (padre).

FIGURA 3. LA ACTIVIDAD DEL NÚMERO DE IDENTIFICACIÓN 41 (PADRE) Y SUS SUB_ID CORRESPONDIENTES (NIÑOS)

Incrementos de ID
En general, observamos un incremento gradual en el número de identificación con el tiempo. Las versiones anteriores generalmente tenían números de identificación más bajos y aparecían números de identificación más altos con las versiones posteriores.

Sin embargo, hubo números de identificación relativamente más bajos que aparecieron en muchas versiones, como se muestra en la figura 3.

Esta observación se alineó con nuestra teoría de que el número de identificación corresponde a un afiliado particular. Ciertas afiliadas siguieron siendo socios durante un largo período de tiempo, difundiendo diferentes versiones de GandCrab; esto explica el número de identificación que aparece durante un período más largo y en diferentes versiones. Esta teoría también ha sido reconocida por varias fuentes (anónimas).

Determinación de los ID / afiliados principales
Cuando aplicamos la teoría de que la identificación correspondía a un afiliado, observamos una actividad diferente entre los afiliados. Hay algunos afiliados / ID que solo se vincularon a una sola muestra que encontramos. Una razón para que los afiliados aparezcan solo por un breve momento puede explicarse por el incumplimiento. Los desarrolladores de GandCrab tenían una política estricta de expulsar afiliados que tuvieron un rendimiento inferior. Expulsar a un afiliado abriría un nuevo espacio que recibiría un nuevo número de identificación incrementado.

Por otro lado, observamos varios afiliados muy activos, "Las estrellas", de los cuales el número de identificación 99 fue, con mucho, el más activo. Primero observamos ID 99 en seis muestras diferentes de la versión 4.1.1, creciendo a 35 muestras diferentes en la versión 5.04. Según nuestro conjunto de datos, observamos 71 muestras únicas sin empaquetar vinculadas a la ID 99.

Estar involucrado con varias versiones (consistencia en el tiempo), en combinación con la cantidad de muestras únicas (volumen) y la cantidad de infecciones (basadas en detecciones de malware de la industria) puede mostrar efectivamente qué afiliado fue el más agresivo y posiblemente el más importante para el Red RaaS.

Afiliado vs. Vendedor y Interrupción

Un afiliado activo se puede comparar con un vendedor superior en cualquier organización comercial normal. Dado que los ingresos de la red RaaS dependen en gran medida del rendimiento de sus principales afiliados, identificar e interrumpir la actividad de un afiliado superior puede tener un efecto devastador en los ingresos de la red RaaS, la moral interna y el rendimiento general de RaaS. Esto se puede lograr mediante arrestos de un afiliado y / o conspiradores.

Otra forma es interrumpir el modelo de negocio y reducir las ganancias del ransomware al ofrecer herramientas de descifrado gratuitas o crear vacunas que eviten el cifrado. La interrupción aumentará los costos operativos para los delincuentes, haciendo que el RaaS sea de menor interés.

Por último, para cualquier procedimiento futuro (aprehensión sospechosa y legal) es importante mantener una cadena de custodia que vincule a las víctimas, las muestras y los afiliados. Los proveedores de seguridad como recolectores y propietarios de estos datos juegan un papel importante en la protección de esto para el futuro.

Descripción general Versiones y números de identificación

Usando una herramienta en línea de RAWGraphs, creamos una visualización gráfica de todo el conjunto de datos que muestra la relación entre las versiones y los números de identificación. A continuación se muestra una descripción general, se puede encontrar una descripción más detallada en el McAfee ATR Github.

FIGURA 4. DESCRIPCIÓN GENERAL DE LAS VERSIONES E ID DE GANDCRAB

Los afiliados con mejor desempeño se destacaron inmediatamente del resto ya que las líneas eran más gruesas y más extendidas. De acuerdo con nuestros datos, los números de identificación más activos fueron 15,41,99 y 170. Determinar los jugadores clave en una familia RaaS puede ayudar a las fuerzas del orden a priorizar sus valiosos recursos.

¿Dónde están las estrellas? Afiliados principales desaparecidos en 5.2

En ese momento no nos estábamos dando cuenta por completo, pero, mirando hacia atrás en la descripción general, destaca que ninguno de los principales afiliados / números de identificación estaban presentes en la versión final 5.2 de GandCrab, que se lanzó en febrero. Creemos que este fue un indicador temprano de que el final de GandCrab era inminente.

Este descubrimiento podría indicar que se había producido algún tipo de evento que resultó en la falta de presencia de los afiliados más activos. La causa podría haber sido interna o externa.

Pero lo que nos desconcierta es por qué se iría un afiliado de alto rendimiento. Tal vez nunca escucharemos la razón exacta. Quizás es bastante similar a por qué las personas dejan sus trabajos regulares … sintiéndose infelices, una disputa o irse por una mejor oferta.

Con la ausencia de los principales afiliados, la pregunta permanece; Dónde a dónde fueron estos afiliados?

FIGURA 5. ID Y NÚMERO DE SUB_ID VINCULADO A LA VERSIÓN 5.2

Tenga en cuenta que los números de identificación activos 15,41,99 y 170 del resumen completo no están presentes en ninguna infección de GandCrab versión 5.2. El afiliado más activo en la versión 5.2. fue nr 287.

Adiós GandCrab, Hola Sodinokibi / REvil

En nuestro primer episodio, describimos las similitudes técnicas que hemos visto entre GandCrab y REvil. No somos los únicos que notamos estas similitudes: el reportero de seguridad Brian Krebs publicó un artículo donde destaca las similitudes entre GandCrab y un nuevo ransomware llamado Sodinokibi o REvil, y ciertas publicaciones que se hicieron en varios foros subterráneos.

Afiliados que cambian las familias RaaS …

En dos foros subterráneos populares, un usuario llamado UNKN, alias desconocido, colocó un anuncio en el 4th de julio de 2019, para un ransomware privado como servicio (RaaS) que había estado ejecutando durante algún tiempo. A continuación se muestra una captura de pantalla de la publicación. Interesante es la respuesta de un usuario con el apodo Lalartu. En una respuesta al anuncio, Lalartu menciona que está trabajando con UNKN y su equipo, así como que habían sido afiliados de GandCrab, algo que notó Computadora Bleeping también. La publicación de Lalartu respalda nuestras observaciones anteriores de que algunos de los principales afiliados de GandCrab desaparecieron repentinamente y podrían haberse mudado a una familia RaaS diferente. Esto es algo que se sospechaba pero nunca se confirmó con evidencia técnica.

Sospechamos que Lalartu no es el único afiliado de GandCrab que se mudó a Sodinokibi. Si los principales afiliados tienen un método de infección sólido y muy rentable disponible, entonces no tiene sentido retirarse con los desarrolladores.

Alrededor de febrero de 2019, hubo un cambio notable en el comportamiento de algunas infecciones de GandCrab. Los proveedores de servicios gestionados (MSP) ahora se dirigieron a través de sistemas vulnerables y sus clientes se infectaron con GandCrab a gran escala, algo que no habíamos visto antes realizado por ninguno de los afiliados. Curiosamente, poco después del retiro de GandCrab, el modus operandi de MSP fue rápidamente adoptado por Sodinokibi, otra indicación de que un ex afiliado de GandCrab se había mudado a Sodinokibi.

Esto nos hace sospechar que Sodinokibi está reclutando activamente a los afiliados de mejor desempeño de otras familias exitosas de RaaS, creando una especie de equipo estelar.

Al mismo tiempo, el mercado RaaS es tal que los afiliados menos competentes pueden perfeccionar sus habilidades, mejorar sus capacidades de difusión y pasar a las familias RaaS más exitosas. Combinado con un clima en el que se están llevando a cabo relativamente pocos arrestos de ransomware, permite una carrera alarmante en la ciberdelincuencia con consecuencias nefastas.

Recopilación de "administración" de Sodinokibi / Revil Samples

Otra similitud que Sodinokibi comparte con GandCrab es la administración de infecciones, uno de los indicadores del potencial de crecimiento de RaaS. En nuestro blog anterior discutimos que Sodinokibi genera un archivo de configuración JSON para cada muestra que contiene ciertos valores, como un número PID y un valor etiquetado como sub. Entonces, decidimos usar nuestra metodología de afiliación de GandCrab en los archivos de configuración de Sodinokibi que pudimos recopilar.

Con GandCrab tuvimos que escribir nuestra propia herramienta para extraer los indicadores codificados pero, con Sodinokibi, tuvimos la suerte de que Negro carbón había desarrollado una herramienta que hizo gran parte del trabajo pesado por nosotros. Al final, todavía había algunas muestras de las que teníamos que extraer las configuraciones manualmente. El archivo JSON contiene diferentes valores y campos; Para una comparación con GandCrab, nos centramos en el campo PID y SUB de cada muestra, ya que estos valores parecían tener una característica similar al campo ID y SUB_ID en las muestras de GandCrab.

FIGURA 6. VALORES DE CONFIGURACIÓN REVIL JSON

Interpretando las estructuras de datos

Con los datos que reunimos, utilizamos la misma metodología de análisis en Sodinokibi que en GandCrab. Descubrimos que Sodinokibi tiene una estructura RaaS muy similar a GandCrab y con la estructura de relación padre-hijo siendo casi idéntica. A continuación, comparamos la actividad del afiliado GandCrab número 99 con la actividad del afiliado Sodinokibi número 19.

FIGURA 7. LA ACTIVIDAD DE LA IDENTIFICACIÓN DEL CANGREJO NO 99 (PADRE) Y SU SUB CORRESPONDIENTE (NIÑOS)

FIGURA 8. LA ACTIVIDAD DE SODINOKIBI PID NO 19 (PADRE) Y SU SUB CORRESPONDIENTE (NIÑOS)

Es necesario decir que el intervalo de tiempo para la descripción general de GandCrab se generó durante un largo período de tiempo con un total de muestras mayor que la descripción general de Sodinokibi.

Sin embargo, la similitud es bastante sorprendente.

La actividad de ambos números de identificación muestra una estructura en forma de árbol con el número de identificación principal en la raíz y se ramifica a los respectivos números SUB vinculados a múltiples muestras.

Creemos que la actividad anterior podría estar vinculada a un grupo de afiliados por niveles que se especializa en sistemas de fuerza bruta RDP e infección con Sodinokibi después de cada compromiso exitoso.

Ambas estructuras de la familia RaaS son demasiado grandes para publicar de manera efectiva en el espacio de este blog. Nuestra descripción completa de la estructura Sodinokibi RaaS se puede encontrar en nuestro McAfee GitHub.

Conclusión

Cuando comenzamos nuestro viaje con GandCrab, no esperábamos que nos llevaría tan lejos por la madriguera del conejo. El análisis de muestras masivas y la búsqueda de indicadores de administración proporcionaron una forma de obtener más información sobre una empresa criminal multimillonaria, determinar jugadores clave y prever eventos futuros a través de cambios en la estructura empresarial. Creemos que el retiro de GandCrab no fue una decisión de la noche a la mañana y, según los datos de los afiliados, estaba claro que algo iba a suceder.

Con la aparición de Sodinokibi y las pocas publicaciones en el foro por parte de un antiguo afiliado de GandCrab, todo encajó. Tenemos fuertes indicios de que algunos de los principales afiliados han encontrado un nuevo hogar con Sodinokibi para promover sus negocios criminales.

Dado que los ingresos de la red RaaS dependen en gran medida del rendimiento de sus principales afiliados, y se administra como un negocio normal, nosotros (la industria de la seguridad) no solo deberíamos investigar los productos que desarrollan los delincuentes, sino también identificar posibles formas de interrumpir con éxito el negocio criminal.

En nuestro próximo episodio, profundizaremos en las corrientes financieras involucradas en el programa de afiliados y proporcionaremos una estimación de cuánto dinero están ganando estos actores con el modelo comercial de ransomware como servicio.





Enlace a la noticia original