
Una nueva variante de malware tipo ransomware cifra archivos y les añade la extensión ".SaveTheQueen", propagándose a través de la carpeta de red del sistema SYSVOL en los controladores de dominio de Active Directory.
Nuestros clientes se encontraron con este malware recientemente. A continuación presentamos nuestro análisis completo, sus resultados y conclusiones.
Detección
Uno de nuestros clientes se puso en contacto con nosotros después de que se encontraran con un nuevo tipo de ransomware que añadía la extensión ".SaveTheQueen" a los nuevos archivos cifrados en su entorno.
Durante nuestra investigación, en la fase de búsqueda de las fuentes de infección, descubrimos que la propagación y el rastreo de las víctimas infectadas se realizaba mediante la carpeta de red SYSVOL en el controlador de dominio del cliente.
SYSVOL es una carpeta clave para cada controlador de dominio, utilizada para entregar objetos de políticas de grupo (GPO) y scripts de inicio y cierre de sesión a las computadoras del dominio. El contenido de esta carpeta se replica entre los controladores de dominio para sincronizar estos datos en los sitios de la organización. Escribir en SYSVOL requiere altos privilegios de dominio, sin embargo, una vez comprometido, este activo se convierte en una poderosa herramienta para los atacantes, que pueden utilizarlo para propagar rápidamente y de manera efectiva la carga maliciosa a través del dominio.
La cadena de auditoría de Varonis ayudó a identificar rápidamente lo siguiente:
- Una cuenta de usuario infectada creó un archivo llamado «hourly» en SYSVOL
- Se crearon muchos archivos de registro en SYSVOL, cada uno denominado con el nombre del dispositivo de dominio
- Varios diferentes IPs accedieron al archivo «hourly»
Concluimos que los archivos de registro se usaron para rastrear el proceso de infección en nuevos dispositivos, y que «hourly» es una tarea programada que ejecutaba la carga maliciosa en nuevos dispositivos utilizando un script de Powershell – muestras «v3» y «v4».
Probablemente, el atacante obtuvo y utilizó privilegios de administrador de dominio para escribir archivos en SYSVOL. En los nodos infectados, el atacante ejecutaba código PowerShell que creaba una tarea programada para abrir, descifrar y ejecutar el malware.
Descifrado del malware
Probamos varios métodos de descifrado de las muestras sin éxito:

Estábamos a punto de rendirnos cuando decidimos probar el método «Magic» de la maravillosa
utilidad creada por GCHQ. «Magic» intenta adivinar el cifrado del archivo utilizando un ataque de fuerza bruta para diferentes tipos de cifrado y midiendo la entropía.
Nota del traductor Véase. y . Este artículo y los comentarios no tienen la intención de discutir por parte de los autores los detalles de los métodos utilizados tanto en software de terceros como en software propietario.

«Magic» determinó que se utilizó el empaquetador GZip con codificación base64, lo que nos permitió descomprimir el archivo y descubrir el código de inyección: «inceptor».

Dropper: «¡Hay una epidemia en la zona! Vacunaciones masivas. Peste bovina»
El dropper era un archivo .NET común sin ninguna protección. Después de leer el código fuente con , nos dimos cuenta de que su único objetivo era inyectar código shell en el proceso winlogon.exe.


Código shell o simples complejidades
Utilizamos la herramienta de creación Hexacorn — para «compilar» el código shell en un archivo ejecutable para depuración y análisis. Luego descubrimos que funcionaba en máquinas de 32 y 64 bits.

