Ryuk: otro ransomware dirigido lucrativo

Ha habido muchas historias en las noticias sobre Ryuk, una pieza de ransomware dirigida y poderosa que ha estado atacando a organizaciones, incluidos gobiernos municipales, tribunales estatales, hospitales, empresas y grandes universidades. Muchas de estas organizaciones han pagado tarifas elevadas para recuperar sus archivos después de un ataque de Ryuk, solo para descubrir que se ha robado cualquier cantidad de archivos y que algunos de los datos que quedan están irreparables.

Lo que mucha gente no entiende sobre Ryuk es que no es el comienzo del ataque, es el final del ataque. Cuando Ryuk se activa para encriptar y rescatar los archivos, el daño real ya está hecho.

¿Qué es Ryuk?

Ryuk apareció por primera vez en agosto de 2018, y su efecto se extiende por todo el mundo. Tres organizaciones fueron golpeadas con infecciones de Ryuk durante los primeros dos meses de sus operaciones, lo que proporcionó a los atacantes alrededor de 600,000 dólares en rescate.

A pesar de una exploración completa con productos AV populares, el ransomware posee una funcionalidad que los usuarios presencian en algunas otras familias modernas de ransomware. Por nombrar algunos, puede identificar y cifrar unidades y recursos de red, así como eliminar instantáneas en el punto final. Como resultado, los ciberdelincuentes deshabilitarían fácilmente la opción Restaurar sistema de Windows para los usuarios. Esto hace que sea imposible recuperarse del ataque sin copias de seguridad externas.

Otra fase emocionante de este ransomware es que deja más de una nota en el ordenador. La segunda nota viene en un tono cortés, similar a las notas lanzadas por el ransomware BitPaymer, que continúa el rompecabezas.

Ryuk Ransomware es un virus peligroso que requiere que la víctima otorgue a los piratas informáticos una recompensa para recuperar sus datos cifrados. Si permites que este terrible virus permanezca durante mucho tiempo, desaparecerá en segundo plano y comenzará a recopilar información importante (contraseñas, números de tarjeta de crédito, datos de inicio de sesión bancaria, etc.).

Notas de rescate de Ryuk

La nota de rescate de Ryuk está escrita en un archivo llamado RyukReadMe.txt. Se han observado varias plantillas de notas de rescate diferentes.

El cuerpo de la plantilla es estático con la excepción de la dirección de correo electrónico y la dirección de la billetera de Bitcoin (BTC), que puede cambiar.

Las direcciones de correo electrónico generalmente contienen una dirección en protonmail.com y otra dirección en tutanota.com.

Los nombres de correo electrónico generalmente son actores y directores esotéricos, pero también se han observado modelos de Instagram.

El correo electrónico de rescate utilizado por Ryuk parece ser único para cada ejecutable compilado. Utilizando la inteligencia de amenazas, se han observado varias direcciones de correo electrónico diferentes, pero las mismas direcciones BTC en múltiples ejecutables de Ryuk.

El 29 de noviembre de 2018, WIZARD SPIDER cambió la forma en que se comunicaban con sus víctimas. WIZARD SPIDER incluía su dirección BTC y sus direcciones de correo electrónico. Sin embargo, las variantes recientes de Ryuk ya no contienen la dirección BTC, solo las direcciones de correo electrónico. La nota de rescate indica que la víctima recibirá la dirección BTC como respuesta de WIZARD SPIDER.

Los primeros archivos binarios de Ryuk con la eliminación de la dirección BTC contenían una ruta PDB de C:\Users\Admin\Documents\Visual Studio 2015\Projects\ConsoleApplication54new crypted try to clean\x64\Release\ConsoleApplication54.pdb.

Pagos de rescate

Según las transacciones observadas a direcciones conocidas de Ryuk BTC, la demanda de rescate varía significativamente.

Esto sugiere que WIZARD SPIDER calcula la cantidad del rescate en función del tamaño y el valor de la organización víctima. Hasta la fecha, el rescate más bajo observado fue de 1.7 BTC y el más alto fue de 99 BTC.

