Ransomware dirigido: informe especial de ISTR

Ransomware dirigido: informe especial de ISTR
El ransomware sigue siendo una de las amenazas de cibercrimen más peligrosas que enfrenta cualquier organización.

Elaborado por Dick O’Brien, Jon DiMaggio y Hoang Giang Nguyen para el Internet Security Threat Report de Symantec.

El ransomware sigue siendo muy frecuente, la naturaleza de la amenaza ha cambiado notablemente en los últimos dos años y las empresas son cada vez más objetivo de los grupos de ransomware.

Durante 2018, mientras que el número total de infecciones por ransomware disminuyó un 20%, los ataques contra organizaciones aumentaron en un 12%. Las empresas el año pasado representaron el 81% de todas las infecciones por ransomware.

Sin embargo, dentro de esa estadística hay otra tendencia más preocupante. Durante el año pasado, la cantidad de ataques de ransomware dirigidos se ha multiplicado a medida que los nuevos jugadores se mudan a este sector. Aunque los ataques de ransomware dirigidos representan un pequeño porcentaje de los ataques de ransomware en general, presentan un riesgo mucho mayor. Un ataque de ransomware dirigido exitoso podría paralizar a una organización mal preparada.

En algunos casos, cientos de computadoras han sido encriptadas, las copias de seguridad han sido destruidas y los datos críticos del negocio han sido puestos fuera del alcance. Tales ataques pueden cerrar efectivamente la organización afectada, lo que lleva a la pérdida de negocios, daños a la reputación y facturas de limpieza multimillonarias.

Durante varios años, se habló del ransomware dirigido como una amenaza en gran medida teórica. Solo había una banda establecida de ransomware dirigido (SamSam) en funcionamiento. Sin embargo, durante 2018 SamSam se unió a otra operación dirigida altamente activa (Ryuk), mientras que en 2019 se produjo la llegada de varios grupos nuevos que se han relacionado con una serie de ataques altamente disruptivos en los EE.UU. y Europa.

Las tendencias actuales indican que el ransomware dirigido está atrayendo un alto grado de interés entre los delincuentes cibernéticos, con nuevos grupos que aparecen a un ritmo acelerado, motivados sin duda por el éxito de algunos ataques recientes.

Las organizaciones deben tomar conciencia de la amenaza que representan los ataques de ransomware dirigidos y asegurarse de contar con defensas sólidas para disuadir a los atacantes.

Tendencias de ransomware dirigidas

El número de organizaciones afectadas por ataques de ransomware dirigidos ha crecido considerablemente en los últimos dos años y medio. En enero de 2017, Symantec observó que un poco más de una docena de organizaciones al mes estaban siendo atacadas. Sin embargo, en los últimos meses, esa cifra aumentó a más de 50 organizaciones por mes.

Número de organizaciones afectadas por ataques dirigidos de ransomware, enero de 2017 a mayo de 2019.

El verdadero número de ataques de ransomware dirigidos puede ser mayor. Nuestras estadísticas se basan en la telemetría de cinco familias de ransomware que, según se informa, han sido utilizadas en ataques dirigidos: SamSam (Ransom.SamSam), Ryuk (Ransom.Hermes), GoGalocker (también conocida como LockerGoga) (Ransom.GoGalocker), MegaCortex (Ransom.MegaCortex), y RobbinHood (Ransom.Robbinhood).

Hay una serie de otras familias de ransomware, especialmente Crysis (también conocida como Dharma) (Ransom.Crysis) y GandCrab (Ransom.GandCrab), que se han utilizado en ataques dirigidos, pero también se han extendido utilizando vectores de infección tradicionales como campañas de spam. El número total de organizaciones afectadas por Crysis y GandCrab eclipsa a las afectadas por las otras cinco familias, pero no hay forma de establecer cuántas se infectaron por ataques dirigidos y cuántas se infectaron por otros medios.

Número de organizaciones afectadas por ataques de ransomware dirigidos, por familia, enero de 2017 a mayo de 2019.

Cuando las estadísticas se desglosan por familia de ransomware, se hace evidente que hasta principios de 2018, SamSam fue la única familia de ransomware utilizada exclusivamente en ataques dirigidos. Ryuk llegó a principios de 2018 y, casi todos los meses desde su aparición, ha estado más activo que SamSam. GoGalocker, MegaCortex y RobbinHood son recién llegados y, después de haber montado una serie de ataques altamente disruptivos, ya están teniendo un impacto en las estadísticas generales.

Número de organizaciones afectadas por ataques de ransomware dirigidos por país, de enero de 2017 a mayo de 2019.

