Coverage for /private/tmp/im/impacket/impacket/dcerpc/v5/lsat.py : 99%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# SECUREAUTH LABS. Copyright 2018 SecureAuth Corporation. All rights reserved. # # This software is provided under under a slightly modified version # of the Apache Software License. See the accompanying LICENSE file # for more information. # # Author: Alberto Solino (@agsolino) # # Description: # [MS-LSAT] Interface implementation # # Best way to learn how to use these calls is to grab the protocol standard # so you understand what the call does, and then read the test case located # at https://github.com/SecureAuthCorp/impacket/tree/master/tests/SMB_RPC # # Some calls have helper functions, which makes it even easier to use. # They are located at the end of this file. # Helper functions start with "h"<name of the call>. # There are test cases for them too. # NULL
else: return 'LSAT SessionError: unknown error code: 0x%x' % self.error_code
################################################################################ # CONSTANTS ################################################################################ # 2.2.10 ACCESS_MASK
################################################################################ # STRUCTURES ################################################################################ # 2.2.12 LSAPR_REFERENCED_DOMAIN_LIST ('Entries', ULONG), ('Domains', PLSAPR_TRUST_INFORMATION_ARRAY), ('MaxEntries', ULONG), )
('Data', LSAPR_REFERENCED_DOMAIN_LIST), )
# 2.2.14 LSA_TRANSLATED_SID ('Use', SID_NAME_USE), ('RelativeId', ULONG), ('DomainIndex', LONG), )
# 2.2.15 LSAPR_TRANSLATED_SIDS
('Data', LSA_TRANSLATED_SID_ARRAY), )
('Entries', ULONG), ('Sids', PLSA_TRANSLATED_SID_ARRAY), )
# 2.2.16 LSAP_LOOKUP_LEVEL
# 2.2.17 LSAPR_SID_INFORMATION ('Sid', PRPC_SID), )
# 2.2.18 LSAPR_SID_ENUM_BUFFER
('Data', LSAPR_SID_INFORMATION_ARRAY), )
('Entries', ULONG), ('SidInfo', PLSAPR_SID_INFORMATION_ARRAY), )
# 2.2.19 LSAPR_TRANSLATED_NAME ('Use', SID_NAME_USE), ('Name', RPC_UNICODE_STRING), ('DomainIndex', LONG), )
# 2.2.20 LSAPR_TRANSLATED_NAMES
('Data', LSAPR_TRANSLATED_NAME_ARRAY), )
('Entries', ULONG), ('Names', PLSAPR_TRANSLATED_NAME_ARRAY), )
# 2.2.21 LSAPR_TRANSLATED_NAME_EX ('Use', SID_NAME_USE), ('Name', RPC_UNICODE_STRING), ('DomainIndex', LONG), ('Flags', ULONG), )
# 2.2.22 LSAPR_TRANSLATED_NAMES_EX
('Data', LSAPR_TRANSLATED_NAME_EX_ARRAY), )
('Entries', ULONG), ('Names', PLSAPR_TRANSLATED_NAME_EX_ARRAY), )
# 2.2.23 LSAPR_TRANSLATED_SID_EX ('Use', SID_NAME_USE), ('RelativeId', ULONG), ('DomainIndex', LONG), ('Flags', ULONG), )
# 2.2.24 LSAPR_TRANSLATED_SIDS_EX
('Data', LSAPR_TRANSLATED_SID_EX_ARRAY), )
('Entries', ULONG), ('Sids', PLSAPR_TRANSLATED_SID_EX_ARRAY), )
# 2.2.25 LSAPR_TRANSLATED_SID_EX2 ('Use', SID_NAME_USE), ('Sid', PRPC_SID), ('DomainIndex', LONG), ('Flags', ULONG), )
# 2.2.26 LSAPR_TRANSLATED_SIDS_EX2
('Data', LSAPR_TRANSLATED_SID_EX2_ARRAY), )
('Entries', ULONG), ('Sids', PLSAPR_TRANSLATED_SID_EX2_ARRAY), )
################################################################################ # RPC CALLS ################################################################################ # 3.1.4.4 LsarGetUserName (Opnum 45) ('SystemName', LPWSTR), ('UserName', PRPC_UNICODE_STRING), ('DomainName', PRPC_UNICODE_STRING), )
('UserName', PRPC_UNICODE_STRING), ('DomainName', PRPC_UNICODE_STRING), ('ErrorCode', NTSTATUS), )
# 3.1.4.5 LsarLookupNames4 (Opnum 77) ('Count', ULONG), ('Names', RPC_UNICODE_STRING_ARRAY), ('TranslatedSids', LSAPR_TRANSLATED_SIDS_EX2), ('LookupLevel', LSAP_LOOKUP_LEVEL), ('MappedCount', ULONG), ('LookupOptions', ULONG), ('ClientRevision', ULONG), )
('ReferencedDomains', PLSAPR_REFERENCED_DOMAIN_LIST), ('TranslatedSids', LSAPR_TRANSLATED_SIDS_EX2), ('MappedCount', ULONG), ('ErrorCode', NTSTATUS), )
# 3.1.4.6 LsarLookupNames3 (Opnum 68) ('PolicyHandle', LSAPR_HANDLE), ('Count', ULONG), ('Names', RPC_UNICODE_STRING_ARRAY), ('TranslatedSids', LSAPR_TRANSLATED_SIDS_EX2), ('LookupLevel', LSAP_LOOKUP_LEVEL), ('MappedCount', ULONG), ('LookupOptions', ULONG), ('ClientRevision', ULONG), )
('ReferencedDomains', PLSAPR_REFERENCED_DOMAIN_LIST), ('TranslatedSids', LSAPR_TRANSLATED_SIDS_EX2), ('MappedCount', ULONG), ('ErrorCode', NTSTATUS), )
# 3.1.4.7 LsarLookupNames2 (Opnum 58) ('PolicyHandle', LSAPR_HANDLE), ('Count', ULONG), ('Names', RPC_UNICODE_STRING_ARRAY), ('TranslatedSids', LSAPR_TRANSLATED_SIDS_EX), ('LookupLevel', LSAP_LOOKUP_LEVEL), ('MappedCount', ULONG), ('LookupOptions', ULONG), ('ClientRevision', ULONG), )
('ReferencedDomains', PLSAPR_REFERENCED_DOMAIN_LIST), ('TranslatedSids', LSAPR_TRANSLATED_SIDS_EX), ('MappedCount', ULONG), ('ErrorCode', NTSTATUS), )
# 3.1.4.8 LsarLookupNames (Opnum 14) ('PolicyHandle', LSAPR_HANDLE), ('Count', ULONG), ('Names', RPC_UNICODE_STRING_ARRAY), ('TranslatedSids', LSAPR_TRANSLATED_SIDS), ('LookupLevel', LSAP_LOOKUP_LEVEL), ('MappedCount', ULONG), )
('ReferencedDomains', PLSAPR_REFERENCED_DOMAIN_LIST), ('TranslatedSids', LSAPR_TRANSLATED_SIDS), ('MappedCount', ULONG), ('ErrorCode', NTSTATUS), )
# 3.1.4.9 LsarLookupSids3 (Opnum 76) ('SidEnumBuffer', LSAPR_SID_ENUM_BUFFER), ('TranslatedNames', LSAPR_TRANSLATED_NAMES_EX), ('LookupLevel', LSAP_LOOKUP_LEVEL), ('MappedCount', ULONG), ('LookupOptions', ULONG), ('ClientRevision', ULONG), )
('ReferencedDomains', PLSAPR_REFERENCED_DOMAIN_LIST), ('TranslatedNames', LSAPR_TRANSLATED_NAMES_EX), ('MappedCount', ULONG), ('ErrorCode', NTSTATUS), )
# 3.1.4.10 LsarLookupSids2 (Opnum 57) ('PolicyHandle', LSAPR_HANDLE), ('SidEnumBuffer', LSAPR_SID_ENUM_BUFFER), ('TranslatedNames', LSAPR_TRANSLATED_NAMES_EX), ('LookupLevel', LSAP_LOOKUP_LEVEL), ('MappedCount', ULONG), ('LookupOptions', ULONG), ('ClientRevision', ULONG), )
('ReferencedDomains', PLSAPR_REFERENCED_DOMAIN_LIST), ('TranslatedNames', LSAPR_TRANSLATED_NAMES_EX), ('MappedCount', ULONG), ('ErrorCode', NTSTATUS), )
# 3.1.4.11 LsarLookupSids (Opnum 15) ('PolicyHandle', LSAPR_HANDLE), ('SidEnumBuffer', LSAPR_SID_ENUM_BUFFER), ('TranslatedNames', LSAPR_TRANSLATED_NAMES), ('LookupLevel', LSAP_LOOKUP_LEVEL), ('MappedCount', ULONG), )
('ReferencedDomains', PLSAPR_REFERENCED_DOMAIN_LIST), ('TranslatedNames', LSAPR_TRANSLATED_NAMES), ('MappedCount', ULONG), ('ErrorCode', NTSTATUS), )
################################################################################ # OPNUMs and their corresponding structures ################################################################################ 14 : (LsarLookupNames, LsarLookupNamesResponse), 15 : (LsarLookupSids, LsarLookupSidsResponse), 45 : (LsarGetUserName, LsarGetUserNameResponse), 57 : (LsarLookupSids2, LsarLookupSids2Response), 58 : (LsarLookupNames2, LsarLookupNames2Response), 68 : (LsarLookupNames3, LsarLookupNames3Response), 76 : (LsarLookupSids3, LsarLookupSids3Response), 77 : (LsarLookupNames4, LsarLookupNames4Response), }
################################################################################ # HELPER FUNCTIONS ################################################################################
|