Ransomware

Lo que sabemos hasta ahora sobre Kirk, el ransomware basado en Star Trek

Pantallas mostrando personajes de Star Trek, pedido de rescate en Monero y desarrollo en Python... Sin dudas, Kirk es un ransomware fuera de lo común.

Hace poco se descubrió un nuevo ransomware que llamó nuestra atención por varios motivos. Por empezar, su nombre es Kirk y las pantallas de bloqueo y pedido de rescate que le muestra a su víctima están basadas en la franquicia de series y películas Star Trek; y si bien hasta el momento no fue posible romper su cifrado, no hay víctimas conocidas. Así es: la firma que le asignamos desde ESET, Python/Filecoder.Kirk.A, no ha tenido ninguna detección hasta ahora y tampoco las hubo para otros proveedores.

Otra característica que lo distingue de otros ransomware es que exige que se pague el rescate en Monero, una criptomoneda no tan conocida que ha sido tildada como más segura que Bitcoin; esto llevó a que algunos cibercriminales elijan desarrollar amenazas para minar esta moneda, como fue el caso de Crytes, un código malicioso que abusa de los recursos del sistema víctima a tal fin. Por lo tanto, era de esperar que algún ransomware comenzara a pedir Monero.

Fue interesante encontrarnos con que estaba desarrollado en Python. Sucede que los códigos maliciosos como el ransomware generalmente suelen ser desarrollados en lenguajes compilados y no interpretados, porque con los lenguajes que se compilan, tales como C, C++, JAVA, Visual Basic o Delphi, resulta casi imposible obtener el código fuente y esto hace más difícil su análisis. En cambio, con los interpretados, hay más posibilidades de obtener el código y esto facilitó el análisis que te mostramos a continuación.

Análisis en detalle de Kirk

Kirk es un ransomware desarrollado en Python que fue compilado con Pyinstaller, una herramienta utilizada para convertir los scripts hechos en este lenguaje en un ejecutable. De esta forma, se puede correr el software en un equipo sin la necesidad de tener instalado el motor de Python junto son sus librerías. Gracias a que este lenguaje de programación es interpretado junto con las técnicas adecuadas de ingeniería inversa, podemos obtener gran parte del código fuente y realizar un análisis.

Como podemos ver en las primeras líneas del código, se encuentran importadas las dependencias del ransomware Kirk; son librerías que contienen clases y métodos para realizar, como por ejemplo el cifrado de la información. Cabe destacar que esta amenaza es capaz de cifrar más de 600 tipos de archivos.

Más adelante se encuentran constantes y variables declaradas que se van a utilizar a lo largo del código, y la variable contenedora del mensaje que se va presentar al usuario con las instrucciones y los pasos necesarios para recuperar la información cifrada.

Aquí estamos en presencia de la función select_files que se va a encargar de recorrer los directorios y buscar archivos con las extensiones que son de interés para el cibercriminal; a continuación se encuentra la clase Worker, que permitirá al código malicioso cifrar información en múltiples bloques en paralelo (hacer uno por uno llevaría demasiado tiempo).

El método encrypt, de la misma clase, se encarga de cifrar la información de la víctima. Observamos que a cada archivo se le va a agregar la extensión .kirked, con la cual podemos identificar con qué ransomware se infectaron los archivos.

Por último nos encontramos con lo que se conoce en el ambiente de desarrollo como la función principal Main. Todo lo que se encuentre dentro de ella será lo primero en ejecutar cuando el software se inicie. Aquí es donde se crea el archivo que el atacante solicita a la víctima que envíe para recuperar la información secuestrada.

A su vez, vemos cómo se declara un objeto de la clase Worker y ejecuta el método start, que tendrá como tarea cifrar toda la información del equipo víctima. Por último, se observa la construcción de la ventana y el mensaje que se le va a presentar al usuario indicándole que se ha secuestrado su información y que deberá realizar un pago en Monero para recuperarla.

La incógnita

Claro que quedan algunas preguntas sin responder tras este análisis. Por ejemplo, ¿por qué no hay detecciones? Al día de hoy, la firma que le asignó ESET, Python/Filecoder.Kirk.A, sigue sin detecciones. Sabemos que los usuarios son cada vez más conscientes de los riesgos y hacen un esfuerzo por protegerse, pero es una realidad que las infecciones por ransomware no dejan de aumentar. Entonces, que el nivel de detecciones de este ransomware a nivel mundial siga siendo cero, a pesar de que fue descubierto hace ya varios días, es algo extraño.

En la misma línea, los cibercriminales detrás de Kirk no parecen haber estado trabajando demasiado en campañas de propagación; de hecho, no sabemos cómo se propaga, pero sí sabemos, gracias al análisis de Bleeping Computer, que se hace pasar por la aplicación de código abierto Low Orbital Ion Cannon. La ausencia de correos con adjuntos maliciosos, método de propagación por excelencia del ransomware, no deja de llamar nuestra atención.

Por otro lado, como mencionamos anteriormente, las familias de ransomware más complejas y que logran mayores índices de infección no suelen estar desarrolladas en Python; además, Kirk no se conecta con ningún sitio remoto, ya que ejecuta sus acciones de manera local.

Quizá todo esto podría significar que se trata de una amenaza experimental y sus creadores (todavía) no tienen en mente obtener ganancias. Aún así, no dejamos de preguntarnos... ¿qué está tramando Kirk?

De todas formas, no está de más protegerse contra esta y otras familias de ransomware, así que recuerda tener siempre instalada y actualizada una solución de seguridad capaz de detectar y bloquear códigos maliciosos, y contar con un backup que te permita restaurar tus archivos en caso de que se vean afectados.

Para más información sobre cómo protegerte del ransomware, mira este video:

 


¿Quieres recibir nuestros mejores contenidos?

Suscríbete a nuestro newsletter

Discusión