Con 52 transacciones conocidas repartidas en 37 direcciones BTC, WIZARD SPIDER ha realizado 705.80 BTC, que tiene un valor actual de 3.7 millones de dólares.

Cómo se distribuye Ryuk Ransomware

El compromiso inicial se realiza a través de TrickBot, que generalmente se distribuye a través de correo electrónico no deseado o mediante el uso de la función de descarga geográfica basada en Emotet.

Algunos de los módulos de TrickBot podrían ayudar a recuperar las credenciales necesarias para comprometer los entornos; en particular, se ha observado que el módulo SOCKS canaliza el pwgrabtráfico de PowerShell Empire para realizar el reconocimiento y el movimiento lateral.

WIZARD SPIDER realiza los siguientes eventos en la red de la víctima, con el objetivo final de expulsar el binario Ryuk:

  • Se ejecuta un script de PowerShell ofuscado y se conecta a una dirección IP remota.
  • Se descarga y ejecuta un shell inverso en el host comprometido.
  • Las secuencias de comandos anti-registro de PowerShell se ejecutan en el host.
  • El reconocimiento de la red se realiza utilizando herramientas de línea de comandos estándar de Windows junto con herramientas externas cargadas.
  • El movimiento lateral a través de la red se habilita mediante el Protocolo de escritorio remoto (RDP).
  • Se crean cuentas de usuario de servicio.
  • PowerShell Empire se descarga e instala como un servicio.
  • El movimiento lateral continúa hasta que se recuperan los privilegios para obtener acceso a un controlador de dominio.
  • PSEXEC se utiliza para enviar el binario Ryuk a hosts individuales.
  • Los scripts por lotes se ejecutan para finalizar procesos / servicios y eliminar copias de seguridad, seguidos por el binario Ryuk.

De Hermes a Ryuk: similitudes y diferencias

El ransomware Hermes, el predecesor de Ryuk, se distribuyó por primera vez en febrero de 2017. Solo un mes después de su lanzamiento, se escribió un descifrador para Hermes, seguido del lanzamiento de la versión 2.0 en abril de 2017, que solucionó las vulnerabilidades en su implementación criptográfica.

Desde este lanzamiento, la única forma en que una víctima puede recuperar archivos es con la clave de cifrado privada, que se obtiene pagando el rescate. A fines de agosto de 2017, se lanzó la versión 2.1 de Hermes.

Hermes se vendió originalmente en foros por $ 300 USD. Cuando se compró, el comprador recibió una compilación que admitía dos direcciones de correo electrónico, un descifrador y un par de claves RSA únicas. Si el comprador deseaba más direcciones de correo electrónico, debía comprar otra versión por $ 50 adicionales.

Según los informes, las primeras versiones de Hermes se instalaron a través de servidores RDP accesibles a Internet protegidos por credenciales débiles. En octubre de 2017, Hermes se desplegó como una distracción destructiva para un compromiso de la Sociedad Mundial de Telecomunicaciones Financieras Interbancarias (SWIFT) en el Far Eastern International Bank (FEIB) en Taiwán.

En marzo de 2018, se observó a Hermes apuntando a usuarios en Corea del Sur a través del kit de explotación GreenFlash Sundown.

A mediados de agosto de 2018, una versión modificada de Hermes, denominada Ryuk, comenzó a aparecer en un repositorio público de malware. Ryuk se diseñó para los entornos empresariales de destino y algunas de las modificaciones incluyen la eliminación de las comprobaciones antianálisis.

Desde una perspectiva de proceso y archivo, Hermes y Ryuk se dirigen a los archivos de manera similar. Las principales diferencias son la lógica de Ryuk que maneja el acceso a los archivos y el uso de una segunda clave RSA pública incorporada.