En términos de desglose regional, los EE.UU. son los más afectados por los ataques dirigidos de ransomware, con casi 900 organizaciones estadounidenses afectadas entre enero de 2017 y mayo de 2019. Un factor importante detrás de esta tendencia es el hecho de que el grupo SamSam de larga data se centró en gran medida en los EE.UU., Turquía ocupa un segundo lugar distante, con poco más de 100 organizaciones afectadas, seguidas por varios países anglófonos: el Reino Unido, Australia y Canadá.

Familias de ransomware dirigidas

El número de familias de ransomware que se utilizan en ataques dirigidos se ha multiplicado en los últimos meses. Ahora hay al menos cinco familias distintas que se utilizan de forma exclusiva: SamSam, Ryuk, GoGalocker, MegaCortex y RobbinHood.

Según los informes, otras dos familias, Crysis y GandCrab, también se han utilizado en ataques dirigidos, pero también se han desplegado en campañas indiscriminadas que implican la distribución a través de correos electrónicos no deseados o kits de explotación.

SamSam

SamSam es considerado como la amenaza objetivo original y, durante algún tiempo, fue el único grupo conocido de ciberdelincuencia que realizó ataques de ransomware dirigidos.

El grupo está muy enfocado en objetivos en los EE.UU. Si bien ha afectado a organizaciones en una variedad de sectores, la atención médica en particular se ha visto muy afectada, representando alrededor de una cuarta parte de todos los ataques en 2018. SamSam también ha afectado a varias organizaciones del gobierno local, y se cree que estuvo detrás del ataque a la ciudad de Atlanta en marzo de 2018, que vio numerosas computadoras municipales encriptadas. Se espera que los costos de limpieza del ataque superen los u$s 10 millones.

El grupo también está vinculado al ataque al Departamento de Transporte de Colorado, que tuvo un impacto de u$s 1,5 millones.

Organizaciones afectadas por los ataques de SamSam, enero de 2017 a mayo de 2019.

En noviembre de 2018, dos iranís fueron acusados, en EEUU, por participar en ataques del grupo SamSam. El FBI estimó que el grupo SamSam había recibido u$s 6 millones en pagos de rescate hasta la fecha y había causado más de u$s 30 millones en pérdidas a las víctimas. La acusación parece haber tenido poco o ningún impacto en la actividad de SamSam. El número de organizaciones afectadas por los ataques de SamSam disminuyó en noviembre y diciembre de 2018, pero los niveles de actividad del grupo aumentaron nuevamente en 2019.

Ryuk

Ryuk es considerado como una evolución del antiguo ransomware Hermes. Hermes apareció por primera vez en 2017, mientras que la variante Ryuk comenzó a circular durante 2018. Desde agosto de 2018, Ryuk ha sido visto montando campañas específicas contra empresas, encriptando cientos de computadoras y servidores antes de exigir un rescate de entre 15 y 60 Bitcoin.

Organizaciones afectadas por los ataques de Ryuk, enero de 2018 a mayo de 2019.

Ryuk salió a la luz pública en diciembre de 2018 cuando fue vinculada a un importante ataque de ransomware contra Tribune Publishing, que manejaba las operaciones de impresión para numerosos periódicos de EE.UU. La impresión de varios títulos fue interrumpida por el ataque.

GoGalocker

GoGalocker apareció por primera vez en enero de 2019 y se ha utilizado en ataques contra organizaciones en una amplia gama de sectores empresariales. Si bien los EE.UU. han sido los más afectados, una gran cantidad de organizaciones en Escandinavia también han sido atacadas.

Organizaciones afectadas por los ataques de GoGalocker, enero de 2019 a mayo de 2019.

MegaCortex

MegaCortex es una de las amenazas dirigidas más nuevas para comenzar a operar, que apareció por primera vez en mayo de 2019, cuando se usó contra 11 organizaciones. El malware tiene algunas similitudes con GoGalocker, lo que indica que pueden tener una autoría común. Si bien es posible que los dos grupos de atacantes estén vinculados, también puede ocurrir que el ransomware haya sido desarrollado por el mismo desarrollador externo para ambos grupos.

RobbinHood

RobbinHood es otra nueva familia, que apareció por primera vez en mayo de 2019. Según los informes, se utilizó en el ataque contra la ciudad estadounidense de Baltimore.

Crysis (también conocida como Dharma)

Crysis ha circulado desde 2016 y es una amenaza altamente prevalente, que se propaga a través de múltiples vectores de infección. Si bien ha estado involucrado regularmente en ataques dirigidos que aprovechan servicios RDP mal asegurados, también se ha propagado a través de campañas de spam, lo que probablemente explica la gran cantidad de ataques en relación con otras amenazas.

