Kryptina RaaS | De un producto básico clandestino a una amenaza de código abierto

Kryptina RaaS | De un producto básico clandestino a una amenaza de código abierto

Uno de los principales impulsores de la explosión de los ataques de ransomware en los últimos cinco años ha sido el desarrollo y la proliferación del modelo de ransomware como servicio, un medio para proporcionar a los ciberdelincuentes herramientas fáciles de usar y de bajo coste con las que emprender y gestionar campañas de ransomware. Los desarrolladores se benefician de un flujo constante de ingresos por la venta de suscripciones, al tiempo que evitan participar directamente en actos delictivos. El recientemente observado Kryptina Raas, un framework de ataque dedicado a Linux, ha añadido un nuevo giro a este modelo: pasar de un servicio de pago a una herramienta disponible abiertamente.

En esta publicación, exploramos el desarrollo, los tecnicismos y las implicaciones de Kryptina RaaS y su paso al crimeware de código abierto. Nos sumergimos en lo que los defensores deben saber para protegerse contra este último ransomware de Linux y los peligros que las amenazas de código abierto representan para las organizaciones.

El desarrollo de Kryptina RaaS

El RaaS de Kryptina apareció por primera vez en diciembre de 2023 en foros clandestinos, comercializado como una solución de ransomware ligera, rápida y altamente personalizable para sistemas Linux. Escrito en C, ofrecía una propuesta atractiva para los ciberdelincuentes que buscaban formas eficientes de atacar los servidores Linux y las cargas de trabajo en la nube que forman la columna vertebral de las redes de muchas organizaciones.

Inicialmente, había dos opciones de compra disponibles: una compilación independiente (cifrador y descifrador) por 20 dólares, y un paquete completo que incluía el código fuente, el constructor y la documentación por 500 dólares. El desarrollador agregó rápidamente nuevas características en enero, incluido el soporte para objetivos de 32 y 64 bits, una interfaz web actualizada y soporte para pagos de Monero (XMR) y Bitcoin (BTC). El precio del paquete completo subió a $ 800 con la adición de estas nuevas características. Esta estrategia de precios era indicativa de la intención del creador de atender a una amplia gama de actores dentro del ecosistema cibercriminal.

En febrero se produjo un sorprendente giro de los acontecimientos, ya que el creador, conocido como 'Corlys', publicó todo el código fuente en BreachForums, eliminando efectivamente cualquier barrera financiera de entrada.

Las razones declaradas por el desarrollador para publicar el código fuente de Kryptina fueron que no había logrado atraer compradores. Dado el corto período de tiempo entre su primera aparición como una oferta pagada y el lanzamiento del código fuente abierto, es posible que algunos no encuentren esto creíble. Otras motivaciones podrían incluir un intento de generar prestigio dentro de la comunidad de delitos cibernéticos, peleas con otros delincuentes y/o miedo a la atención de las fuerzas del orden.

Publicación del código fuente de Kryptina 2.2 en BreachForums
Publicación del código fuente de Kryptina 2.2 en BreachForums

Cualquiera que sea la motivación, el lanzamiento del código fuente de RaaS, completo con una amplia documentación, podría tener implicaciones significativas para la propagación y el impacto de los ataques de ransomware contra los sistemas Linux. Es probable que aumente el atractivo y la usabilidad del creador de ransomware, atrayendo a más participantes poco cualificados al ecosistema de la ciberdelincuencia. También existe un riesgo significativo de que conduzca al desarrollo de múltiples spin-offs y a un aumento de los ataques, un efecto observado anteriormente tras la filtración del código fuente del ransomware Babuk.

Carga útil de Kryptina | Técnicas

Como se ha señalado, Kryptina es un ransomware sólo para Linux que ofrece cargas útiles para las arquitecturas elf64 o elf32. Tras la ejecución, el ransomware se dirige a los directorios y archivos especificados en el generador durante la etapa de configuración.

El proceso de cifrado utiliza múltiples hilos paralelos y depende de la biblioteca de OpenSSL. Utiliza el algoritmo AES256 en modo CVC. Las claves y los datos de configuración se ofuscan a través de XOR mediante un valor personalizado definido en el momento de la compilación y, a continuación, se codifican en base64.libcrypto

La función se encarga del cifrado de archivos. Esto inicializa un contexto de cifrado OpenSSL antes de procesar flujos de archivos para transformar los datos de archivo no cifrados en los datos cifrados en el búfer de salida. finaliza los procesos y maneja cualquier relleno CBC necesario.krptna_process_file()EVP_CIPHER_CTX_new()EVP_CipherUpdate()EVP_CipherFinal

