Exemplo n.º 1
0
 def test_NetrGetForestTrustInformation(self):
     dce, rpctransport = self.connect()
     request = nrpc.NetrGetForestTrustInformation()
     request['ServerName'] = NULL
     request['ComputerName'] = self.serverName + '\x00'
     request['Authenticator'] = self.update_authenticator()
     request['ReturnAuthenticator']['Credential'] = b'\x00' * 8
     request['ReturnAuthenticator']['Timestamp'] = 0
     request['Flags'] = 0
     try:
         resp = dce.request(request)
         resp.dump()
     except Exception as e:
         if str(e).find('STATUS_NOT_IMPLEMENTED') < 0:
             raise
Exemplo n.º 2
0
    def test_NetrGetForestTrustInformation(self):
        dce, rpctransport = self.connect()
        self.authenticate(dce)
        request = nrpc.NetrGetForestTrustInformation()
        request['ServerName'] = self.serverName + '\x00'
        request['ComputerName'] = self.machine_user + '\x00'
        request['Authenticator'] = self.update_authenticator()
        request['ReturnAuthenticator']['Credential'] = b'\x00' * 8
        request['ReturnAuthenticator']['Timestamp'] = 0
        request['Flags'] = 0

        try:
            dce.request(request)
        except DCERPCException as e:
            # The caller is not a DC in a different domain
            if str(e).find('STATUS_NOT_IMPLEMENTED') < 0 and str(e).find(
                    'STATUS_ACCESS_DENIED') < 0:
                raise
Exemplo n.º 3
0
    if '@' in remoteName:
        password = password + '@' + remoteName.rpartition('@')[0]
        remoteName = remoteName.rpartition('@')[2]

    if domain is None:
        domain = ''

    if password == '' and username != '' and options.hashes is None and options.no_pass is False:
        from getpass import getpass
        password = getpass("Password:")

    if options.target_ip is None:
        options.target_ip = remoteName

    lookup = RPCLookup(username, password, domain, int(options.port),
                       options.hashes)
    dce, rpctransport = lookup.dump(remoteName, options.target_ip)
    request = nrpc.NetrGetForestTrustInformation()
    request['ServerName'] = NULL
    request['ComputerName'] = remoteName + '\x00'
    request['Authenticator'] = lookup.update_authenticator()
    request['ReturnAuthenticator']['Credential'] = b'\x00' * 8
    request['ReturnAuthenticator']['Timestamp'] = 0
    request['Flags'] = 0
    try:
        resp = dce.request(request)
        resp.dump()
    except Exception as e:
        if str(e).find('STATUS_NOT_IMPLEMENTED') < 0:
            raise