Análisis al Ransomware LockBit 3.0 - Malware

Resumen

La muestra de malware analizada a continuación corresponde a LockBit 3.0, el cual es operado por el grupo de ransomware LockBit, también conocido como Bitwise Spider. Se ha observado que reutiliza código de otras cepas de ransomware como DarkSide y BlackMatter.

LockBit 3.0, se vio por primera vez en junio de 2022 y es más modular y evasivo que sus predecesores. Desde su aparición, LockBit 3.0 se ha convertido en una de las amenazas de ransomware más notorias en todo el mundo.

Este tipo de amenaza opera bajo el modelo de ransomware como servicio (RaaS) . Lo que significa que grupo de hackers desarrollan el malware y se pone a disposición de afiliados en sitios de la Dark web que se encargan de la distribución de la amenaza a cambio de un porcentaje de las ganancias que obtienen de los pagos que realizan las víctimas para recuperar sus archivos.

LockBit3.0 no sólo mantiene las operaciones como un RaaS (Ransomware como servicio), sino que también está en constante mejoramiento de sus técnicas y capacidades, principalmente en actividades e antianálisis.

Además, por primera vez en el mundo del ransomware, LockBit lanzó un programa de recompensas por errores con recompensas que van desde mil hasta un millón de dólares. Confiado en su privacidad, el administrador de afiliados, conocido como LockBitSupp, ofrece un millón de dólares a quien pueda revelar su verdadera identidad.

Resumen ejecutivo

El presente documento recoge el análisis de la muestra de código dañino identificada por la firma MD5 38745539b71cf201bb502437f891d799, recopilando las capacidades de las muestras analizadas del malware LockBit 3.0, describiendo detalladamente la cadena de ejecución de las muestras.

El objetivo de este análisis es el facilitar la información necesaria para poder identificar las características propias de esta amenaza, su comportamiento y técnicas empleadas, permitiendo así una mejor identificación y respuesta ante ella por parte de los equipos de monitorización de seguridad, de gestión de incidentes y de analistas forenses.

Además, se aportan los diferentes indicadores de compromiso (IoC) y las tácticas, técnicas y procedimientos (TTP) para esta amenaza ransomware.

Detalles Generales

La muestra analizada en este apartado es un ejecutable con los siguientes hashes:

Tipo Identificación    
MD5 38745539b71cf201bb502437f891d799    
SHA1 f2a72bee623659d3ba16b365024020868246d901    
SHA256 80e8defa5377018b093b5b90de0f2957f7062144c83a09a56bba1fe4eda932ce    

Características de la muestra

La muestra examinada posee las siguientes características:

  • Es compatible con sistemas Windows de 32 y 64 bits.
  • Cifra los ficheros de las unidades de disco duro.
  • Requiere una contraseña para descomprimir la sección de texto original.
  • Utiliza una contraseña para descifrarse, específicamente una contraseña RC4 KSA.
  • No requiere de conexión a internet para funcionar.
  • Escribe el mensaje de rescate en el registro.
  • Se autodestruye al finalizar
  • Se propaga principalmente por correo electrónico de phishing y realizando ataques de fuerza bruta sobre con el protocolo RDP expuestos en internet y explotación de vulnerabilidades.
  • Utiliza una combinación de algoritmos de cifrado RSA-2048 y AES-256 para cifrar los archivos de la víctima.
  • Agrega la extensión “.HLJkNskOq” en los archivos cifrados.
  • Cambia los iconos de los archivos por un archivo .ico.
  • Se ejecuta con permisos LocalServiceNetworkRestricted, por lo que no necesita acceso completo a nivel de administrador para causar daños.
  • Similitudes con el ransomware BlackMatter

Análisis estático básico

Inicialmente trabajamos con Detect It Easy cargando la muestra. Nos arroja que corresponde a un (Portable Executable 32), es decir funciona en sistemas Windows de 32 y también debería funcionar en sistemas de 64 Bits, fue compilado el 27 de junio de 2022 y con un compilador desconocido.

