1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-22 05:57:43 +03:00

python: Add bindings for NTLMSSP

This is helpful for building NTLMv2 packets in python for testing against the SamLogon server

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Andrew Bartlett 2017-03-23 16:30:05 +13:00
parent 43f52fc425
commit 493d886163
3 changed files with 17 additions and 6 deletions

View File

@ -207,10 +207,10 @@ interface ntlmssp
uint8 ChallengeFromClient[8];
} LMv2_RESPONSE;
typedef [nopython,nodiscriminant] union {
typedef [nodiscriminant] union {
[case(24)] LM_RESPONSE v1;
[default];
} ntlmssp_LM_RESPONSE;
} ntlmssp_LM_RESPONSE_with_len;
/* [MS-NLMP] 2.2.2.6 NTLM_RESPONSE */
@ -238,11 +238,11 @@ interface ntlmssp
NTLMv2_CLIENT_CHALLENGE Challenge;
} NTLMv2_RESPONSE;
typedef [public,nopython,nodiscriminant] union {
typedef [public,nodiscriminant] union {
[case(0)] ;
[case(0x18)] NTLM_RESPONSE v1;
[default] NTLMv2_RESPONSE v2;
} ntlmssp_NTLM_RESPONSE;
} ntlmssp_NTLM_RESPONSE_with_len;
const int NTLMSSP_MIC_OFFSET = 72;
const int NTLMSSP_MIC_SIZE = 16;
@ -258,10 +258,10 @@ interface ntlmssp
[value(NtLmAuthenticate)] ntlmssp_MessageType MessageType;
uint16 LmChallengeResponseLen;
[value(LmChallengeResponseLen)] uint16 LmChallengeResponseMaxLen;
[relative] [subcontext(0),subcontext_size(LmChallengeResponseLen),switch_is(LmChallengeResponseLen)] ntlmssp_LM_RESPONSE *LmChallengeResponse;
[relative] [subcontext(0),subcontext_size(LmChallengeResponseLen),switch_is(LmChallengeResponseLen)] ntlmssp_LM_RESPONSE_with_len *LmChallengeResponse;
uint16 NtChallengeResponseLen;
[value(NtChallengeResponseLen)] uint16 NtChallengeResponseMaxLen;
[relative] [subcontext(0),subcontext_size(NtChallengeResponseMaxLen),switch_is(NtChallengeResponseLen)] ntlmssp_NTLM_RESPONSE *NtChallengeResponse;
[relative] [subcontext(0),subcontext_size(NtChallengeResponseMaxLen),switch_is(NtChallengeResponseLen)] ntlmssp_NTLM_RESPONSE_with_len *NtChallengeResponse;
[value(ndr_ntlmssp_string_length(NegotiateFlags, DomainName))] uint16 DomainNameLen;
[value(DomainNameLen)] uint16 DomainNameMaxLen;
[relative] [subcontext(0),subcontext_size(DomainNameLen)] [flag(ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags))] string *DomainName;

View File

@ -515,6 +515,11 @@ bld.SAMBA_SUBSYSTEM('RPC_NDR_DRSBLOBS',
public_deps='dcerpc-binding NDR_DRSBLOBS'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_NTLMSSP',
source='gen_ndr/ndr_ntlmssp_c.c',
public_deps='dcerpc-binding NDR_NTLMSSP'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_POLICYAGENT',
source='gen_ndr/ndr_policyagent_c.c',
public_deps='dcerpc-binding NDR_POLICYAGENT'

View File

@ -246,6 +246,12 @@ for env in bld.gen_python_environments():
realname='samba/dcerpc/drsblobs.so'
)
bld.SAMBA_PYTHON('python_dcerpc_ntlmssp',
source='../../librpc/gen_ndr/py_ntlmssp.c',
deps='%s %s RPC_NDR_NTLMSSP' % (pytalloc_util, pyrpc_util),
realname='samba/dcerpc/ntlmssp.so'
)
bld.SAMBA_PYTHON('python_srvsvc',
source='../../librpc/gen_ndr/py_srvsvc.c',
deps='RPC_NDR_SRVSVC pytalloc-util pyrpc_util',