Una característica interesante de los ataques de Crysis es que las organizaciones en África representan la mayoría de los ataques, con ocho de los diez principales países ubicados allí.

GandCrab

Al igual que Crysis, GandCrab ha sido una prolífica amenaza de ransomware desde que apareció por primera vez en enero de 2018. Si bien se ha implementado en ataques dirigidos, el ransomware también se ha distribuido en masa. Es probable que esta variación en el patrón de ataque se deba al hecho de que GandCrab supuestamente opera como un ransomware como servicio, lo que significa que los operadores alquilan el ransomware a otros grupos para su uso en ataques.

A principios de junio de 2019, GandCrab anunció que había decidido cerrar su operación. El anuncio se produjo después de una notable caída de la actividad a fines de 2018 y principios de 2019. La pandilla afirmó haber visto más de u$s 2.000 millones pagados en rescate, y los propios operadores afirmaron haber ganado alrededor de u$s 150 millones al año. La veracidad de estas afirmaciones aún no se ha establecido.

Vectores de infección

Si bien la mayoría de las familias de ransomware comunes dependen en gran medida de las campañas de correo electrónico no deseado (y hasta muy recientemente kits de explotación) para su distribución, las amenazas dirigidas generalmente se propagan utilizando diferentes métodos. Debido a la prevalencia relativamente baja de ataques de ransomware dirigidos, el vector de infección a menudo puede ser difícil de establecer.

Se han observado varios métodos de ataque diferentes hasta la fecha y los grupos de ransomware dirigidos a menudo se inspiran en los grupos de espionaje en sus métodos para establecerse en la red de la víctima.

Spear phishing

Un método de uso frecuente y altamente efectivo para ingresar a la red de una organización objetivo. Los atacantes enviarán correos electrónicos a empleados seleccionados, a menudo disfrazados de correspondencia relacionada con el trabajo. Por ejemplo, alguien que trabaje en la industria energética podría recibir una invitación para una conferencia sobre energía.

Los ataques de phishing suelen requerir un elemento de ingeniería social para engañar a la víctima para que abra el correo electrónico. El contenido deberá ser relevante para el destinatario y contener suficiente “señuelo” para que pueda abrir un archivo adjunto o seguir un enlace dentro del cuerpo del correo electrónico. Si el truco funciona, el malware se descargará en la máquina de la víctima, lo que permitirá a los atacantes comenzar a moverse a través de la red de la víctima.

Explotación de vulnerabilidad

Se ha visto que varios grupos de ransomware dirigidos apuntan a software vulnerable que se ejecuta en servidores públicos para obtener acceso a la red de una organización. En la mayoría de los casos, los atacantes explotan vulnerabilidades conocidas en software sin parchear, como JBoss o Apache.

Los grupos que se sabe que usan esta táctica incluyen SamSam, que según los informes ha utilizado herramientas disponibles para encontrar y explotar vulnerabilidades.

Servicios mal asegurados

En algunos casos, los atacantes no necesitan explotar una vulnerabilidad para acceder a una computadora pública. Hay varios casos de atacantes que comprometen servicios mal asegurados. Por ejemplo, Crysis ha sido observado repetidamente atacando organizaciones a través de servicios de protocolo de escritorio remoto (RDP) mal asegurados, aprovechando credenciales filtradas o débiles.

Mientras tanto, recientemente se vio a GandCrab escaneando Internet en busca de bases de datos MySQL expuestas que luego estaba infectando con malware.

Infecciones secundarias

Un posible vector de infección es a través de otras familias de malware. En un caso relacionado con GoGalocker, Symantec observó malware de juego en la red de la víctima varios días antes del ataque. Es posible que este malware se haya utilizado para entregar GoGalocker, pero no hemos encontrado más evidencia que respalde esta hipótesis.

Movimiento lateral

Una de las fases clave en cualquier ataque de ransomware dirigido es el movimiento lateral. El objetivo de la mayoría de los atacantes es identificar y cifrar la mayor cantidad posible de computadoras en la red de la víctima. Cuanto mayor es la proporción de computadoras infectadas, mayor es la interrupción. Esto aumenta las posibilidades de que la víctima pague el rescate, especialmente si los atacantes identifican y cifran las copias de seguridad y los servidores importantes.

Los recientes ataques de ransomware dirigidos han visto a los atacantes desplegar una amplia gama de tácticas y herramientas para realizar movimientos laterales. El ransomware tiende a imitar las tácticas utilizadas en los ataques dirigidos, donde el uso de malware personalizado se mantiene al mínimo. En cambio, los atacantes tienden a confiar en una combinación de herramientas de piratería públicamente disponibles, malware básico y tácticas “living off the land”: uso malicioso de las funciones del sistema operativo y las herramientas de administración.