Se observamos múltiples secciones empaquetadas con un alto grado de entropia, esto significa que el ejecutable está comprimido y se descomprime en tiempo de ejecución.

Con CFF Explorer, confirmamos que el archivo es, un (Portable Executable 32), tamaño de la muestra 16588 bytes, adicionalmente fecha de última modificación 04 de julio de 2022.

Observamos algunas de las librerías que importa la muestra, en total 3 aunque la mayoría de las llamadas a funciones API se resuelven dinámicamente.

  • gdi32.dll: Contiene las funciones para Windows GDI (interfaz de dispositivo gráfico) que asiste a ventanas en crear objetos de 2 dimensiones simples.
  • USER32.dll: Implementa la biblioteca de clientes de API de usuario de Windows.
  • KERNEL32.dll: Utilizada para llamar funciones del sistema para operaciones de crear, modificar, eliminar, gestión de memoria, detener procesos, entre otras.

La biblioteca gdi32.dll hace uso de 5 funciones del sistema, por ejemplo, SelectObject la cual es una función que selecciona un objeto para un contexto de dispositivo especificado.

  • TextOutW
  • SetTextColor
  • SetPixel
  • SelectObject
  • GetTextMetricsW

La biblioteca USER32.dll hace uso de 10 funciones del sistema, ejemplo la función GetKeyNameTextW la cual recupera una cadena que representa el nombre de una tecla.

  • EndDialog
  • GetDlgltem
  • GetDlgltemTextW
  • GetKeyNameTextW
  • GetMessageW
  • LoadMenuW
  • DialogBoxParamW
  • CreateWidnowExW
  • CreateDialogParamW
  • GetClassNameW

La biblioteca KERNEL32.dll hace uso de 9 funciones del sistema, como la función GetCommanLineA la cual recupera la cadena de la línea de comandos para el proceso actual.

  • GetDateFormatW
  • LoadLibraryExA
  • GetProcAddress
  • GetModuleHandleW
  • GetLocaleInfoW
  • GetCommanLineA
  • FormatMessageW
  • GetLastError

Desde la herramienta IDE y podemos observar que la muestra analizada se puede dividir en cuatro fases distintas.

La primera llamada a la función sub_41B000, la cual se encarga del descifrado del ejecutable utilizando la clave proporcionada por los parámetros de ejecución.

Luego, en la segunda etapa, la función loc_408254 consiste en la reconstrucción de su tabla de direcciones de importación (IAT) personalizada para llamar a funciones API para configurar y preparar el entorno para una ejecución exitosa.

La tercera etapa, la función sub_40B804 consiste en la elevación de privilegios.

Finalmente, la cuarta etapa, es la fase principal del malware y consiste en iniciar la mayoría de las funciones como subprocesos secundarios.

Análisis dinámico básico

Iniciamos el análisis dinámico con la ejecución de la herramienta Regshost, generamos una primera captura del estado del registro del sistema, luego ejecutamos la muestra y finalmente generamos un segundo estado del registro para comparar que modificaciones pudo realizar la muestra en su ejecución.

Se obtienen más de 1.1 millones de cambios en el sistema, algunos propios del sistema y otros a causa de la infección del malware.

Para la ejecución de la muestra, se debe pasar como parámetros la contraseña por línea de comando que descomprime el ejecutable, esto permite que el ransomware resuelva sus funciones API dinámicamente.

  • MUESTRA.exe -pass db66023ab2abcb9957fb01ed50cdfa6a

Creación de Mutex

Uno de los procesos iniciales que ejecuta LockBit 3.0, es la creación de un mutex para garantizar la ejecución de una sola instancia en el equipo infectado en un momento dado.

  • Global<hash MD4 del GUID de la máquina>

Creación de múltiples subprocesos

Ahora el ransomware realiza la creación de múltiples subprocesos utilizando la API CreateThread() para realizar varias tareas en paralelo y así poder realizar un cifrado de archivos más rápido.

