Buran Ransomware. La evolución de VegaLocker

El Equipo de Investigación de Amenazas Avanzadas de McAfee observó cómo apareció una nueva familia de ransomware llamada ‘Buran’ en mayo de 2019.

Buran funciona como un modelo RaaS como otras familias de ransomware como REVil, GandCrab (ahora extinto), Phobos, etc. El autor toma El 25% de los ingresos obtenidos por los afiliados, en lugar del 30% – 40%, números de familias notorias de malware como GandCrab, y están dispuestos a negociar esa tasa con cualquiera que pueda garantizar un nivel impresionante de infección con Buran. Anunciaron en sus anuncios que todos los afiliados tendrán un acuerdo personal con ellos.

Para este análisis que presentamos, nos centraremos en uno de los hash de Buran:

Destacaremos las observaciones más importantes al investigar el malware y compartiremos las reglas de protección para el punto final, los COI y una regla YARA para detectar este malware.

Publicidad Buran Ransomware

Este ransomware se anunció en un conocido foro ruso con el siguiente mensaje:

Buran es un criptoclocker estable fuera de línea, con funcionalidad flexible y soporte 24/7.Funcional:

Algoritmo criptográfico confiable que utiliza claves globales y de sesión + claves de archivo al azar;
Escanee todas las unidades locales y todas las rutas de red disponibles;
Alta velocidad: una secuencia separada funciona para cada disco y ruta de red;
Omitir directorios del sistema de Windows y directorios del navegador;
Generación de descifrador basada en un archivo cifrado;
Corrija el trabajo en todos los sistemas operativos desde Windows XP, Server 2003 hasta la última versión;
El casillero no tiene dependencias, no usa bibliotecas de terceros, solo matemáticas y vinapi;

La finalización de algunos procesos para liberar archivos abiertos (opcional, negociado);
La capacidad de cifrar archivos sin cambiar las extensiones (opcional);
Eliminar puntos de recuperación + limpiar registros en un servidor dedicado (opcional);
Opciones estándar: tapping, inicio, auto-eliminación (opcional);
Protección instalada contra el lanzamiento en el segmento CIS.

Condiciones:

Se negocian individualmente para cada anuncio según los volúmenes y el material.

¡Comienza a ganar con nosotros!

El anuncio dice que Buran es compatible con todas las versiones del sistema operativo Windows (pero durante nuestro análisis descubrimos cómo, en sistemas antiguos como Windows XP, la versión analizada no funcionaba) y Windows Server y, además, que no infectarían región dentro del segmento CIS. Nota: El segmento de la CEI pertenece a diez antiguas repúblicas soviéticas: Armenia, Bielorrusia, Kazajstán, Kirguistán, Moldavia, Rusia, Tayikistán, Turkmenistán, Ucrania y Uzbekistán.

Rig Exploit Kit como un vector de entrada

En base a la investigación que realizamos, así como a la investigación realizada por «nao_sec» destacada en junio de 2019, descubrimos cómo se entregó el ransomware Buran a través del kit Rit Exploit. Es importante tener en cuenta cómo Rig Exploit Kit es el EK preferido utilizado para entregar las últimas campañas de ransomware.

El Rig Exploit Kit estaba usando CVE-2018-8174 (Microsoft Internet Explorer VBScript Engine, Arbitrary Code Execution) para explotar en el lado del cliente. Después de una explotación exitosa, esta vulnerabilidad entregará el ransomware Buran en el sistema.

Análisis estático

El empaquetador principal y el malware se escribieron en Delphi para complicar el análisis de la muestra. La muestra de malware es un binario de 32 bits.

FIGURA 2. INFORMACIÓN ESTÁTICA DE BURÁN

En nuestro análisis detectamos dos versiones diferentes de Buran, la segunda con mejoras en comparación con la primera lanzada.

FIGURA 3. INFORMACIÓN ESTÁTICA DE BURÁN

El objetivo del empaquetador es descifrar el malware haciendo una técnica RunPE para ejecutarlo desde la memoria. Para obtener una versión más limpia de la muestra, procedemos a volcar el malware de la memoria, obteniendo una versión desempaquetada.

Protección del país

La comprobación de las configuraciones regionales se ha vuelto bastante popular en el ransomware RaaS ya que los autores quieren asegurarse de que no cifran datos en ciertos países. Normalmente esperaríamos ver más países antiguos de la CEI pero, en este caso, solo tres están verificados.

FIGURA 4. CÓMO LLEGAR AL PAÍS DEL SISTEMA DE VÍCTIMAS

Esta función obtiene el país del sistema y lo compara con 3 resultados posibles:

  • 0x7 -> FEDERACIÓN DE RUSIA
  • 0x177 -> BIELORRUSIA
  • 0x17C -> UCRANIA

Es importante tener en cuenta aquí que la publicidad del malware en los foros dice que no afecta a los países de la CEI pero, dado que hay 10 naciones en la región, eso obviamente no es del todo exacto.

Si se determina que el sistema se encuentra en la Federación de Rusia, Bielorrusia o Ucrania, el malware terminará con un «Proceso de salida».

