El Ransomware LockBit Toma Ejemplo De REvil Y Maze Para Mantenerse Actualizado

Recientemente se ha descubierto que el ransomware Lockibit está incorporando nuevas funcionalidades. Siguiendo el ejemplo de REvil y Maze, Lockbit está amenazando a sus víctimas con la publicación de los datos en el caso de que no se llegue a efectuar el pago, además de incorporar una nueva técnica de escalada de privilegios.

Atendiendo a la evolución que está teniendo el ransomware se espera que otras familias incorporen esta nueva técnica para eludir el control de cuentas de usuarios de Windows. Hasta ahora se han visto numerosas familias que eran copias de otras ya existentes, según explican en Sophos, «se ha vuelto increíblemente fácil copiar y desplegar ransomware haciendo unas pequeñas modificaciones».

La curva de aprendizaje del ransomware

Muchas familias de ransomware parecen seguir el mismo esquema a la hora del desarrollo e incorporación de nuevas funcionalidades, esto parece provenir de la curva de aprendizaje en la creación de ransomware.

Cada ransomware parece tener una primera fase o «infancia». Aquí se pone en marcha un mínimo producto viable para poder sacarlo y empezar a ganar reputación. En esta fase las cadenas suelen ser texto sin formato, el cifrado se implementa usando un solo subproceso y en algunos casos también se realizan comprobaciones de LanguageID para evitar el cifrado de archivos en equipos de la CEI (Comunidad de Estados Independientes).

Aproximadamente a los dos meses de haber desplegado la primera versión los desarrolladores empiezan a implementar mejoras en el código, por ejemplo la inclusión de varios subprocesos, ofuscación de cadenas y alguna lista para matar procesos en el sistema. Además no es de extrañar que los desarrolladores publiciten su producto en determinados foros dedicados al desarrollo de malware.

A los cuatro meses de vida el ransomware ha podido evolucionar hasta convertirse en RaaS, cambiando el modelo de negocio para los ciberdelincuentes e incorporando un programa de «afiliados». Ahora es común encontrar que los archivos han sido cifrados criptográficamente mediante certificados válidos y robados. En esta fase los desarrolladores suelen incorporar algún tipo de sistema para «bypassear» el UAC (User Account Control). Es en esta fase donde parece encontrarse LockBit.

Consiguiendo clientes

En enero los desarrolladores de LockBit crearon un nuevo hilo en un foro dedicado a la venta y soporte de este tipo de malware para anunciar el programa de afiliados para Cryptolocker LockBit, donde daban más detalles sobre las capacidades de su malware. Además destacan que no trabajan en la CEI, por lo que no se verá afectados los equipos Rusos o pertenecientes a la Comunidad de Estados Independientes. Esto no es ninguna novedad y es debido a que las fuerzas de seguridad de la CEI no se molestan en investigar a los grupos que operen fuera de su jurisdicción.

La extorsión

La versión más reciente de LockBit nos muestra una nota de rescate que amenaza con filtrar los datos que el malware ha robado y cifrado en nuestro equipo.

Si la amenaza se llevase a cabo esto podría ocasionar graves problemas para las víctimas del ransomware, puesto que se estarían violando las reglas generales de protección de datos (RGPD) de la UE, que hacen que las empresas sean las responsables de la protección de los datos sensibles de sus clientes.

Cada vez es más común encontrar este tipo de características en el malware dedicado al secuestro de datos. Es una técnica especialmente efectiva para forzar el pago dado que no solo nos bastaría con restaurar una copia de seguridad para solucionar el problema con el cifrado de nuestros archivos, estamos expuestos a la voluntad del atacante. Esta forma de extorsión se ha convertido en la «firma» del ransomware REvil y Maza, incluso el grupo Maze ha publicado en ocasiones alguno de los archivos robados para forzar el pago de aquellos que sobrepasan la fecha límite.

El código de LockBit

Según investigadores de Sophos el código fue escrito principalmente en C++, con algunos módulos extra hechos en ensamblador. Por ejemplo, algunas técnicas anti-debugging emplean la llamada a la función fs:30h para verificar manualmente el PEB (Bloque de entorno de proceso) para el indicador BeingDebugged , en lugar de usar IsDebuggerPresent () .

Lo primero que hace el ransomware tras su ejecución es verificar si la muestra se ejecutó con algún parámetro agregado desde la línea de comandos. Esto se hace para verificar si se está ejecutando en una VM. Las muestras de malware que estamos viendo actualmente requieren de parámetros específicos para su ejecución y así evitar ser analizados mediante algún sandbox automatizado, que a menudo ejecuta muestras sin parámetros. En este ejemplo, la muestra analizada por Sophos no se ejecutará si se ingresa algún parámetro desde la línea de comandos. Si no hay argumentos a la hora de su ejecución Lockbit oculta la salida de la consola, donde el malware imprime mensajes de depuración y procede a hacer su trabajo.

El verificador de parámetros de la línea de comandos en LockBit detiene el ransomware si se pasa algún parámetro

Esto podría tener la intención de detectar algún tipo de espacio aislado, pero es posible que el autor del malware haya cometido un error en la implementación de la verificación o que este comportamiento sea solo un marcador de posición para incluir una lógica diferente en futuras versiones.

Ofuscación de Strings

El binario hace uso del conjunto de instrucciones SSE de Intel y de las características específicas de su arquitectura para aumentar su rendimiento. Esto incluye el uso de múltiples registros XMM utilizados para almacenar y descifrar los nombres de servicio, nombres de procesos y otras cadenas utilizadas para interactuar con el sistema operativo que son exclusivas del ransomware.

Registros de Xmmword. Almacenan cadenas de LockBit cifradas

Estas claves se descifran en tiempo de ejecución con una clave XOR de 1 byte que es única para cada cadena. El primer byte hexadecimal de cada variable.

Comprobando los permisos

LockBit necesita verificar que tiene permisos de administrador para poder causar el mayor daño posible. Si no los tiene ejecuta una técnica que está creciendo en popularidad entre los desarrolladores de malware: un bypass de Control de cuentas de usuario de Windows (UAC).

Aprovechando OpenProcessToken , consulta el proceso actual a través de una máscara de acceso TOKEN_QUERY. Después de eso, llama a CreateWellKnownSid para crear un identificador de seguridad de usuario (SID) que coincida con el grupo de administradores (WinBuiltinAdministratorsSid ), por lo que ahora el malware tiene una referencia que puede usar para las comparaciones. Finalmente, verifica si los privilegios actuales del proceso son suficientes para los derechos del Administrador, con una llamada a CheckTokenMembership.