Las siguientes son características que no han cambiado:

  • Cifra archivos usando RSA-2048 y AES-256
  • Almacena claves en el archivo ejecutable utilizando el formato patentado SIMPLEBLOB de Microsoft
  • Cifra dispositivos montados y hosts remotos
  • Utiliza un marcador de archivo HERMES para marcar o verificar si un archivo ha sido encriptado

Otra diferencia notable entre Hermes y Ryuk es cómo se crean las claves de cifrado. Hermes comienza la inicialización del cifrado generando primero un par de claves pública y privada RSA, lo que se conoce como «clave de víctima». La clave RSA pública controlada por el atacante se utiliza para cifrar la clave AES. Luego, para cada archivo cifrado, se genera una clave AES, que se utiliza para cifrar el archivo. Finalmente, la clave AES para cada archivo se cifra con la clave pública RSA de la víctima y luego se almacena al final del archivo.

Ryuk contiene la misma lógica, pero ya no genera el par de claves RSA específico de la víctima. En cambio, Ryuk tiene dos claves RSA públicas integradas en el ejecutable, y lo que anteriormente era la clave privada RSA de la víctima está encriptada e integrada en el ejecutable.

Debido a que Ryuk no genera un par de claves RSA específicas de la víctima, todos los hosts se pueden descifrar con la misma clave de descifrado. Esto puede parecer un fallo de diseño, pero no lo es, ya que Ryuk tiene una clave única para cada ejecutable.

Si se usa un solo ejecutable para un entorno de una sola víctima, entonces no hay repercusiones si las claves privadas se filtran porque solo descifrará el daño de un solo ejecutable de Ryuk. Por lo tanto, es muy probable que Ryuk genere previamente los pares de claves RSA para cada víctima.

Funcionalidad Ryuk: un análisis técnico

Hay dos tipos de archivos binarios de Ryuk: un cuentagotas (que no se observa comúnmente) y la carga útil ejecutable de Ryuk.

La recuperación de los cuentagotas de Ryuk es rara, debido a que la carga útil ejecutable de Ryuk elimina el cuentagotas cuando se ejecuta. Tras la ejecución, el cuentagotas construye una ruta de carpeta de instalación.

La ruta de la carpeta se crea llamando GetWindowsDirectoryWy luego insertando un byte nulo en el cuarto carácter de la ruta. Esto se utiliza para crear una cadena que contiene la ruta de la letra de unidad. Si el sistema operativo del host es Windows XP o anterior, la cadena Documents and Settings\Default User\se agrega a la ruta de la letra de la unidad.

Si el host es Windows Vista o más reciente, la cadena users\Public\se agrega a la ruta de la letra de la unidad. Para Windows XP, una ruta de carpeta de ejemplo sería C:\Documents and Settings\Default User\, y para Windows Vista o superior, la ruta seríaC:\Users\Public.

Luego se construye un nombre de archivo ejecutable aleatorio. Se crea llamando _srandcon un valor semilla devuelto por la llamada GetTickCount, luego _randse llama continuamente hasta que cinco caracteres alfabéticos se concatenan juntos. Luego se agrega la extensión.

El cuentagotas comprueba si el host es de 32 bits o de 64 bits llamando IsWow64Process y escribe uno de los dos ejecutables de carga útil integrados que corresponden a la arquitectura del host. El ejecutable recién escrito se ejecuta llamando ShellExecuteW. El ejecutable de carga útil de Ryuk escrito por el cuentagotas es el componente de Ryuk que contiene la lógica central para encriptar archivos en el host.

Ryuk está en constante desarrollo. En los últimos meses, los archivos binarios de Ryuk han seguido desviándose más y más del código fuente original de Hermes, con los actores de amenazas agregando y eliminando funcionalidades a menudo.

Cifrado de archivos

En comparación con otras familias de ransomware , Ryuk tiene muy pocas garantías para garantizar la estabilidad del host al no cifrar los archivos del sistema.

Por ejemplo, muchas familias de ransomware contienen listas extensas de extensiones de archivos o nombres de carpetas que no deben cifrarse, pero Ryuk solo incluye tres extensiones en la lista blanca.