La siguiente acción es calcular un hash basado en su propia ruta y nombre en la máquina. Con el valor hash de 32 bits, formará un concat con la extensión «.buran». Inmediatamente después, creará este archivo en la carpeta temporal de la máquina víctima. Es importante destacar que si el malware no puede crear o escribir el archivo en la carpeta TEMP, finalizará la ejecución; la verificación se realizará extrayendo la fecha del archivo.

FIGURA 5. COMPROBACIONES DE BURÁN EN LA CARPETA TEMP

Si el archivo existe después de la verificación realizada por el malware, el archivo temporal se borrará a través de la API «DeleteFileW».

FIGURA 6. COMPRUEBE SI SE PUEDE CREAR UN ARCHIVO TEMP

Esta función se puede usar como un interruptor de apagado para evitar la infección por Buran.

Buran ransomware podría aceptar argumentos especiales en ejecución. Si se ejecuta sin ningún argumento especial, creará una copia de Buran con el nombre «ctfmon.exe» en la carpeta APPDATA de Microsoft y lo iniciará usando ShellExecute, con el verbo como «correr como«. Este verbo no está en el SDK oficial de Microsoft pero, si seguimos la documentación de MSDN para saber cómo funciona, podemos deducir que el programa ignorará su propio manifiesto y solicitará el UAC al usuario si la protección está habilitada.

Este comportamiento podría cambiar dependiendo de las opciones de compilación elegidas por los autores y entregadas a los afiliados.

Según la documentación, la función «CreateProcess» verifica el manifiesto, sin embargo, en Buran, esto se evita debido a esa función:

FIGURA 7. LANZAMIENTO DE LA NUEVA INSTANCIA DE SÍ MISMO

Buran en ejecución creará una clave de registro en la sección Subclave Ejecutar que apunta a la nueva instancia del ransomware con un sufijo ‘‘*’. El significado de este valor es que Buran también se ejecutará en modo seguro:

FIGURA 8. PERSISTENCIA EN LA SUBKEY DE EJECUCIÓN EN EL REGISTRO

La operación de escritura en el registro se realiza utilizando el «reg«, Que utiliza una línea y concatena diferentes opciones con el símbolo» & «. Este método a través de «reg.exe» evita un punto de interrupción en el binario principal.

FIGURA 9. ESCRIBIR LA PERSISTENCIA EN EL REGISTRO

Buran implementa esta técnica con el objetivo de hacer que el análisis de la muestra sea complicado para los analistas de malware que buscan perfiles de ingeniería inversa. Después de estas operaciones, la instancia anterior del ransomware morirá usando el «Proceso de salida».

El análisis del código de Delphi muestra que el 2Dakota del Norte La versión de Buran identificará a la víctima utilizando valores aleatorios.

FIGURA 10. GENERAR VALORES ALEATORIOS

Después de eso, descifrará una subclave de registro llamada «Software Buran Knock» en la sección HKEY_CURRENT_USER. Para la clave mencionada, verificará los datos reales de la misma y, si la clave no existe, le agregará el valor 0x29A (666). Curiosamente, descubrimos que GandCrab usó el mismo valor para generar la identificación de rescate de la víctima. Si el valor y la subclave existen, el malware continuará en el flujo normal; de lo contrario, descifrará una URL, «iplogger.ru», y establecerá una conexión con este dominio utilizando un agente de usuario especial:

FIGURA 11. AGENTE DEL AGENTE ESPECIAL BURAN

Como se mencionó, el referente será el identificador de la víctima infectada con Buran.

El resultado de esta operación es la escritura de la subclave previamente verificada con el valor 0x29A, para evitar repetir la misma operación.

Después de esta acción, el malware enumerará todos los recursos compartidos de red con las funciones:

  • WNetOpenEnumA,
  • WNetEnumResourceA
  • WNetCloseEnum

Esta llamada se realiza de forma recursiva, para obtener y guardar todas las redes compartidas descubiertas en una lista. Este proceso es necesario si Buran quiere cifrar todos los recursos compartidos de la red como una adición a las unidades lógicas. Buran evitará enumerar unidades ópticas y otros volúmenes no montados. El resultado de esas operaciones se guardará para que Buran lo use más adelante en el proceso de cifrado.

La nota de rescate está encriptada dentro del binario y será arrojada en ejecución a la máquina de la víctima. Dentro de esta nota de rescate, el usuario encontrará su identificador de víctima extraído con la función aleatoria Delphi mencionada anteriormente. Esta identificación es necesaria para rastrear a sus usuarios infectados a los afiliados para entregar el descifrador después de que se realiza el pago.

En el análisis de Buran, encontramos cómo este ransomware pone en la lista negra ciertos archivos y carpetas. Esto suele ser un mecanismo para garantizar que el ransomware no rompa su funcionalidad o rendimiento.

Carpetas en la lista negra en Buran:

Archivos en la lista negra en Buran:

El proceso de cifrado comenzará con carpetas especiales en el sistema, como la carpeta Escritorio. Buran puede usar hilos para encriptar archivos y durante el proceso encriptará las letras de unidad y las carpetas capturadas antes en el proceso de reconocimiento.

