Inicio > Nosotros > Blog > Descifrando Teslacrypt

Descifrando Teslacrypt

27/09/2017

Guía de descifrado para TeslaCrypt archivos cifrados

¿Cómo es posible descifrar los archivos cifrados?

TeslaCrypt 2.2.0 y mayores utiliza el algoritmo de intercambio de claves ECDH para proteger la clave privada. Los desarrolladores TeslaCrypt decidieron multiplicar el ECDH secreto compartido, calculado con la clave privada generada en el ordenador de la víctima. Esta decisión nos permite la posibilidad de recuperar la clave privada original del SharedSecret * PrivateKey mediante la factorización de números primos y luego el uso de estos factores primos para reconstruir la clave privada original. Utilizando diversas herramientas y utilidades de factorización, podemos recuperar la información necesaria para recuperar y volver a crear la clave privada. Una vez que la clave privada ha sido recuperada, podemos utilizar TeslaDecoder para descifrar los archivos cifrados.

Cabe señalar que la determinación de la clave de descifrado para un archivo cifrado podría ser muy corto (menos de 5 minutos) o muy largo (un par de días). Por lo tanto, cuanto más potente sea el ordenador, más rápido será el proceso. Desafortunadamente, no hay manera de determinar lo rápido que será recuperar la clave de descifrado.

¿Qué versiones pueden ser descifrados por este método?

. Todas las versiones de 0.3.4a a 2.2.0 
Extensiones de archivos cifrados compatibles son: ecc(0.3.4a +), ezz , exx , xyz , zzz , aaa , abc , ccc , vvv 

Terminología utilizada en este documento:

Nuestra terminología puede ser diferente de la que utilizan otros investigadores. Para aclarar esto,  a continuación, hemos definido el significado de cada término que se utiliza en este proceso.

ECDH SharedSecret - curva elíptica Diffie-Hellman

TeslaPrivateKey - Clave privada de los creadores de Tesla. Hay 3 teclas utilizadas en TeslaCrypt hasta ahora. Estas teclas pueden descifrar todos los archivos cifrados por la versión de TeslaCrypt correspondiente. Estas teclas son desconocidos para mí.

PrivateKeyBC - clave privada utilizada para el cálculo de Bitcoin. Esta clave es utilizada por TeslaCrypt como llave maestra para el ordenador infectado. Todos los archivos cifrados por este equipo pueden ser descifrados por este número. El objetivo principal es encontrar este número.

PrivateKeySHA256BC - Hash PrivateKeyBC utilizando el algoritmo SHA256

PublicKeyBC - Clave pública de dirección bitcoin calculado. Más información sobre el cálculo de Bitcoin se puede encontrar aquí .

SharedSecretBC - secreto compartido calculada a partir de PrivateKeyBC, PublicKeyBC y TeslaPublicKey. Nombrada SharedSecert1 en TeslaViewer.

PrivateKeyFile - Este número se utiliza directamente como clave AES de cifrado de archivos / ecryption. Este número se cambia cada vez que se ejecuta TeslaCrypt en el ordenador infectado.Este número puede descifrar los archivos cifrados sólo en la sesión "actual". Si no son capaces de obtener PrivateKeyBC en un tiempo razonable se puede tratar de utilizar SharedSecret2 * PrivateKeyFile y PublicKeyFile para recuperar esta clave.

PublicKeyFile - Clave pública de PrivateKeyFile.

SharedSecretFile - secreto compartido calculado a partir de PrivateKeyFile, PublicKeyFile y PublicKeyBC o PublicKeySHA256BC. Lo nombré SharedSecret2 en TeslaViewer.

Instrucciones:

Con el fin de recuperar la clave de descifrado para sus archivos, tenemos que recuperar el PrivateKeyBC o PrivateKeyFile, pero primero tenemos que determinar las correspondientes PrivateKey y las claves públicas. Esta información se puede obtener de una de las siguientes fuentes:

  • archivo de recuperación (RECOVERY_KEY.TXT, RECOVERY_FILE.TXT, recovery_file _ *. txt, recover_file _ *. txt se encuentra en la carpeta de documentos)
  • Cualquier archivo cifrado
  • archivo de datos de Tesla (key.dat *)

* La información key.dat:

636 y 648 bytes de longitud key.dat no contiene ECDH por lo que no se admiten en TeslaViewer. 
656 bytes de longitud key.dat es una versión híbrida y se apoya en TeslaViewer si el contenido es válido. (Este archivo de datos se debe comprobar manualmente.
752 bytes de longitud key.dat se admite en TeslaViewer.

Tenga en cuenta que esta es una guía larga y detallada. Si usted tiene alguna pregunta sobre cómo utilizar esta herramienta, no dude en preguntar

Paso 1: Configuración de la carpeta de trabajo

El primer paso es crear una carpeta en el escritorio llamado TD (por tesladecrypt) que utilizaremos como nuestra carpeta de trabajo. A continuación, busque un archivo encriptado y copiarlo en esa carpeta. 


En caso de difrado .ecc o .ezz se necesita, además, key.dat, que se encuentra en la carpeta "appdata" o RECOVERY_KEY TXT / RECOVERY_FILE.TXT  que se encuentra en la carpeta Mis documentos.

Ahora descarga los siguientes archivos en la carpeta de TD.

  • TeslaDecoder (Descargar de nuevo para asegurarse de que tiene la última versión)
  • Yafu

Paso 2: El uso de TeslaViewer para extraer SharedSecret1 * PrivateKeyBC y PublicKeyBC.

Una vez que los archivos se descargan, vaya a la carpeta TD \ TeslaDecoder y haga doble clic en TeslaViewer. Esto abrirá una pantalla similar a la de abajo.

TeslaViewerTeslaViewerteslaviewer.png
Figura 1. TeslaViewer

Haga clic en el botón de exploración, como se indica por la flecha roja y navegue a la carpeta de TD que guardó su muestra de archivos encriptados. A continuación, seleccione el archivo cifrado de ejemplo que vamos a tratar de descifrar. En caso de cifrado ECC o Ezz tiene que seleccionar el archivo key.dat. TeslaViewer ahora mostrará una variedad de información que se recupera del archivo tal como se muestra a continuación.

teslaviewer-information.pngFigura 2. Información TeslaViewer

Como se puede ver TeslaViewer recupera la información de la PublicKeyBC y la SharedSecret1 * PrivateKeyBC que necesitamos. Para utilizar esta información, sin embargo, es más fácil copiarla en un archivo de texto. Para ello, haga clic en el botón Crear work.txt y esta información se copìará en un archivo llamado work.txt ubicado en el mismo lugar en que se ha ejecutado TeslaViewer.

Un ejemplo del archivo work.txt guardado se muestra a continuación.

work.txt.png

Figura 3. Work.txt

Ahora que tenemos la información que necesita para iniciar las técnicas de encriptación, nos movemos en el paso 3 siguiente.

Paso 3: Ahorro de tiempo por ver si el número SharedSecret1 * PrivateKeyBC está ya previsto en Factordb.com

Con el fin de volver a crear la clave de descifrado, se necesita llevar a cabo la descomposición en factores primos de SharedSecret1 * PrivateKeyBC. Por desgracia, la factorización de grandes números es una tarea complicada y potencialmente muy larga. Afortunadamente hay un sitio llamado factordb.com que le permite introducir un número y ver si se ha tenido en cuenta en sus factores primos. Como Factordb.com sólo acepta formas decimales de los números, tendremos que copiar el número decimal de SharedSecret1 * PrivateKeyBC del archivo work.txt que hemos creado en el paso anterior. A continuación se muestra el mismo archivo work.txt que el anterior, pero con el número decimal de SharedSecret1 * PrivateKeyBC que necesita factorizar destacado por el cuadro azul. 

decimal-version-of-number.pngFigura 4. decimal SharedSecret1 * PrivateKeyBC en Work.txt

Ir a factordb.com y pega este número en el campo de búsqueda. Cuando aparezcan los resultados, que desea prestar especial atención al estado de la columna. Si los estados de columna de estado, FF como se muestra a continuación, usted es muy afortunado ya que ello nos indica que el número primo esta completamente factorizado y se puede saltar la larga tarea de factorizar los números usted mismo. Si se estableceCF , entonces sólo algunos de los factores son conocidos y que se necesita llevar a cabo la descomposición en factores primos del número.

fully-factored_1.png 
Figura 5. Número completamente factorizada

Si se mostraba que estaba totalmente factorizado (FF), entonces esencialmente, el trabajo esta hecho. Copia simple de cada factor en su propia línea, como se muestra, con los números subrayados anteriormente, en un archivo  que necesitaremos para usarlos en un paso posterior. A veces, los factores se mostrarán como algo parecido 1884516739 ... 69 <146> . En esta situación, es necesario hacer clic en el factor con el fin de ver el número completo, lo que sería 146 dígitos de longitud en este ejemplo. Ahora que ha copiado de forma segura cada factor en un archivo, con cada factor en su propia línea, puede saltar al paso 5 para reconstruir su clave privada de descifrado.

Por desgracia, si muestra un estado de CF como se muestra a continuación, entonces significa que solamente se conocen algunos factores y todavía se necesita realizar la descomposición en factores primos por su cuenta.

factordb-lookup.jpg
Figura 6. No completamente fac-

Debido a que su número no está ya previsto, se tendrá que realizar la factorización.

Paso 4: factoring primer número decimal SharedSecret1 * PrivateKeyBC

Para llevar a cabo la descomposición en factores primos de SharedSecret1 * PrivateKeyBC tenemos que utilizar herramientas especializadas tales como Yafu y Msieve. En esta guía vamos a utilizar la herramienta Yafu que ha descargado en el  Paso 1 . Yafu normalmente se puede encontrar aquí , pero esa versión requiere descargar varios otros componentes tales como GGNFS y GMP-ECM para conseguir que funcione correctamente. Para hacerlo más fácil, hemos creado una descarga Yafu con los componentes necesarios ya empaquetados. Se pueden descargar de nuevo aquí si no lo hizo en el paso 1 .

Enlace de descarga Yafu

A continuación se presentan las instrucciones para factorizar su SharedSecret * PrivateKeyBC  al número decimal usando Yafu.

Para aquellos que no están familiarizados con la línea de comandos de Windows, hemos creado algunos archivos por lotes que hacen que sea más fácil para llevar a cabo este proceso si no está familiarizado con la línea de comandos o puede utilizar la versión GUI llamada RunYafu.exe . Cada archivo por lotes tiene una versión x86 y x64 que se debe utilizar en función de su sistema operativo. 

Antes de considerar su número, usted debe hacer doble clic en el tuneX86.bat (usuarios de 32 bits) o la tuneX64.bat (usuarios de 64 bits)  para optimizar Yafu en su equipo. Este proceso puede llevar un tiempo, así que por favor sea paciente mientras se completa. También puede utilizar la línea de comandos para Yafu con el comando correspondiente si usted no desea utilizar el archivo por lotes tune.bat:

Yafu x86 : YAFU-Win32.exe tune () Yafu X64: sintonizar YAFU-x64.exe ()
 

Cuando se inicia el proceso de ajuste, verá una ventana similar a la de abajo.

tuning.png
Figura 7. Sintonización

Cuando haya terminado, usted puede ahora comenzar a factorizar utilizando su número de Yafu. Work.txt abierta y copiar el número decimal asociado con SharedSecret * PrivateKeyBC como se muestra en la Figura 4 anterior. Para iniciar la factorización, haga clic en el factorX86.bat (usuarios de 32 bits) o la factorX64.bat (usuarios de 64 bits). Cuando el guión le pida el número que desea factorizar, debería copiar el número decimal de su work.txt y luego haga clic en la ventana factor.bat negro. Una vez que haya hecho clic en la ventana factor.bat, haga clic con el botón derecho del ratón para pegar el número en la ventana. Una vez que el número se ha pegado puede pulsar entrar .

A continuación, le preguntará por la cantidad de hilos que desea utilizar. Por lo general, debe establecer este número a la cantidad de CPU's totales menos 1, por lo que existe una CPU de sobra para hacer otros trabajos. Puede ver la cantidad de CPU's que tiene entrando en el Administrador de tareas y luego hacer clic en el rendimiento como se muestra a continuación.

performance-tab.png
Figura 8. CPU lógicas

Nótese cómo en la Figura 8 anterior muestra que tengo 8 CPU's. Por lo tanto, tendría 7 en el número de hilos a utilizar y pulse enter . Una vez que introduzca el número de hilos y pulse ENTER, Yafu comenzará factorizar su número.

La factorización de su SharedSecret1 * PrivateKeyBC comenzará ahora y que se verá algo similar a la de abajo.

factoring.pngFigura 9. Factoring

Como ya se ha indicado, este proceso puede durar un largo tiempo o un corto período de tiempo, dependiendo del número, por favor sea paciente. Cuando Yafu ha terminado, se mostrará una lista de factores primos, como se muestra a continuación.

factors-found.png
Figura 10. Los factores encontrados

Ahora tendrá que copiar cada uno de estos factores en la work.txt para que podamos utilizarlo en la siguiente etapa. Cuando se copia, debe copiar cada uno en su propia línea. Así que cuando se hace, los factores deben ser listados en work.txt como:







29 
283 
5441 
23827 
694407479587225887111618306307 
65908736209941917092087881680509 
9614840347780751770439646130515390398878117 
26392081893794160933561951385008001

Ahora puede continuar con el paso 5 de abajo para volver a crear la clave de descifrado.

Paso 5: Refactorizando la clave privada

Ahora que tenemos todos los factores de la SharedSecret1 * PrivateKeyBC, tenemos que utilizar TeslaRefactor para reconstruir la clave de descifrado privada. Al iniciar TeslaRefactor se le presentará con una pantalla similar a la de abajo. 

teslarefactor.pngFigura 11. TeslaRefactor

Ahora tiene que copiar la lista de los factores que ha creado en su documento work.txt y pegarlos en el texto de gran tamaño designado por la flecha azul. A continuación, deberá copiar el PublicKeyBC que se encuentra en work.txt y copiarlo en el campo de Public Key (hex) según lo señalado por la flecha roja.

Su pantalla TeslaRefactor ahora se parecerá a la siguiente.

filled-in-teslarefactor.pngFigura 12. TeslaRefactor con Employers


Para obtener su clave de descifrado privada, simplemente haga clic en el botón Find private key. TeslaRefactor reconstruirá la llave y se mostrará en el programa como se muestra en la Figura 13.

found-private-key.png
Figura 13. encontrado la clave privada

Como se puede ver, en la imagen de arriba encontramos la clave privada D01E751E8499D68B8EC1862401C573CEED9CEF96E72741AD15489A2A0BC688A4 .

Si había un problema para encontrar la clave privada, por favor verifica comparar el valor del product (dec) y del product (hex) con los valores SharedSecret1 * PrivateKeyBC en el archivo work.txtv.Si el product es el mismo que en el archivo work.txt, desactive la casilla de verificación Optimizatión y haga clic en el botón Buscar la clave privada de nuevo.

Si usted tiene la clave privada, copiarlo en el archivo work.txt para que podamos utilizarlo en la siguiente etapa.

Paso 6: descifrar sus archivos con la clave privada refactorizada

Ahora que ha recuperado la clave privada puede descifrar los archivos mediante TeslaDecoder. Para ello, haga doble clic en el programa TeslaDecoder.exe,  veremos la pantalla principal como se muestra en la Figura 14.  Para acceder a las carpetas personales u ocultos  se necesita ejecutar TeslaDecoder.exe como administrador. Para ello, haga clic en TeslaDecoder.exe y haga clic en opción Ejecutar como administrador.

tesladecoder.png
Figura 14. TeslaDecoder

Cuando se muestra la pantalla principal, haga clic en el botón Set Key y pegue la clave privada recuperada en la etapa anterior. A continuación, seleccione la extensión de los archivos cifrados. Se puede ver un ejemplo de esto en la imagen de abajo.

set-key.png
Figura 15. Ajuste de la clave privada

Ahora haga clic en el botón  Set Key para cargar la llave en TeslaDecoder. Ahora puede realizar una prueba de descifrado en el archivo de ejemplo que copiamos a la carpeta TD que hemos creado antes. Si el archivo se descifra con éxito, a continuación, utilizar el botón decrypt all botón para descifrar todos los archivos en su disco duro.

Formulario de contacto

Todos los campos son requeridos

Localización

Estamos en Santiago de Compostela por si nos quieres visitar (previa Cita)

Zetra Datos

2015 © CREOWEBS. Diseñamos y creamos