Los más utilizados incluyen:

  • PowerShell: herramienta de secuencias de comandos de Microsoft que se utilizó para ejecutar comandos para descargar cargas útiles, atravesar redes comprometidas y realizar reconocimientos.
  • PsExec: herramienta Microsoft Sysinternals para ejecutar procesos en otros sistemas. La herramienta fue utilizada principalmente por los atacantes para moverse lateralmente en la red de la víctima.
  • PsInfo: otra herramienta de Microsoft Sysinternals que permite al usuario recopilar información sobre otras computadoras en la red.
  • Mimikatz (Hacktool.Mimikatz): herramienta de libre acceso capaz de cambiar privilegios, exportar certificados de seguridad y recuperar contraseñas de Windows en texto plano según la configuración.
  • PuTTY: una utilidad de línea de comandos utilizada para crear sesiones SSH.

A profundidad: GoGalocker

GoGalocker es una de una nueva generación de amenazas de ransomware dirigidas que aparecerá a principios de 2019. En rápida sucesión, el ransomware se implementó en ataques dirigidos contra una variedad de organizaciones, lo que causó graves trastornos a varias de sus víctimas.

Los atacantes detrás de GoGalocker parecen ser altamente hábiles, capaces de ingresar a la red de la víctima y desplegar una amplia gama de herramientas para mapear la red, obtener credenciales, elevar privilegios y desactivar el software antivirus antes de implementar el ransomware.

Preparación para el ataque

Una vez que los atacantes de GoGalocker se afianzan en la red de la víctima, concentran su atención en mapear la red y adquirir credenciales que les permitan acceder a otras máquinas y aumentar sus privilegios de usuario.