Las cargas útiles se pueden configurar para eliminar archivos de forma segura antes del cifrado, lo que dificulta aún más los esfuerzos de recuperación de datos. Cuando se habilita, se realizan varios pasos para sobrescribir los datos de archivos individuales e inhibir la recuperación. La función determina el tamaño del archivo mediante la función. A continuación, crea un búfer lleno de bytes aleatorios. A continuación, el archivo que se va a cifrar se abre en modo y el búfer de bytes aleatorios se escribe en el archivo, sobrescribiendo completamente su contenido original, hasta que coincida con el tamaño original del archivo. Una vez que se logra esto, el archivo se elimina permanentemente usando la función.secure_delete_file()statwriteunlink

"Borrado seguro" en Kryptina
"Borrado seguro" en Kryptina

La función utiliza un método de un solo paso, sobrescribiendo cada byte del archivo solo una vez, evitando el uso de múltiples sobrescrituras con diferentes patrones vistos en otros ransomware. Una sola pasada suele ser adecuada para hacer que los datos originales sean irrecuperables y aumenta la velocidad de cifrado.secure_delete_file()

Interfaz web y constructor de Kryptina

La arquitectura de Kryptina se basa en una base de scripts de Python para el generador de carga útil y los componentes del servidor web, lo que requiere dependencias como , , y otros para una funcionalidad completa. El código fuente de la herramienta está bien documentado, lo que refleja la intención de proporcionar Kryptina como una solución llave en mano.pycryptotermcolorflask

Como se señaló, desde su aparición, Kryptina se sometió a varias revisiones rápidas, y la versión 2.0 introdujo mejoras significativas, incluida una interfaz web. El servidor web, impulsado por Flask, permite al usuario ver y administrar fácilmente campañas, crear encriptadores y descifradores y comunicarse con las víctimas a través de la opción 'Chat'. Si el operador configura "Habilitar vista pública" para la campaña, las víctimas pueden iniciar el contacto con el atacante siguiendo las instrucciones proporcionadas en la nota de rescate.

Dentro de la interfaz, el "Panel de control" muestra una vista rápida de las campañas de ataque
Dentro de la interfaz, el "Panel de control" muestra una vista rápida de las campañas de ataque

El generador admite una amplia gama de argumentos de línea de comandos para especificar nombres de destino, descripciones, claves de cifrado, directorios o archivos de destino, etc. Este nivel de personalización subraya la versatilidad de Kryptina y el control granular que ofrece a los operadores.

El generador también se puede programar con Python y admite los siguientes parámetros de línea de comandos.

Arg Descripción
-n Nombre de su objetivo
-a About, A short description about your target
-k Base64-encoded 256-bit key to use (default: random)
-t Directories or files to target (comma-separated)
-i Files/extensions to ignore (comma-separated)
-e Custom extension to use (default: .krptna)
-j Max number of jobs (threads) to use (default: 20)
–arch32 Create a 32-bit binary (x86)
–xor_key The XOR key to use for encoding encrypted config data (default: 155)
–note The local file containing the encryption notice text (default: note/template.txt)
–note_name The absolute/relative filename to write encryption notice to on target
–nonote Don’t write encryption note on the target
–bitcoin Bitcoin wallet address for receiving payment
–monero Monero wallet address for receiving payment
–amount The amount to ask for in USD (default: 100.0)
–fecha tope El plazo de pago en horas (por defecto: 72,0)
–Tox El ID de chat de Tox en el que desea ser contactado
–sesión El ID de chat de sesión en el que desea que se comuniquen con usted
–depurar Habilitación de la salida de depuración
–demo Cree una carga útil de demostración que en realidad no encripte/descifre archivos
–Símbolos Compilar binario con símbolos de depuración (-ggdb3)
–nolog No registre la configuración de la carga útil en el directorio output/
–persistir Deshabilitar la eliminación automática de la carga útil
–secdel Habilitar la eliminación segura al cifrar archivos (muy lento, pero hace que la recuperación sea mucho más difícil)
–tamaño máximo Tamaño máximo del archivo (en megabytes) de destino (predeterminado: ilimitado)
–Recomendar Ajuste automático de los valores recomendados para los parámetros no definidos
–estático Compilar las cargas útiles como binarios estáticos
–verboso Imprimir comandos y salida del compilador

