def EnumDomainGroups(self): r = dcerpc.samr_EnumDomainGroups() r.data_in.domain_handle = self.handle r.data_in.resume_handle = 0 r.data_in.max_size = 1000 call_fn(dcerpc.dcerpc_samr_EnumDomainGroups, self.pipe, r) groups = [] if r.data_out.sam.entries: for i in range(r.data_out.sam.count): groups.append(dcerpc.samr_SamEntry_array_getitem( r.data_out.sam.entries, i).name.string) return groups
def EnumDomainGroups(self): r = dcerpc.samr_EnumDomainGroups() r.data_in.domain_handle = self.handle r.data_in.resume_handle = 0 r.data_in.max_size = 1000 call_fn(dcerpc.dcerpc_samr_EnumDomainGroups, self.pipe, r) groups = [] if r.data_out.sam.entries: for i in range(r.data_out.sam.count): groups.append( dcerpc.samr_SamEntry_array_getitem(r.data_out.sam.entries, i).name.string) return groups
def EnumDomainUsers(self, user_account_flags = 16): r = dcerpc.samr_EnumDomainUsers() r.data_in.domain_handle = self.handle r.data_in.resume_handle = 0 r.data_in.acct_flags = user_account_flags r.data_in.max_size = 1000 call_fn(dcerpc.dcerpc_samr_EnumDomainUsers, self.pipe, r) users = [] if r.data_out.sam.entries: for i in range(r.data_out.sam.count): users.append(dcerpc.samr_SamEntry_array_getitem( r.data_out.sam.entries, i).name.string) return users
def EnumDomainUsers(self, user_account_flags=16): r = dcerpc.samr_EnumDomainUsers() r.data_in.domain_handle = self.handle r.data_in.resume_handle = 0 r.data_in.acct_flags = user_account_flags r.data_in.max_size = 1000 call_fn(dcerpc.dcerpc_samr_EnumDomainUsers, self.pipe, r) users = [] if r.data_out.sam.entries: for i in range(r.data_out.sam.count): users.append( dcerpc.samr_SamEntry_array_getitem(r.data_out.sam.entries, i).name.string) return users
def EnumDomainAliases(self): r = dcerpc.samr_EnumDomainAliases() r.data_in.domain_handle = self.handle r.data_in.resume_handle = 0 # acct_flags in SamrEnumerateAliasesInDomain has probably # no meaning so use 0xffffffff like W2K r.data_in.acct_flags = 0xffffffffL call_fn(dcerpc.dcerpc_samr_EnumDomainAliases, self.pipe, r) aliases = [] if r.data_out.sam.entries: for i in range(r.data_out.sam.count): aliases.append(dcerpc.samr_SamEntry_array_getitem( r.data_out.sam.entries, i).name.string) return aliases
def EnumDomainAliases(self): r = dcerpc.samr_EnumDomainAliases() r.data_in.domain_handle = self.handle r.data_in.resume_handle = 0 # acct_flags in SamrEnumerateAliasesInDomain has probably # no meaning so use 0xffffffff like W2K r.data_in.acct_flags = 0xffffffffL call_fn(dcerpc.dcerpc_samr_EnumDomainAliases, self.pipe, r) aliases = [] if r.data_out.sam.entries: for i in range(r.data_out.sam.count): aliases.append( dcerpc.samr_SamEntry_array_getitem(r.data_out.sam.entries, i).name.string) return aliases
def EnumDomains(self): r = dcerpc.samr_EnumDomains() r.data_in.connect_handle = self.handle r.data_in.resume_handle = 0 r.data_in.buf_size = -1 domains = [] while 1: call_fn(dcerpc.dcerpc_samr_EnumDomains, self.pipe, r) for i in range(r.data_out.sam.count): domains.append(dcerpc.samr_SamEntry_array_getitem( r.data_out.sam.entries, i).name.string) # TODO: Handle more entries here break return domains
def EnumDomains(self): r = dcerpc.samr_EnumDomains() r.data_in.connect_handle = self.handle r.data_in.resume_handle = 0 r.data_in.buf_size = -1 domains = [] while 1: call_fn(dcerpc.dcerpc_samr_EnumDomains, self.pipe, r) for i in range(r.data_out.sam.count): domains.append( dcerpc.samr_SamEntry_array_getitem(r.data_out.sam.entries, i).name.string) # TODO: Handle more entries here break return domains