Las primeras versiones de Ryuk incluían la lista blanca de yexe, dllhrmlogsysocxinilnkarchivos, pero estos se han eliminado en versiones recientes. Los siguientes nombres de carpetas también están en la lista blanca y no están encriptados.

  • Chrome
  • Mozilla
  • Papelera de reciclaje
  • Windows
  • Microsoft
  • AhnLab

Este es solo un pequeño subconjunto de nombres de carpetas que deben incluirse en la lista blanca para garantizar la estabilidad en el host. Mientras realizaba el análisis dinámico, no era raro observar a Ryuk intentando cifrar archivos relacionados con Windows Bootloader ( C:\Boot) u otros archivos y carpetas críticos.

Ryuk usa una combinación de cifrado simétrico (AES) y asimétrico (RSA) para cifrar archivos. Sin la clave privada proporcionada por WIZARD SPIDER, los archivos no se pueden descifrar y son irrecuperables. Se crea un hilo para el cifrado de cada archivo y cada archivo se cifra con su propia clave AES. Después de que el archivo ha sido encriptado, .se agrega una extensión de archivo al archivo. Todos los directorios tendrán una nota de rescate escrita en el directorio.

Ryuk intenta cifrar todas las unidades y hosts montados que tienen entradas de Protocolo de resolución de direcciones (ARP) y enumera todas las unidades montadas llamando GetLogicalDrives. Para cada unidad montada, Ryuk llama GetDriveTypeW para determinar el tipo de unidad. Si el tipo de unidad no es un CD-ROM, los archivos en la unidad se cifran.

Para recuperar direcciones IP que tienen entradas ARP, Ryuk llama GetIpNetTable. Se itera a través de todas las entradas y luego intenta enumerar archivos y carpetas en el host remoto y encriptar los archivos.

Persistencia

Las versiones actuales de Ryuk ya no contienen funcionalidad de persistencia. Anteriormente, para permanecer persistente en el host, Ryuk creó una entrada de registro bajo la tecla Ejecutar utilizando el cmd.exeshell de Windows.

La línea de comandos se utiliza para escribir el nombre del registro de tecla Run svchosa HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Runcon el valor de ser la ruta al ejecutable Ryuk.

Proceso de inyección

Ryuk no cifra los archivos desde su propio espacio de memoria de proceso, sino que los inyecta en un proceso remoto. Antes de inyectar en un proceso remoto, Ryuk intenta ajustar sus privilegios de token para tener el SeDebugPrivilege.

No realiza ninguna acción si falla el ajuste de los privilegios del token. Antes de inyectar en un proceso remoto, Ryuk también llama CreateToolhelp32Snapshot para enumerar todos los procesos en ejecución. Si se encuentra un proceso que no tiene nombre o se ejecuta en la cuenta del sistema, Ryuk se inyectará en este proceso único.

Al asegurarse de que el proceso no se ejecuta bajo los desarrolladores, se supone que el proceso no se ejecuta bajo otra cuenta y, por lo tanto, se puede escribir en él. Ryuk usa una combinación de y para inyectarse en el proceso remoto.csrss.exe, explorer.exe, lsaas.exe,NT AUTHORITYNT AUTHORITY,VirtualAlloc, WriteProcessMemoryCreateRemoteThread

Procesos de terminación de proceso/servicio y comandos de recuperación

A diferencia de otras familias de ransomware, Ryuk no contiene la terminación del proceso/servicio y la funcionalidad anti-recuperación integrada en el ejecutable. En el pasado, Ryuk contenía estas capacidades, pero se han eliminado y se encuentran dentro de dos archivos por lotes.

El archivo por lotes kill.bat contiene comandos para detener servicios, deshabilitar servicios y matar procesos. Los procesos y servicios se detienen para garantizar que no existan identificadores abiertos para los archivos que se cifrarán.

