示例#1
0
    def __init__(self,
                 server,
                 username=None,
                 password=None,
                 port=445,
                 encrypt=True):
        self.server = server
        self.port = port
        self.pid = os.getpid()
        self.current_host = socket.gethostname()
        self.connection = Connection(uuid.uuid4(), server, port)
        self.session = Session(self.connection,
                               username,
                               password,
                               require_encryption=encrypt)

        self.service_name = "PAExec-%d-%s" % (self.pid, self.current_host)
        log.info("Creating PyPsexec Client with unique name: %s" %
                 self.service_name)
        self._exe_file = "%s.exe" % self.service_name
        self._stdout_pipe_name = "PaExecOut%s%d"\
                                 % (self.current_host, self.pid)
        self._stderr_pipe_name = "PaExecErr%s%d"\
                                 % (self.current_host, self.pid)
        self._stdin_pipe_name = "PaExecIn%s%d" % (self.current_host, self.pid)
        self._unique_id = get_unique_id(self.pid, self.current_host)
        log.info("Generated unique ID for PyPsexec Client: %d" %
                 self._unique_id)
        self._service = Service(self.service_name, self.session)
    def __init__(self,
                 server,
                 username=None,
                 password=None,
                 port=445,
                 encrypt=True,
                 obscure=True,
                 sharename="ADMIN$"):
        self.server = server
        self.port = port
        self.pid = os.getpid()
        self.current_host = socket.gethostname()
        self.connection = Connection(uuid.uuid4(), server, port)
        self.session = Session(self.connection,
                               username,
                               password,
                               require_encryption=encrypt)
        self.service_name = ""
        #added

        if obscure:  #added
            self.service_name = Client.obscure_service_name()
            #added
        else:  #added
            self.service_name = "PAExec"
            # This doesn't need a new name everytime the service is created; makes a mess in the directories # OLD = "PAExec-%d-%s" % (self.pid, self.current_host)

        log.info("Creating PyPsexec Client with unique name: %s" %
                 self.service_name)
        self._exe_file = "%s.exe" % self.service_name
        self._stdout_pipe_name = "PaExecOut%s%d" % (self.current_host,
                                                    self.pid)
        self._stderr_pipe_name = "PaExecErr%s%d" % (self.current_host,
                                                    self.pid)
        self._stdin_pipe_name = "PaExecIn%s%d" % (self.current_host, self.pid)
        self._unique_id = get_unique_id(self.pid, self.current_host)
        log.info("Generated unique ID for PyPsexec Client: %d" %
                 self._unique_id)
        self._service = Service(self.service_name, self.session)
        self._share = sharename
def test_get_unique_id_short_hostname():
    comp_name = "A"
    pid = 1234
    expected = 1171
    actual = get_unique_id(pid, comp_name)
    assert actual == expected
def test_get_unique_id():
    comp_name = "ABCDEF"
    pid = 1234
    expected = 4326547
    actual = get_unique_id(pid, comp_name)
    assert actual == expected