def CreateDomainGroup(self, domain_name, access_mask=0x02000000): r = dcerpc.samr_CreateDomainGroup() r.data_in.domain_handle = self.handle r.data_in.name = dcerpc.samr_String() r.data_in.name.string = domain_name r.data_in.access_mask = access_mask call_fn(dcerpc.dcerpc_samr_CreateDomainGroup, self.pipe, r)
def GetDomPwInfo(self, domain_name): r = dcerpc.samr_GetDomPwInfo() r.data_in.domain_name = dcerpc.samr_String() r.data_in.domain_name.string = domain_name call_fn(dcerpc.dcerpc_samr_GetDomPwInfo, self.pipe, r) return r.data_out.info
def CreateDomainGroup(self, domain_name, access_mask = 0x02000000): r = dcerpc.samr_CreateDomainGroup() r.data_in.domain_handle = self.handle r.data_in.name = dcerpc.samr_String() r.data_in.name.string = domain_name r.data_in.access_mask = access_mask call_fn(dcerpc.dcerpc_samr_CreateDomainGroup, self.pipe, r)
def LookupDomain(self, domain_name): r = dcerpc.samr_LookupDomain() r.data_in.connect_handle = self.handle r.data_in.domain_name = dcerpc.samr_String() r.data_in.domain_name.string = domain_name call_fn(dcerpc.dcerpc_samr_LookupDomain, self.pipe, r) return sid_to_string(r.data_out.sid)
def LookupDomain(self, domain_name): r = dcerpc.samr_LookupDomain() r.data_in.connect_handle = self.handle r.data_in.domain_name = dcerpc.samr_String() r.data_in.domain_name.string = domain_name call_fn(dcerpc.dcerpc_samr_LookupDomain, self.pipe, r) return sid_to_string(r.data_out.sid);
def CreateDomAlias(self, alias_name, access_mask=0x02000000): r = dcerpc.samr_CreateDomAlias() r.data_in.domain_handle = self.handle r.data_in.alias_name = dcerpc.samr_String() r.data_in.alias_name.string = alias_name r.data_in.access_mask = access_mask call_fn(dcerpc.dcerpc_samr_CreateDomAlias, self.pipe, r) return (AliasHandle(self.pipe, r.data_out.alias_handle), r.data_out.rid)
def CreateUser(self, account_name, access_mask=0x02000000): r = dcerpc.samr_CreateUser() r.data_in.domain_handle = self.handle r.data_in.account_name = dcerpc.samr_String() r.data_in.account_name.string = account_name r.data_in.access_mask = access_mask call_fn(dcerpc.dcerpc_samr_CreateUser, self.pipe, r) return (r.data_out.user_handle, dcerpc.uint32_array_getitem(r.data_out.rid, 0))
def CreateDomAlias(self, alias_name, access_mask = 0x02000000): r = dcerpc.samr_CreateDomAlias() r.data_in.domain_handle = self.handle r.data_in.alias_name = dcerpc.samr_String() r.data_in.alias_name.string = alias_name r.data_in.access_mask = access_mask call_fn(dcerpc.dcerpc_samr_CreateDomAlias, self.pipe, r) return (AliasHandle(self.pipe, r.data_out.alias_handle), r.data_out.rid)
def CreateUser(self, account_name, access_mask = 0x02000000): r = dcerpc.samr_CreateUser() r.data_in.domain_handle = self.handle r.data_in.account_name = dcerpc.samr_String() r.data_in.account_name.string = account_name r.data_in.access_mask = access_mask call_fn(dcerpc.dcerpc_samr_CreateUser, self.pipe, r) return (r.data_out.user_handle, dcerpc.uint32_array_getitem(r.data_out.rid, 0))
def LookupNames(self, names): r = dcerpc.samr_LookupNames() r.data_in.domain_handle = self.handle r.data_in.num_names = len(names) r.data_in.names = dcerpc.new_samr_String_array(len(names)) for i in range(len(names)): s = dcerpc.samr_String() s.string = names[i] dcerpc.samr_String_array_setitem(r.data_in.names, i, s) call_fn(dcerpc.dcerpc_samr_LookupNames, self.pipe, r) return ([dcerpc.uint32_array_getitem(r.data_out.rids.ids, i) for i in range(r.data_out.rids.count)], [dcerpc.uint32_array_getitem(r.data_out.types.ids, i) for i in range(r.data_out.types.count)])
def LookupNames(self, names): r = dcerpc.samr_LookupNames() r.data_in.domain_handle = self.handle r.data_in.num_names = len(names) r.data_in.names = dcerpc.new_samr_String_array(len(names)) for i in range(len(names)): s = dcerpc.samr_String() s.string = names[i] dcerpc.samr_String_array_setitem(r.data_in.names, i, s) call_fn(dcerpc.dcerpc_samr_LookupNames, self.pipe, r) return ([ dcerpc.uint32_array_getitem(r.data_out.rids.ids, i) for i in range(r.data_out.rids.count) ], [ dcerpc.uint32_array_getitem(r.data_out.types.ids, i) for i in range(r.data_out.types.count) ])