Hay otro archivo por lotes, llamado windows.bat, que dificulta la recuperación de archivos en la máquina de la víctima. Cabe señalar que los nombres de los archivos pueden ser cambiados arbitrariamente por los actores de la amenaza.

Estos comandos de recuperación anti forense son bastante interesantes y parecen hacer uso de una característica no documentada del vssadmin comando de cambio de tamaño. El comando funciona cambiando el tamaño del volumen de sombra predeterminado del 10 por ciento a 401 MB. Luego, el almacenamiento oculto se establece en ilimitado, lo que le permite utilizar todo el espacio disponible en disco.

El conjunto final de comandos elimina archivos según su extensión o ubicación de carpeta. Los argumentos del comando son para eliminar archivos en todos los subdirectorios en modo silencioso sin pedirle confirmación al usuario y forzar la eliminación de un archivo. El comando no elimina de forma segura un archivo, puede ser posible algún nivel de recuperación de archivos utilizando herramientas forenses.

Los comandos anti-recuperación utilizados por Ryuk son más extensos que la mayoría de las familias de ransomware. Todavía no se ha observado que estos comandos sean utilizados por otras familias de ransomware. Esto indica que los actores de la amenaza tienen un conocimiento profundo del software de respaldo empresarial.

Atribución

Corea del Norte

Los informes de código abierto afirman que el ransomware Hermes fue desarrollado por el grupo norcoreano STARDUST CHOLLIMA (actividades de las cuales se ha informado públicamente como parte del «Grupo Lazarus»), porque Hermes fue ejecutado en un host durante el compromiso SWIFT de FEIB en octubre de 2017.

Actores criminales que operan desde Rusia

También se cree que los actores de la amenaza WIZARD SPIDER están operando fuera de Rusia. Hermes fue anunciado originalmente en exploit[.]in. Este foro de habla rusa es un mercado bien conocido para vender malware y servicios relacionados a actores de amenazas criminales.

Si Hermes realmente estuviera relacionado con STARDUST CHOLLIMA, implicaría que los actores de amenazas de los estados nacionales están vendiendo sus servicios en foros de habla rusa, lo cual es poco probable.

La teoría de la atribución del actor de amenaza ruso también está respaldada por un anuncio temprano para Hermes, que afirmaba que su «software no funcionaba y funcionaría en RU, UA, BY». Esto se refiere a la funcionalidad implementada en Hermes para verificar el host para asegurarse de que no se esté ejecutando en un sistema ruso, ucraniano o bielorruso. Para verificar el idioma del host, consulta la clave de registro y el valor . Si la máquina tiene el valor ruso, ucraniano o bielorruso, llama para detener la ejecución.

Cómo eliminar Ryuk

Existe una forma universal de proteger tus datos de Ransomware: Haz siempre una copia de seguridad de tus datos. El paso más importante que puedes tomar para proteger tu sistema contra ransomware es realizar regularmente una copia de seguridad del sistema para proteger tus datos valiosos.

Para eliminar Ryuk Ransomware debes seguir estos pasos:

  • Reinicia tu ordenaodr en modo seguro con funciones de red.
  • Inicia sesión en tu cuenta infectada e inicia el navegador. Descarga un programa antimalware legítimo.
  • Actualízalo antes de ejecutar un escaneo completo del sistema y elimina los archivos maliciosos que pertenecen a tu ransomware y completa la eliminación de Ryuk Ransomware.

Si el ransomware te impide entrar en modo seguro con funciones de red, puedes intentar recuperar tu sistema con Restaurar sistema.

  • Habilita el Modo seguro con símbolo del sistema en la ventana Configuración de inicio.
  • Una vez que aparezca la ventana del símbolo del sistema, introduce cd restore y presiona Entrar.
  • Ahora escribe rstrui.exe y presiona Entrar nuevamente.
  • Cuando aparezca una nueva ventana, haz clic en Siguiente y selecciona el punto de restauración cuando la infección aún no haya ocurrido.
  • Después de que se complete la restauración del sistema usa su anti-malware para escanear y limpiar tu ordenador.