SentinelOne protege contra el ransomware Kryptina

SentinelOne Singularity detecta las cargas útiles de Kryptina y protege los sistemas Linux contra el ransomware Kryptina. Cuando se permite que se ejecute en el modo 'Solo detectar' con fines de observación, el comportamiento malicioso de Kryptina junto con los indicadores se pueden ver en la consola de administración.

SentinelOne protege contra el ransomware Kryptina
SentinelOne protege contra el ransomware Kryptina

Conclusión | Navegando por la amenaza de Kryptina para los sistemas Linux

El viaje de Kryptina RaaS desde una herramienta clandestina de pago hasta un proyecto de código abierto disponible gratuitamente ilustra la complejidad de las amenazas a las que se enfrentan los defensores de la red. A medida que otros actores iteran en el código proporcionado, que proporciona todo, desde cargas útiles de ransomware personalizables hasta gestión de campañas y comunicación con las víctimas, es probable que prolifere una gran cantidad de variantes de Kryptina de la misma manera que vimos que las variantes de Babuk se multiplicaron y diversificaron.

A medida que el movimiento hacia la nube y las cargas de trabajo y contenedores en la nube continúa a buen ritmo, el atractivo de Linux como objetivo para los ciberdelincuentes crece con él. Los sistemas Linux, que alimentan todo, desde los dispositivos perimetrales hasta los servidores, las tecnologías de orquestación como Kubernetes y la infraestructura en la nube como AWS, Azure y Google Cloud, están en el corazón de los entornos empresariales modernos, y protegerlos es esencial.

Para saber cómo SentinelOne puede ayudar a proteger los sistemas Linux de su organización del ransomware y otras amenazas, póngase en contacto con nosotros o solicite una demostración gratuita.

Indicadores de compromiso

Archivos de origen

03bbfdbad1d1fd93d6c76de9a61e9cfc49e7e319
095538ff7643b0c142335c978bfe83d32a68cdac
1f08d9d0fe90d572a1bb0488ffe60e9f20c11002 226aea1e37bc2d809115ceb6ac5ea99e62d759c9

2aa6a1019c16f414288827800 98f0c3263e95e446
33306b854770f95d0a164932d72bec1f78de54bf
51acdb8f29726fe7d5b6207f106e7138b564fd39
5413adf32129d50c4984e406d5a3804435d1cfc1
60b5beffaf738f5112233ed9b36975822c1f7bfc
6f3c3129fc2ac56b61fa4df21e723f3dd2aceb70
8ec866aa48a9bb8d6df7fbbe1a073390f4b0098c d0231ce29ea7a63bea7451c42d69e93c83babb48 d41b8a7bc9bc444372e06e67585a8086d6d6ae8cfc


d46fbc4a57dce813574ee312001eaad0aa4e52de
ddcf4a6bc32afe94e3ea955eead9db179d5394c2
e3e8ed6ac01e6edb8d8848b1472882afb0b36f0b
f84ffe172f9d6db18320ad69fc9eade46c41e9da

Ejemplos de carga útil

355d70ffe98e6f22b6c3ad8d045e025a5ff78260 63580c4b49d350cf1701fb906c94318a683ae668

63ff8359da29c3ba8352ceb4939f2a3e64987ab6
dd495839a4f4db0331c72a4483071a1cef8da17e

MITRE ATT&CK

T1014 Defensa Evasión
T1059.006 Intérprete de comandos y secuencias de comandos: Python
T1068 Escalada
de privilegios T1070.003 Eliminación del indicador: Borrar historial
de comandos T1070.004 Eliminación del indicador: Eliminación de archivos T1070.002 Eliminación
del indicador: Borrar registros del
sistema Linux o Mac T1140 Desofuscar/Decodificar archivos o información
T1222.002 Modificación de permisos de archivos y directorios: Modificación
de permisos de archivos y directorios de Linux y Mac T1485 Destrucción
de datos T1486 Datos cifrados para el impacto
T1562.001 Deteriorar defensas: deshabilitar o modificar herramientas
T1562.012 Deteriorar defensas: deshabilitar o modificar Linux Auditar System
T1573.002 Canal cifrado: criptografía asimétrica

Fuente: www.sentinelone.com

Canal de Denuncias

Ingrese a este enlace para denunciar cualquier actividad de la que haya podido ser testigo o tenga alguna sospecha de comisión de un delito relacionado a corrupción.