Para comenzar este proceso, los atacantes emiten dos comandos PowerShell codificados en Base64 diseñados para compilar dinámicamente y ejecutar shellcode en la memoria. Los atacantes emplean técnicas populares para aprovechar los recursos en el entorno de la víctima. Estos comandos de PowerShell emiten una llamada a recursos legítimos de Windows: VirtualAlloc y CreateThread, que son funciones llamadas por la API nativa de Windows y se pueden usar para configurar y ejecutar shellcode. Estos comandos se utilizan para descargar y ejecutar dos piezas de shellcode en la computadora:

  1. Un shellcode de oyente: una vez ejecutado, este shellcode abre el puerto TCP 9899 y escucha códigos o comandos adicionales.
  2. Un shellcode del descargador: este shellcode actúa como un descargador. Una vez ejecutado, se establece una conexión con la infraestructura controlada por el atacante (https://89[.]105[.]202[.]58/sMNN) y se descarga el shellcode de la segunda etapa.

Una vez compilado, el shellcode de la segunda etapa proporciona una funcionalidad similar a la herramienta comercial Cobalt Strike Beacon Reflective Loader, que se utiliza para comunicarse (baliza) con el atacante. Symantec ha visto dos variantes de este shellcode de segunda etapa. Ambos proporcionan la misma funcionalidad, pero cada uno se conecta a un servidor de comando y control diferente (89.105.198.21 o 89.105.202.58).

Además de PowerShell, los atacantes implementan una variedad de otras herramientas en la red de la víctima. Éstos incluyen:

  • PuTTY: una utilidad de línea de comandos utilizada para crear sesiones SSH.
  • Mimikatz: una herramienta de libre acceso capaz de cambiar privilegios, exportar certificados de seguridad y recuperar contraseñas de Windows en texto sin formato, según la configuración.
  • Wolf-x-full: Una herramienta multipropósito descrita por sus desarrolladores como una forma todo en uno de administrar y recopilar información de su computadora. Las características incluyen:
    • Acceso remoto a CLI
    • Habilitar/deshabilitar el Control de cuentas de usuario de Windows (UAC)
    • Habilitar/deshabilitar restricciones remotas de UAC
    • Activar/desactivar el Firewall de Windows
    • Obtener dirección IP externa
    • Ver programas instalados (y desinstalar)
    • Mostrar grupos y usuarios locales y de dominio, incluidos los números de identificación de seguridad (SID)
    • Consultar una gama de máquinas remotas para obtener información básica

En conjunto, todas estas herramientas permiten a los atacantes de GoGalocker asignar la red de la víctima y robar credenciales para cuentas de administrador y privilegiadas. Este proceso permite a los atacantes identificar y acceder a una gran cantidad de computadoras para luego infectarlas simultáneamente con el ransomware.

Deshabilitando el software de seguridad

Una de las razones por las que los atacantes GoGalocker a menudo son tan efectivos es que generalmente deshabilitan el software de seguridad antes de instalar el ransomware. Esto no se debe a ninguna debilidad o vulnerabilidad innata en el software de seguridad que deshabilita, sino que el grupo utiliza credenciales de administrador robadas para apagar el software o desinstalarlo.

El proceso de infección

Una vez que los atacantes terminan de mapear la red y obtener las credenciales, dirigen su atención a difundir el ransomware en muchas computadoras y servidores.

En varios ataques, los atacantes usaron archivos por lotes antes de la ejecución del ransomware.

Uno de estos archivos por lotes, copyPsExec2.bat, se usó para copiar PsExec a computadoras en la red. PsExec es una herramienta de Microsoft Sysinternals utilizada para ejecutar procesos en otros sistemas. Se usa con frecuencia en ataques que involucran tácticas de vivir de la tierra.

En varios casos que involucran archivos por lotes, los atacantes utilizaron la herramienta Wolf-x-full antes mencionada, mientras ejecutaban los archivos. Wolf-x-full se usa generalmente para verificar si una computadora era una máquina virtual, recopilar información del sistema y de la red, verificar quién inició sesión en la computadora y posiblemente cambiar la política de contraseña. Para qué lo usaban los atacantes en estos casos no está claro.

Los atacantes también fueron vistos ejecutando comandos adicionales desde un símbolo del sistema. En el siguiente ejemplo, los atacantes copian un archivo bat de una computadora a otra en la red. El archivo inicia los servicios específicos asociados con el atacante y finaliza una serie de otros servicios en la computadora infectada. Luego cambian el nombre de usuario y la contraseña locales en las computadoras infectadas y luego inician una serie de procesos seleccionados por el atacante y matan a otros. También usan PsExec.exe para ejecutar un archivo bat en una lista de computadoras remotas con un nombre de usuario y contraseña codificados. Con este comando también está configurado para aceptar cualquier mensaje de eula y ocultar cualquier pancarta que pueda alertar a la víctima de que algo está sucediendo.

Cifrado

La siguiente etapa del ataque es comenzar a cifrar archivos en computadoras con el ransomware GoGalocker. GoGalocker cifra todos los archivos en una computadora infectada con la excepción de los archivos en el directorio C:\Windows\. La extensión de archivo .locked se agrega a todos los archivos cifrados, por ejemplo file.doc.locked. Además, GoGalocker también cifrará el administrador de arranque de Windows para evitar que la computadora arranque si se reinicia.

El último paso que toman los atacantes es cerrar la sesión del usuario actual. En al menos un caso, los atacantes cambiaron las contraseñas locales de usuario y administrador utilizando un comando net.exe. El motivo probable para esto fue evitar que alguien inicie sesión y detenga el proceso de cifrado.

Curiosamente, net.exe, la herramienta utilizada para cambiar las contraseñas locales de usuario y administrador, no incluía el interruptor de línea de comando de restablecimiento de contraseña / dominio, lo que habría impedido que la víctima pudiera iniciar sesión en el sistema desde un active directory/cuenta de dominio. Es posible que los atacantes creyeran que los servidores del directorio activo no estarían disponibles. Alternativamente, su ausencia podría ser un descuido por parte de los atacantes.

Otro hallazgo interesante fueron los diferentes períodos de tiempo entre la compilación del ransomware GoGalocker y el posterior despliegue en las redes de las víctimas. La evidencia hasta la fecha sugiere que el grupo parece desarrollar una nueva variante del ransomware para usar en cada nuevo ataque. El período de tiempo entre la compilación y la implementación varía de 24 horas a varias semanas.

Víctimas

Desde su aparición a principios de 2019, GoGalocker ha atacado a organizaciones en una amplia gama de sectores industriales que incluyen: servicios informáticos, contabilidad y auditoría, consultoría, servicios financieros, herramientas eléctricas, construcción y construcción, servicios financieros, publicación, impresión, metales, depósito y almacenaje.

Si bien se han producido ataques en todo el mundo, hasta la fecha se ha localizado un gran número de víctimas en Escandinavia, incluyendo Finlandia (23%), Noruega (15%) y Suecia (8%). Muchos de estos ataques fueron dirigidos a empresas locales, aunque algunos fueron ataques contra oficinas escandinavas de empresas multinacionales. Se desconoce por qué el grupo GoGalocker se ha centrado en gran medida en Escandinavia.

Vector de infección

Se desconoce cómo GoGalocker ingresa por primera vez a la red de la víctima. Symantec ha identificado tres escenarios posibles, aunque no hemos encontrado evidencia sólida para respaldar ninguno:

  • Spear phishing: de uso general en este tipo de objetivos, pero hasta la fecha no hay evidencia de que GoGalocker haya utilizado el phishing.
  • Protocolo de escritorio remoto: un informe de terceros ha señalado que RDP se aprovechó como un vector de infección, pero Symantec no ha visto evidencia para confirmar esto.
  • Malware de juegos de azar: Symantec observó malware de juegos de azar en la red de una víctima, alrededor de 10 días antes de un ataque. Es posible que este malware haya sido utilizado para entregar herramientas GoGalocker, pero no hemos encontrado más evidencia.

Destaque: MegaCortex

MegaCortex es otro ejemplo de la nueva generación de amenazas de ransomware dirigidas que han comenzado a multiplicarse en 2019. El ransomware apareció por primera vez en mayo de 2019, cuando se usó en ataques contra organizaciones en los EE.UU., Corea del Sur, Italia, Israel y los Países Bajos.

Ejecutable principal

MegaCortex utiliza algunas de las técnicas de evasión de detección que se ven en otras familias de ransomware dirigido. Por ejemplo, su ejecutable principal está firmado con un certificado válido, pero este certificado ya ha sido revocado. Sin embargo, si una computadora no ha actualizado su base de datos de certificados revocados, el certificado seguirá siendo efectivo.

El ejecutable principal está incrustado con otros dos binarios DLL. Ambos binarios están encriptados con AES-128-GCM. Una vez ejecutado, MegaCortex intenta descifrar estos binarios y cargarlos dinámicamente por sí mismo.

En este paso, MegaCortex utiliza otra técnica de evasión para evitar que se detecte en cajas de arena. El malware requiere un argumento válido que es una cadena Base64, luego lo combina con otro valor que se calcula a partir de la hora del sistema en la computadora infectada para extraer una clave AES y un vector de inicialización (IV) para la siguiente etapa de descifrado. La clave AES e IV se generan como pseudocódigo, como se muestra aquí:

def get_aes_params():
pre_key = base64_decode(argv[1])

# 0x861C46800 is number of ticks in an hour
t = time() / 0x861C46800 / 3
hash_key = sha1_hash(t)

for i in range(0x10):
aes_key[i] = pre_key[i] ^ hash_key[i] for i in range(0x0C):
aes_iv[i] = pre_key[i+0x10] ^ hash_key[i]

Luego, MegaCortex usará la clave AES y IV para descifrar los binarios incrustados usando el algoritmo AES-128-GCM en la biblioteca mbed TLS.

Esta técnica permite a los atacantes crear un tiempo de sesión para la entrada. El ransomware podría engañar a un sandbox para que piense que es benigno a menos que se ejecute durante un período de tiempo válido. Para la muestra analizada por Symantec, el tiempo de sesión para la entrada fue de tres horas. Sin embargo, también conocemos otras muestras de MegaCortex que tuvieron un tiempo de sesión de una hora.

El empleo de esta técnica no limita, de ninguna manera, la libertad de los atacantes para operar, ya que ya conocen la clave AES y IV y pueden generar un argumento de entrada en cualquier momento que lo deseen.

Cargas principales

El primero de los dos binarios extraídos se llama payload.dll y es el módulo principal del ransomware. Este archivo DLL exporta dos funciones: start y start2.

El segundo binario se llama injecthelper.dll. Esto exporta la función _command@16.

Después de que los dos binarios se descifran con éxito, MegaCortex intenta cargar payload.dll directamente en la memoria antes de encontrar la dirección de la función start y llamarla. La función de inicio tiene las siguientes capacidades:

  • Comprueba si MegaCortex se ejecuta con una cuenta de administrador. Si no, intenta elevar el ejecutable principal a privilegios de administrador utilizando la API ShellExecuteEx con el parámetro runas.
  • Deshabilitar la redirección de Wow64
  • Intenta ajustar tokens:
    • SeDebugPrivilege
    • SeBackupPrivilege
    • SeRestorePrivilege
    • SeTakeOwnershipPrivilege
  • Realiza la actividad previa a la configuración para el cifrado y la carga de injecthelper.dll a través de rundll32.exe para iniciar el cifrado en la computadora infectada.
  • Una vez finalizado el cifrado, enumera todas las unidades y puede ejecutar los siguientes comandos (excepto en unidades de CD-ROM):
    • vssadmin.exe delete shadows /all /for=%drivepath%
    • cipher.exe /w:%drivepath%

Segunda etapa: preconfiguración para cifrado

MegaCortex prepara los datos para el cifrado realizando las siguientes acciones:

  • Elimina C:\\lc_vagsi.log si está presente.
  • Crea una región de memoria compartida IPC mediante el interproceso del módulo en la biblioteca Boost. Esta memoria compartida tiene el nombre: lc_vagsi y se usa para:
    • Trabaja como una lista de colas con las rutas completas de archivos que MegaCortex ha escaneado en la computadora infectada. Estos archivos serán encriptados.
    • Almacene una clave maestra AES y IV que se generan después del escaneo. Esta clave maestra AES se usará para cifrar otra clave AES que se genera durante la etapa de cifrado para cifrar archivos.
  • Para recopilar archivos para encriptar, MegaCortex hace lo siguiente:
    • Exploración recursiva de todas las unidades lógicas y directorios excepto %Windir% (aunque aún explorará %Windir%\\temp).
  • Filtra los siguientes nombres de archivo y extensiones de cifrado:
    • dll, .exe, .sys, .mui, .tmp, .lnk, .config, .manifest, .tlb, .olb
    • .bat, .cmd, .ps1
    • lc_vagsi.tsv, lc_vagsi.log in C:\\
    • desktop.ini
  • Copia la primera nota de rescate a C:\!!!_READ_ME_!!!.txt
  • Genera una clave AES maestra aleatoria y IV (mencionado anteriormente) y un búfer de basura. Los tres se cifran con RSA y se guardan en C:\lc_vagsi.tsv.
  • Almacena información sobre archivos cifrados en lc_vagsi.tsv. Este archivo se utiliza para realizar el descifrado.
  • La clave pública RSA utilizada es:
    • Clave pública: (4096 bit)
  • Modulus:
    00:ba:c1:7e:ac:19:c1:b6:0e:2d:a8:37:9f:38:a3:25:36:66:8b:8a:d0:2d:73:74:57:a4:f2:b5:be:a9:
    73:5f:8b:37:f6:9c:55:d8:39:e0:75:70:52:cc:95:a5:7c:72:4c:ac:3a:ce:ea:b6:68:42:dd:57:71:bc:
    68:7f:51:47:13:82:98:bc:fa:14:0c:12:83:18:a2:1e:af:19:9b:92:c5:1f:e4:70:e2:87:64:5f:6f:75:
    e:f2:ac:4b:bb:1c:07:dd:41:22:ac:07:9d:b4:3e:43:4e:cc:f2:88:26:c4:00:9c:cd:7d:72:21:20:87:
    b:89:05:65:af:f0:9e:a3:51:6d:a2:0b:36:a2:8a:b8:ee:2b:49:92:99:7d:06:29:e8:4f:13:11:6a:58:
    d:0b:be:d9:59:19:21:dd:12:21:c7:bb:9e:fe:65:4d:9c:54:4c:b0:30:dd:5a:ff:fc:30:92:76:bc:d3:
    9:ba:06:c4:27:27:04:47:b4:d6:16:ff:9a:36:8b:28:d0:3a:ad:30:76:2b:1d:1b:78:89:c2:00:28:6d:
    a1:c3:2e:f6:18:5c:31:6e:16:a9:2a:25:85:34:35:84:7c:f8:4f:fa:41:f1:4e:10:f3:29:e9:f8:de:a3:
    c1:b8:17:00:10:c9:75:f0:db:4a:d7:2b:90:a8:dc:3b:82:a2:ee:c5:3d:4f:97:11:85:6c:d4:f0:5d:d4:
    76:de:8c:dc:b9:e5:1d:21:e3:de:47:98:c3:7e:af:01:28:ac:4f:2f:ff:a3:a3:e7:4e:63:79:ac:b9:c2:
    87:95:55:4e:f1:b4:6f:12:bd:7c:88:35:84:8f:43:43:a6:46:91:19:15:06:ee:d9:f8:53:8f:ea:05:7c:
    12:8f:75:95:40:ea:39:ac:f1:dd:95:33:7d:e9:77:c6:7b:04:64:1f:c8:3b:f0:ea:40:93:db:7a:91:97:
    4b:57:64:91:81:68:cc:83:e4:99:ee:9a:97:0d:57:d1:28:63:69:3c:92:36:0e:f3:1f:9f:4a:21:06:ba:
    b8:01:7e:fb:9a:40:22:30:e8:bc:b9:f6:9e:e7:76:ef:d0:01:11:14:e6:a8:50:26:54:42:a8:1a:4a:33:
    0c:6f:f4:eb:43:1e:0d:fa:15:a9:2f:a7:aa:5f:25:f6:b5:4b:a3:7a:71:35:78:80:81:93:50:da:f3:48:
    1d:be:1b:79:4a:4e:b4:60:02:a3:5b:d3:6b:6e:3e:96:4f:2a:d6:3b:a9:43:b4:b2:e2:5f:16:10:27:64:
    59:c2:51:7c:36:0c:f4:2f:4c:0f:c7:fa:1f:e1:25:62:44:0e:f6:a6:bc:54:3f:f3:da:2b:48:65:97:b0:
    a6:6c:83
  • Exponente: 65537 (0x10001)
  • Cifra la cadena predeterminada MegaCortex con la clave maestra AES generada y IV (usando AES-128-CTR) y luego escribe datos cifrados en C:\lc_vagsi.tsv. El objetivo de este paso es permitir que el atacante verifique si la clave maestra AES y la IV son correctas o no, si la víctima realiza un pago para recuperar sus datos.
  • Finalmente, crea otra región de memoria compartida llamada “Global\liblc_vagsi)” utilizando la API CreateFileMapping antes de colocar allí los datos relacionados con payload.dll. Después de esto, coloca injecthelper.dll en %Temp%\lc_vagsi.dll y ejecuta rundll32.exe con los argumentos:
    • rundll32.exe %Temp%\lc_vagsi.dll,_command@16 Global\liblc_vagsi.
    • Ahora, se carga injecthelper.dll y llama a la función de exportación _command@16 con la entrada Global\liblc_vagsi
    • injecthelper.dll es un cargador. Abre la región de memoria compartida Global\liblc_vagsi, carga datos de esa región de memoria (en realidad, está cargando payload.dll, el módulo principal del ransomware) y llama a la función start2. Esto crea otra instancia de payload.dll que se ejecuta como esclavo para realizar la tarea de cifrado.

