¡Vd. usa un navegador obsoleto!

Es posible que la página no se visualice correctamente.

Cifrarlo todo

Закодировать всё

Otras ediciones de este tema (27)
  • añadir a favoritos
    Añadir a marcadores

A veces es mejor callar

Consultas: 1294 Comentarios: 2 Ranking: 8

viernes, 21 de julio de 2017

Como Vd. ya habrá leído en nuestras ediciones anteriores, muchas veces el descifrado correcto de archivos dañados por los troyanos encoders es posible por causa de errores de los desarrolladores de programas nocivos. No podemos decir muchas cosas sobre el asunto: cualquier análisis de errores de este tipo es un regalo a los autores de troyanos usando el cual los mismos podrían crear una versión más “avanzada”.

Lamentablemente, no todos se percatan de esto, y por lo tanto algunas pistas para los creadores de virus pueden consultarse en Internet. Por ejemplo:

Como resultó, los autores de NotPetya (también conocido bajo muchos otros nombres — Petya, Petya.A, ExPetr etc.) hicieron un error en el algoritmo Salsa20, y, como resultado, la mitad de bytes de la clave de cifrado no se usaba. La longitud de la clave que se redujo de 256 a 128 bits, lamentablemente, no deja esperanzas de encontrarla en breve.

Pero gracias a algunas peculiaridades de aplicación del algoritmo Salsa20 es posible recuperar los datos sin conocer la clave.

https://habrahabr.ru/company/pt/blog/332618/

El artículo es muy interesante, pero abundan los términos especiales, por lo tanto, no vamos a citarlo con mucho detalles, solo destacamos algunos momentos.

Aquí, por ejemplo, se analiza el uso del tipo de datos insuficiente para la ubicación de la longitud del índice necesaria:

Vamos a ver el prototipo de la función s20_crypt32(), a través de las llamadas de la cual se cifran los sectores de la unidad.

enum s20_status_t s20_crypt32(uint8_t *key,
                            uint8_t nonce[static 8],
                            uint32_t si,
                            uint8_t *buf,
                            uint32_t buflen)

Con el argumento si (probablemente, Stream Index) se transfiere el desplazamiento de bytes en el flujo. Y por tipo del argumento se entiende que no son 64, sino solo 32 bits. Este valor entra en keystream una vez dividido por 64, es decir, quedan 26 bits como máximo.

// Set the second-to-highest 4 bytes of n to the block number
    s20_rev_littleendian(n+8, si / 64);

Los errores de realización del algoritmo por cuya causa varios datos se cifran con opciones similares:

De 26 bits del número del bloque, solo 16 bits (bytes por desplazamiento 0x20-0x21) influirán en keystream. Por lo tanto, el periodo de la gama máximo es de 2^16=65536 bloques de 64 bytes, o 4 MB.

El volumen de los datos cifrados por supuesto supera bastante 4 MB, por lo tanto, muchas partes de datos distintas se verán cifradas en los mismos fragmentos de la gama. Y es lo que permite realizar un ataque trivial a base del texto abierto conocido.

Hay errores de la lógica:

Al llamar la sección s20_crypt32() en vez del valor de desplazamiento en bytes transfieren … el número del sector de 512 bytes.

Posibilidad de recuperar las opciones del cifradoо:

El extorsionista cifra también dos primeros sectores de cada archivo más largo de 1024 bytes. Así mismo, el tamaño del clúster suele superar dos sectores (por ejemplo, 8). En este caso, al encontrar el inicio cifrado de cualquier archivo y al omitir 1024 bytes, podemos obtener fácilmente los siguientes 3 KB no cifrados. Y si tenemos un archivo donde por desplazamiento de 1024 bytes del inicio hay 3 KB similares — con mucha probabilidad, coincidirá también el inicio del archivo. Y recibiremos hasta 1024 bytes más de la gama.

Lamentablemente, los errores mencionados de los autores del troyano se refieren al módulo de cifrado que funciona si el encoder consigue obtener los privilegios administrativos y cifra el disco duro completamente o con el algoritmo Salsa20. Y si el troyano no puedo obtener privilegios administrativos, usaba otro algoritmo– AES – y cifraba solo los archivos del usuario. Y para recuperar los datos cifrados de esta forma es necesario conocer la clave secreta RSA.

#cifrador #troyano #Trojan.Encoder

El mundo de antivirus recomienda

  1. A veces, si indicamos el error a los malintencionados, les ayudamos. Nadie puede ser encarcelado por consultas gratuitas, pero a veces por causa de estas pistas sus autores se consideran cómplices de los creadores de virus.
  2. Los archivos cifrados no siempre es una condena.
  3. Si sus archivos están cifrados y no hay utilidad para descifrarlos, no los borre. A veces el algoritmo de descifrado se desarrolla más tarde.

[Twitter]

Nos importa su opinión

Para redactar un comentario, debe iniciar sesión para entrar en su cuenta del sitio web Doctor Web. - Si aún no tiene la cuenta, puede crearla.

Comentarios de usuarios