La nota de rescate se escribirá en el disco con el nombre «!!! ¡TUS ARCHIVOS ESTÁN ENCRIPTADOS! ”Con el siguiente contenido:

FIGURA 12. UNA NOTA DE RANGO DE EJEMPLO

Cada archivo cifrado se renombra con el mismo nombre que antes pero con la nueva extensión de los valores aleatorios también.

Por ejemplo: «rsa.bin.4C516831-800A-6ED2-260F-2EAEDC4A8C45».

Todos los archivos cifrados por Buran contendrán un marcador de archivo específico:

FIGURA 13. ARCHIVO CRIPTADO

En términos de rendimiento de cifrado, encontramos que Buran es más lento en comparación con otras familias RaaS. Según el anuncio de los autores en los foros clandestinos, continuamente mejoran su software ransomware.

Buran Versión 1 vs Buran Versión 2

En nuestra investigación identificamos dos versiones diferentes de Buran. Las principales diferencias entre ellos son:

Proceso de eliminación de instantáneas:

En el 2Dakota del Norte versión de Buran una de las principales cosas agregadas es la eliminación de las instantáneas utilizando WMI.

Copia de seguridad del catálogo de eliminación:

Otra característica agregada en la nueva versión es la eliminación del catálogo de respaldo. Es posible usar el Asistente de recuperación de catálogo para recuperar un catálogo de respaldo local.

Eliminación de copia de seguridad del estado del sistema:

En la misma línea de destrucción del sistema, observamos cómo Buran elimina en ejecución la copia de seguridad del estado del sistema en el sistema:

Ping utilizado como método de sueño:

Como una mala técnica antievasión, Buran utilizará el ping a través de un «bucle for» para garantizar el sistema de eliminación de archivos.

La nota de rescate cambió entre versiones:

VegaLocker, Jumper y ahora Buran Ransomware

A pesar del marcador de archivo utilizado, en función del comportamiento, TTP y artefactos en el sistema, pudimos identificar que Buran es una evolución del ransomware Jumper. VegaLocker es el origen de esta familia de malware.

Los autores de malware desarrollan su código de malware para mejorarlo y hacerlo más profesional. Intentar ser sigiloso para confundir a los investigadores de seguridad y las compañías de AV podría ser una razón para cambiar su nombre entre revisiones.

Esta es la línea de tiempo de esta familia de malware:

Similitudes en el comportamiento:

Archivos almacenados en la carpeta temporal:

VegaLocker:

Saltador:

Buran:

Cambios de registro:

VegaLocker:

Buran:

Extensión superpuesta:

En una de las variantes (Jumper) es posible detectar algunas muestras usando ambas extensiones:

Instantáneas, catálogo de respaldo y sistema de sistema:

En las muestras analizadas vimos cómo VegaLocker usó los mismos métodos para eliminar las instantáneas, el catálogo de copias de seguridad y el sistema de seguridad.

Cobertura

  • RDN / rescate
  • Ransomware-GOS! E60E767E33AC
  • Rescate
  • RDN / rescate
  • RDN / Generic.cf
  • Rescate-Buran!

Regla de experto:

Indicadores de compromiso

INGLETE

La muestra utiliza las siguientes técnicas MITER ATT & CK ™:

  • Deshabilitar herramientas de seguridad
  • Recolección de correo electrónico
  • Descubrimiento de archivos y directorios
  • Eliminación de archivos
  • Enganche
  • Kernel Módulos y Extensiones
  • Disfraces
  • Modificar registro
  • Escaneo de servicios de red
  • Descubrimiento de dispositivos periféricos
  • Inyección de proceso
  • Registro de consultas
  • Claves de ejecución del registro / Carpeta de inicio
  • Protocolo de escritorio remoto
  • Descubrimiento remoto del sistema
  • Servicio de ejecución
  • Descubrimiento de hora del sistema
  • Instrumentación de Administración Windows

Regla de YARA

Creamos una regla YARA para detectar muestras de ransomware Buran y la regla está disponible en nuestro repositorio de GitHub

Conclusión

Buran representa la evolución de un jugador conocido en el panorama del ransomware. VegaLocker tenía un historial de infecciones en empresas y usuarios finales y los desarrolladores de malware que lo respaldan todavía están trabajando en nuevas características, así como en nuevas marcas, ya que continúan generando ganancias con esas acciones. Observamos nuevas versiones de Buran con solo unos meses entre ellas en términos de desarrollo, por lo que esperamos más variantes de los autores en el futuro y, tal vez, más cambios de marca si la industria de la seguridad se enfoca demasiado en ellos. Estamos observando un aumento en las familias de ransomware en 2019, así como en los jugadores antiguos en el mercado que lanzan nuevas versiones basadas en sus propias creaciones.

Para los binarios, todos aparecieron con un empaquetador personalizado y ya venían con características interesantes para evitar la detección o para garantizar que el usuario debe pagar debido a la dificultad de recuperar los archivos. Imita algunas características de los grandes jugadores y esperamos la inclusión de más características en futuros desarrollos.

Buran es más lento que otras familias de ransomware que observamos, y las muestras están codificadas en Delphi, lo que dificulta la ingeniería inversa.