Bueno, depende del algoritmo que el ransomware haya utilizado para cifrar sus archivos. Es plausible que tomen el mismo cifrado para todos los archivos y con eso puede descifrar todos los archivos que sean más pequeños o iguales al tamaño de su archivo más grande que tenga de esa manera.
Depende en gran medida de cómo han funcionado. Bueno, si saben lo que están haciendo, esto no debería ser posible, pero esos tipos de malware no son las manzanas más grandes y brillantes en el árbol y, por lo tanto, la probabilidad es alta, simplemente puedes decodificarlo así:
Usted XOR la copia de seguridad con el archivo cifrado y con eso obtiene la secuencia de cifrado que utilizaron. Entonces, incluso si no conoce la clave, puede usar esa secuencia de cifrado para desbloquear todos los demás archivos mediante XOR con la secuencia de cifrado.
Eso es básicamente un enfoque de texto sin formato conocido y debería funcionar. Conozco codificadores que están haciendo un buen trabajo pero fallan totalmente en la criptografía. Así que he visto eso, he estado allí y he descifrado los archivos por ese método.
Escribirlo debería ser fácil en C. Y probar, si eso funciona, vale la pena el esfuerzo. Podrían haber protegido su encriptación contra eso. Pero es muy probable que no lo hayan hecho. Los codificadores que hacen tanta basura suelen ser las manzanas podridas con gusanos. Y realmente no son los más inteligentes, si alguna vez hiciste ingeniería inversa de uno de sus códigos basura.
Lo acabo de hacer, funciona, por supuesto:
#include
#include
void main (int argc, char ** argv) {
if (argc <2) {
put (“use: decrypt “);
salir (EXIT_FAILURE);
}
int c, k;
ARCHIVO * clave = fopen (argv [1], “rb”);
if (! tecla) salir (EXIT_FAILURE);
while (EOF! = (c = fgetc (stdin))) {
k = fgetc (clave);
putchar (k ^ c);
}
}
Compilar y usar:
> cc -O3 -o decrypt_xor decrypt_xor.c
#create un archivo fuente destrozado
> cat decrypt_xor.c | aespipe -P decrypt_xor.c.pass> decrypt_xor.c.aes
#la contraseña es desconocida, así que no necesito revelarla
# extraer la clave
> ./decrypt_xor decrypt_xor.key
#con la clave extraer la fuente de AES
> ./decrypt_xor … imprime el archivo fuente original
Esto ahora funcionará para todos los archivos que están cifrados con la misma clave y que son más cortos o iguales al archivo fuente y se cifraron con el mismo archivo clave. Simple como eso. Mi programa se mantiene muy simple y sin usar buffers, etc. No es eficiente, solo para mostrar el funcionamiento.
Pero depende en gran medida del algoritmo que tomaron para el cifrado. No tanto cómo calcularon el flujo de cifrado, sino si usaron CBC, ECB o cualquiera de los otros modos. He revertido el mal cojo que hizo eso, solo por diversión e incluso no usaron cifrado en absoluto. Solo un generador pseudoaleatorio. Entonces … no hay problema con eso.
La secuencia de cifrado es más o menos un generador de números pseudoaleatorios elaborado, que comienza con una clave. Si no retroalimentan los bloques individuales, sino que solo usan el modo OFB, que a menudo se toma para transmisiones y eso, este simple mecanismo de decodificación funcionaría.
Depende en gran medida de la forma en que apliquen la criptografía y simplemente darse por vencido antes de intentarlo significa que les permite ganar.
La criptografía es teóricamente muy segura. Prácticamente sufre de imbéciles que lo usan. Calcule siempre el factor imbécil. Como hicieron los británicos con el Enigma alemán durante la Segunda Guerra Mundial. Esa cosa era lo suficientemente segura, teóricamente. Pero los operadores estúpidos increíbles, las predicciones meteorológicas que cifraron y los generales ignorantes que pensaban que eran inteligentes para introducir algunos cambios de último minuto comprometieron tanto esa cosa, que podría romperse.
Entonces, solo pruebe un poco y lea sobre las diferentes formas de encadenamiento de cifrado y vea si puede adaptar mi ejemplo para el encadenamiento OFB a los demás. Puede romper eso, si siempre toman la misma clave para todos los archivos. Y estoy bastante seguro de que lo hacen.
Los ataques de texto sin formato conocidos son muy eficientes para apoderarse de la cadena de cifrado, el número pseudoaleatorio crucial que es el núcleo de toda la criptografía simétrica moderna. Si su encriptación fue realizada por RSA, es decir, mediante una clave pública, no es necesariamente el final. Porque a menudo solo usan RSA para promover la clave AES y con eso el nivel sigue siendo simétrico. Y rompible por mis medios.
No cifran todo el disco duro con RSA. Realmente, ese algoritmo es lento y sería demasiado lento para su propósito. Están utilizando un cifrado simétrico después del nivel de protocolo con la clave. Estoy bastante seguro de que lo hacen.
Entonces sí. Lo más probable es que pueda romperlo, si tiene un enfoque de texto sin formato conocido.