Escribir incluso un código shell simple en traducción nativa desde ensamblador puede ser complicado; sin embargo, escribir un código shell completo que funcione en ambos tipos de sistemas requiere habilidades de élite, lo que nos llevó a maravillarnos de la sofisticación del atacante.
Cuando descompusimos el código shell compilado con , notamos que cargaba bibliotecas dinámicas .NET , como clr.dll y mscoreei.dll. Nos pareció extraño, ya que normalmente los atacantes intentan que el código shell sea lo más pequeño posible, llamando a funciones nativas del sistema operativo en lugar de cargarlas. ¿Por qué alguien querría integrar funcionalidad de Windows en el código shell, en lugar de realizar una llamada directa según se requiera?
Como resultó, el autor del malware en realidad no escribió este complejo código shell; se utilizó software característico de esta tarea con el fin de convertir archivos ejecutables y scripts en código shell.
Encontramos la herramienta , que, en nuestra opinión, podría compilar un código shell similar. Aquí está su descripción de GitHub:
Donut genera código de shell x86 o x64 a partir de VBScript, JScript, EXE, DLL (incluyendo ensamblajes de .NET). Este código de shell puede ser inyectado en cualquier proceso de Windows para ejecutarse en
memoria RAM.
Para confirmar nuestra teoría, compilamos nuestro propio código utilizando Donut y lo comparamos con una muestra; y... sí, encontramos otro componente del conjunto de herramientas utilizado. Después de esto, pudimos extraer y analizar el archivo ejecutable original en .NET.
Protección de código
Este archivo fue ofuscado mediante :


ConfuserEx es un proyecto de código abierto de .NET para proteger el código de otros desarrolladores. Este tipo de software permite a los desarrolladores proteger su código contra la ingeniería inversa mediante métodos como: sustitución de caracteres, enmascaramiento del flujo de control y ocultación de métodos referenciales. Los autores de malware utilizan ofuscedores con el fin de evitar su detección y hacer más difícil la tarea de ingeniería inversa.
Gracias a hemos descompuesto el código:

Resultado – carga útil
La carga útil resultante de las transformaciones es un virus de rescate muy simple. No hay un mecanismo para asegurar la presencia en el sistema, ni conexiones con un centro de comando; solo un viejo y buen cifrado asimétrico para hacer que los datos de la víctima sean ilegibles.
La función principal selecciona como parámetros las siguientes cadenas:
- Extensión de archivo a utilizar después del cifrado (SaveTheQueen)
- Email del autor, para incluir en el archivo de nota de rescate
- Clave pública utilizada para cifrar archivos

El proceso es el siguiente:
- El malware examina los discos locales y conectados en el dispositivo de la víctima

- Busca archivos para cifrar

- Intenta finalizar el proceso que está utilizando el archivo que está a punto de cifrar
- Renombra el archivo a «Nombre_original_del_archivo.SaveTheQueenING», utilizando la función MoveFile, y lo cifra
- Después de que el archivo es cifrado con la clave pública del autor, el malware lo renombra nuevamente, ahora a "Nombre_original_del_archivo.SaveTheQueen"
- Se crea un archivo con la nota de rescate en la misma carpeta

Basado en el uso de la función nativa «CreateDecryptor», una de las funciones del malware parece contener como parámetro un mecanismo de descifrado que requiere la clave privada.
Ransomware NO encripta archivos, almacenados en directorios:
C:windows
C:Program Files
C:Program Files (x86)
C:Users\AppData
C:inetpub
También NO encripta los siguientes tipos de archivos:EXE, DLL, MSI, ISO, SYS, CAB.
Resultados y conclusiones
A pesar de que el propio ransomware no contenía ninguna función inusual, el atacante utilizó creativamente Active Directory para propagar el dropper, y el propio malware nos presentó obstáculos interesantes, aunque finalmente no complejos, durante el análisis.
Creemos que el autor del malware:
- Escribió el ransomware con una inyección incorporada en el proceso winlogon.exe, así como
funcionalidad de encriptación y desencriptación de archivos - Enmascaró el código malicioso utilizando ConfuserEx, transformó el resultado con Donut y además ocultó el dropper en base64 Gzip
- Obtuvo privilegios elevados en el dominio de la víctima y los utilizó para copiar
el ransomware cifrado y tareas programadas en la carpeta de red SYSVOL de los controladores de dominio - Ejecutó un script de PowerShell en los dispositivos del dominio para propagar el malware y registrar el progreso del ataque en los registros en SYSVOL

Si tiene preguntas sobre esta variante de ransomware, o cualquier otro trabajo realizado por nuestros equipos de forense e investigación de incidentes de seguridad de la información, o solicite , donde siempre respondemos preguntas en una sesión de preguntas y respuestas.
Fuente: habr.com