Tercera etapa: cifrado

Al principio, el esclavo intentará acceder a la región de memoria compartida IPC y tomará datos de ella. Recupera:

  • La ruta completa de los archivos que se cifrarán
  • La clave maestra AES y IV generados en la etapa de configuración

Entonces comenzará el cifrado. MegaCortex utiliza funciones API nativas para interactuar con los archivos de destino. Para cifrar cada archivo de destino, MegaCortex realiza las siguientes acciones:

  • Agrega la extensión .aes128ctr al nombre del archivo de destino.
  • Genera datos de semillas al azar (tamaño: 0x18 bytes). Codifica estos datos semilla con Base64 y luego calcula el SHA256 a partir de la salida Base64.
  • Extrae el hash SHA256 a la clave AES esclava y IV, que se utilizarán para cifrar el archivo de destino (AES-128-CTR).
  • La clave maestra AES y IV (AES-128-CTR) encriptan nuevamente la base64 de datos semilla con el hash SHA1 del archivo cifrado.
  • Finalmente, MegaCortex guarda cierta información en el archivo C:\lc_vagsi.tsv para propósitos de descifrado.
  • Otra nota de rescate (!!!_READ_ME_!!!.txt) se copia en %Desktop% después de que se complete el proceso de cifrado.

¿Enlace a GoGalocker?

