Un ransomware es un programa que cifra información de forma que los archivos que infecta quedan ilegibles el programa tiene forma de ejecutable (.exe) y suele añadir un documento readme.txt en el que se exige el rescate, una vez más aclaramos que estas publicaciones tienen fines completamente didácticos para comprender el funcionamiento de estos delitos y en ningún caso esperamos que esto se utilice con finalidad delictiva.
Lo primero que haremos será crear en nuestro escritorio una carpeta que llamaremos prueba e insertaremos dos archivos, una imagen y un texto que formarán parte de nuestro banco de pruebas.
Vamos a comenzar creando el encriptador.
Comenzaremos utilizando las librerías en este caso serán fernet y os
En segundo lugar, crearemos nuestra función main en la cual la marcaremos la ruta y haremos que el programa actúe sobre la misma.
Ahora definiremos la función que generara nuestra clave de encriptado con la librería de Fernet haremos que el archivo sea leído.
Definiremos la función que nos retorne la clave .
Y tras esto la función que lo encriptara haremos que recorra con un for los ítems de dentro del archivo para que sean leídos y encriptados.
Desde la función main ordenaremos todo para que el programa vaya accediendo a ello añadiendo un archivo a la ruta que contenga el archivo de texto readme.txt, en este caso se escribirá, “Acabas de sufrir un ransomware”.
El aspecto final de nuestro encoder debe ser algo similar a esto.
Activaremos nuestro código y observemos resultados.
Ahora programaremos el decoder.
Comenzaremos escribiendo las mismas bibliotecas.
Iniciaremos la función main escribiendo la ruta de la carpeta que hemos infectado, en la segunda línea borraremos el archivo readme.txt y recorreremos las carpetas dentro de la ruta.
Procedemos a definir nuestras funciones, en primer lugar, el retorno de la clave.
Ahora definiremos la función que empleando la biblioteca Fernet primero leerá y luego escribirá los archivos abiertos.
Una vez finalizado este proceso desde nuestro main pondremos en orden nuestras funciones.
Nuestro decoder tendrá este aspecto.
Ahora solo queda correrlo y ver que nuestros archivos de la carpeta PRUEBA ha vuelto a un formato que podamos leer.
Con esto habríamos recuperado los archivos.