30 abr. 2015

Herramienta para recuperar los archivos cifrados por el ransomware #TeslaCrypt

Cifrar los archivos de la víctima y luego pedir bitcoins para descifrarlos es un negocio muy lucrativo: las campañas de ramsonware se están convirtiendo en una amenaza cada vez mayor. Después de la caída de CryptoLocker surgió Cryptowall, con técnicas anti-depuración avanzadas, y después numerosas variantes que se incluyen en campañas dirigidas cada vez más numerosas.

Una de las últimas variantes se llama TeslaCrypt y parece ser un derivado del ransomware CryptoLocker original. Este ransomware está dirigido específicamente a gamers y, aunque dice estar usando RSA-2048 asimétrico para cifrar archivos, realmente está usando AES simétrico, lo que ha permitido a Talos Group (Talos Security Intelligence & Research Group) desarrollar una herramienta que descifra los archivos...

La ventana emergente muestra información engañosa: el método de cifrado es AES simétrico, y no un RSA-2048 asimétrico según lo declarado por TeslaCrypt en la imagen anterior.
Como prueba de que TeslaCrypt está realmente utilizando AES simétrico y no RSA asimétrica, Talos publica una utilidad de descifrado capaz de descifrar todos los archivos cifrados por este ransomware (siempre que se tenga la clave maestra).

El algoritmo de cifrado de archivos

El cifrado de archivos se realiza en un thread dedicado. El código para el hilo de cifrado toma la clave maestra desplazada, calcula el hash SHA256 y comienza a enumerar todos los archivos del PC de la víctima (filtrado por tipo de extensión, TeslaCrypt soporta más de 170 extensiones de archivos diferentes).

"EncryptFile" es la función que gestiona todo el proceso de cifrado de archivos. Esta función:
  • genera un 16-bytes vector de inicialización para AES, usando la función API GetAndHashOsData
  • lee el archivo de destino
  • inicializa el algoritmo de cifrado AES a través de la creación de la estructura de datos de contexto AES
  • finalmente cifra el contenido del archivo usando un algoritmo AES de 256 bits CBC implementado en la función "EncryptWithCbcAes".
Cuando el proceso se haya completado, se crea el nuevo archivo cifrado. El nuevo archivo contiene una pequeña cabecera (compuesto del vector de inicialización AES en sus primeros 16 bytes seguido por el tamaño del archivo original en los próximos 4 bytes), y luego los bytes cifrados reales.

La herramienta de descifrado de TeslaCrypt de Talos

La utilidad de descifrado de Cisco es una utilidad en línea de comandos. Se necesita el archivo "key.dat" para recuperar correctamente la clave maestra utilizada para el cifrado de archivos. Antes de que comience la ejecución, busca "key.dat" en su ubicación original (directorio de datos de aplicación del usuario), o en el directorio actual. Si no es capaz de encontrar y analizar correctamente el archivo "key.dat", se devuelve un error y sale.

Para utilizar esta herramienta, sólo tienes que copiar el fichero "key.dat" en el directorio de la herramienta y luego especificar el archivo cifrado o un directorio que contiene archivos cifrados. ¡Eso es todo! Los archivos serán descifrados y volverán a su contenido original.

Binario Windows:
http://labs.snort.org/files/TeslaDecrypt_exe.zip
ZIP SHA256: 57ce1c16e920a9e19ea1c14f9c323857c9a40751619d3959684c7e17956d66c6

Código fuente del binario de Windows:
https://labs.snort.org/files/TeslaDecrypt_cpp.zip
ZIP SHA256: 45908f0b3f8eb73bf820ded0a886842ac5c3e4c83068097806daad662046b1e0

Script en Python:
https://labs.snort.org/files/TeslaDecrypt_python.zip
ZIP SHA256: ea58c2dd975ed42b5a30729ca7a8bc50b6edf5d8f251884cb3b3d3ceef32bd4e

Futuras mejoras

A la herramienta todavía le faltan algunas características. En particular, no han tenido tiempo para implementar el algoritmo necesario para recuperar la clave maestra de la clave de recuperación. Esto es importante porque en algunas versiones del dropper, la clave maestra se extrae del archivo "key.dat" tan pronto como se completa el cifrado de archivos. Así que habrá que estar pendiente por si publican actualizaciones.

La utilidad de descifrado es una herramienta de prueba que no está soportada oficialmente y el usuario asume toda la responsabilidad derivada del uso de la misma.

Actualización 10/03/2016: la nueva versión Tesla v3 se puede intentar recuperar con esta herramienta o leyendo este o este post.

Fuentes:

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!