🔥Adquiere tu membresía:  acceso a todos los cursos, videos eliminados, contenidos protegidos, manuales y más. >> Ver Más

Una guía paso a paso sobre la creación de ransomware con Python

Este es un tutorial rápido y completo sobre la creación de una herramienta de ransomware escalable con Python.

Introducción

El ransomware es un tipo de malware que proporciona una forma para que el atacante sea compensado por la víctima. A menudo, el ransomware incluye una ventana para que la víctima vea una dirección para realizar el pago en criptomonedas u otra información que el atacante desee proporcionar.

El cifrado asimétrico se utiliza para cifrar los archivos personales de una víctima . Esto significa que se utiliza una clave pública para cifrar estos datos y la clave privada correspondiente se utiliza para descifrar los mismos datos. El atacante generalmente proporciona la clave privada después de que se hayan cumplido ciertas demandas.

Creando un plan

Ahora que sabemos un poco más sobre cómo funciona el proceso , aquí hay algunas cosas que debemos tener en cuenta al desarrollar nuestros propios proyectos

  • Tendremos que crear un temporizador emergente para crear una sensación de urgencia y mostrar información a la víctima sobre cómo eliminar el malware.
  • Tendremos que implementar una funcionalidad que cifre los archivos y agregue una extensión de archivo “.thegrayarea” al final para indicarlo (aunque puedes usar cualquier cadena de caracteres que desees).

También querremos ofuscar un poco el archivo, asumiendo de que la mayoría de las personas tienen sentido común sobre qué ejecutar en sus computadoras.

Escribir el código

Paso 1. Generar una clave pública y privada

Para generar un par de claves pública y privada, debes ejecutar el siguiente comando en tu terminal (o CLI)

ssh-keygen

Paso 2. Codificar la clave pública

Querrás codificar tu clave pública para que sea difícil de identificar durante un proceso como el análisis de malware estático, que es cuando alguien esencialmente descifra el código del malware para determinar la funcionalidad general y las posibles fallas. Debes crear un archivo de Python y pegar estas tres líneas de código en él:

import base64 
with open('public.pem', 'rb') as f:
    public = f.read()print(base64.b64encode(public))

Paso 3. Cifrar archivos (TEN PRECAUCIÓN)

Usando esta función recursiva (se llama a sí misma) , podemos escanear cada archivo contenido en un determinado directorio base especificado , o baseDir.

def scanRecursive(baseDir):
    for aFile in os.scandir(baseDir):
        if aFile.is_file():
            yield entry
        else:
            yield from scanRecursive(aFile.path)

Luego, usaremos la función de encriptación para encriptar la ruta de cada archivo que se devuelve en esta función scanRecursive.

Aquí está la función de descifrado (no olvides esta parte).

Al ejecutar el programa de encriptación, escanearemos el archivo, lo encriptaremos y cambiaremos la extensión del archivo .

Paso 4. Ponerse en contacto con la víctima (a través de una ventana emergente)

Puedes usar este script para ponerte en contacto con el usuario e hipotéticamente cobrar un rescate.

Si estás compilando en Windows o tus víctimas hipotéticas están usando computadoras con Windows , es posible que desees considerar cambiar la extensión .py a un archivo ejecutable .exe.

Deja un comentario

Adquiere tu Membresía Anual Wiser

Adquiere tu Membresía Anual Wiser y adquiere grandes beneficios

Más información