Cada uno de estos subprocesos es responsable de una tarea especifica, como por ejemplo consultar información del sistema, realizar la creación de las notas de rescate, la eliminación y detección de servicios, cifrar los archivos, propagarse por la red entre otros.

Verificación idioma del sistema

El ransomwre realiza una consulta sobre la configuración regional e idioma de instalación de la maquina víctima para evitar cifrar equipos de países con influencia rusa y países aliados a rusia.

Para confirmar la ubicación y lenguaje del sistema objetivo emplea las funciones:

  • GetSystemDefaultUILanguage()

  • GetUserDefaultUILanguage()

Eliminación de instantáneas de volumen

Antes de iniciar el proceso de cifrado, el ransomware utiliza Windows Management Instrumentation (WMI) para identificar y eliminar instantáneas de volumen.

  • SELECT * de Win32_ShadowCopy para consultar instantáneas de volumen
  • Win32_ShadowCopy.ID para obtener el ID de la instantánea
  • DeleteInstance para eliminar cualquier instantánea

Detener servicios: Windows Defender

LockBit cambia las claves de registro para deshabilitar todos los mensajes del registro de eventos de Windows y eliminar el proceso/servicio de Microsoft Defender.

Posteriormente es eliminado.

Unidades conectadas y recursos de red compartidos

Otros subprocesos comprueban las unidades conectadas y los recursos de red. Todas las unidades identificadas son enviadas a una función que genera nuevos subprocesos de cifrado adicionales.

Tráfico de red

Si está configurado el ransomware, enviara dos peticiones HTTP POST a los servidores de C2. La información sobre el host y el bot de la víctima se cifra con una clave (AES) y se codifica en Base64. El tráfico de comando y control se produce a través de TLS 1.2 hacia las direcciones establecidas en el archivo config.json, archivo creado en el constructor del ejecutable.

Tanto las variables como sus valores están cifrados con AES lo que implica que descifrar el tráfico de red interceptado sería muy difícil sin la clave de cifrado, el siguiente ejemplo proporciona una comprensión general de la información transmitida.

Modificación del Registro de Windows

El ransomware crea una clave de registro para la extensión HLJkNskOq la cual se usará para agregarla en los archivos cifrados.

También crea una clave de registro que será imagen de los iconos de los archivos cifrados, de esta manera no solo cambia la extensión de los archivos si no que también el icono.

El icono se ubicará en la siguiente ruta del sistema.

  • %programdata%

Creará una clave de registro para realizar el cambio del fondo de pantalla del equipo infectado y estará almacenado en la misma ruta de la imagen de los iconos.

  • %programdata%

Proceso de cifrado de archivos

Luego, los subprocesos creados por el ransomware encargados del cifrado, empiezan a realizar el cifrado de los archivos de la víctima, agrega la extensión “ .HLJkNskOq” y cambiando el ícono de los archivo por el archivo .ico antes mencionado.

Ahora, el ransomware coloca la siguiente nota de rescate en los directorios donde se cifraron los archivos con el nombre HLJkNskOq.README.txt, la cual contiene instrucciones sobre cómo pagar el rescate para descifrar sus archivos.

Archivos cifrados con nuevos nombres y extensiones, junto con la nota de rescate de LockBit.

Por último, cambia el fondo de pantalla de la máquina de la víctima para informarle del ataque de ransomware.

Indicadores de compromiso (IOC)

Tipo Identificación    
MD5 38745539b71cf201bb502437f891d799    
SHA1 f2a72bee623659d3ba16b365024020868246d901    
SHA256 80e8defa5377018b093b5b90de0f2957f7062144c83a09a56bba1fe4eda932ce    
URL http://lockbitapt2d73krlbewgv27tquljgxr33xbwwsp6rkyieto7u4ncead.onion    
URL http://lockbitapt34kvrip6xojylohhxrwsvpzdffgs5z4pbbsywnzsbdguqd.onion    

Reglas YARA