separate MSCHAP(v2) and NTLM(v2) authentication

due to linux omiting the final Z(4) in the NTLMv2 reply, and
the need for the windom for LMv2 authentication, here is a new
AuthNTLM ticket request now with length and dom fields.
This commit is contained in:
cinap_lenrek 2018-05-20 22:49:24 +02:00
parent 40f6e00b9c
commit 6e19d19285
8 changed files with 92 additions and 27 deletions

View file

@ -11,6 +11,7 @@ typedef struct Nvrsafe Nvrsafe;
typedef struct Passwordreq Passwordreq;
typedef struct OChapreply OChapreply;
typedef struct OMSchapreply OMSchapreply;
typedef struct NTLMreply NTLMreply;
typedef struct Authkey Authkey;
@ -62,6 +63,7 @@ enum
AuthVNC=14, /* VNC server login (deprecated) */
AuthPAK=19, /* authenticated diffie hellman key agreement */
AuthMSchapv2=21,/* MS chap v2 authentication for ppp */
AuthNTLM=22, /* NTLM authentication for cifs */
AuthTs=64, /* ticket encrypted with server's key */
AuthTc, /* ticket encrypted with client's key */
AuthAs, /* server generated authenticator */
@ -127,6 +129,16 @@ struct OMSchapreply
};
#define OMSCHAPREPLYLEN (ANAMELEN+24+24)
struct NTLMreply
{
uchar len[2]; /* size of structure (lsb first) */
char uid[ANAMELEN];
char dom[DOMLEN];
char LMresp[24]; /* Lan Manager response */
char NTresp[24]; /* NT response (variable length) */
};
#define NTLMREPLYLEN (2+ANAMELEN+DOMLEN+24+24)
struct Authkey
{
char des[DESKEYLEN]; /* DES key from password */