Basado tanto en la actividad de MegaCortex como en los atributos de uso binario y de código, creemos que hay alguna conexión entre MegaCortex y GoGalocker. No podemos confirmar esta conexión con firmeza, pero esta coincidencia es muy extraña.

Tanto MegaCortex como GoGalocker realizan las siguientes acciones

  • Crean un archivo de registro en C:\\
  • Trabajan usando el modelo maestro/esclavo
  • Utilizan el interproceso del módulo en la biblioteca Boost para compartir datos y comunicarse entre maestro y esclavo
  • Usan funciones para enumerar unidades lógicas antes del cifrado
  • Usan funciones nativas para trabajar con archivos de destino:
    • NtOpenFile, NtReadFile, NtWriteFile, NtClose
  • Cifran archivos usando AES-128-CTR
  • Ejecutan el comando “cipher.exe/w” para borrar los datos no utilizados después de finalizar el proceso de cifrado

Finalmente, el encabezado enriquecido de los ejecutables MegaCortex y GoGalocker se compila con casi la misma versión de Visual Studio 2017 (versión de compilación menor 27027 y versión de compilación menor 27030)

Además, según nuestra telemetría, observamos que hay un patrón de uso del malware Cobalt Strike en los ataques GoGalocker y MegaCortex. Además, una de las balizas de Cobalt Strike utilizadas en un ataque MegaCortex se conecta a una dirección IP (185.202.174[.]44) que también se menciona en el informe de FireEye sobre GoGalocker.

Ultimas Noticias

Dejar su comentario sobre esta nota

Su direccion de correo no se publica. Los datos obligatorios se encuentran identificados con un asterisco (*)