mirror of
https://github.com/zeek/zeek.git
synced 2025-10-11 11:08:20 +00:00
Fix for an issue with GSSAPI mech_token from Florent Monjalet
From Florent's patch: Previously, the ASN1EncodingMeta was in the NTLM_SSP_Token; this broke the NTLM decoding when used directly with DCE-RPC. NTLM now works on DCE-RPC and should work properly on other layers in the future (e.g. HTTP Authentication data).
This commit is contained in:
parent
5c744fa0c9
commit
c31c0ed2e2
3 changed files with 9 additions and 6 deletions
|
@ -36,12 +36,11 @@ refine connection GSSAPI_Conn += {
|
|||
%}
|
||||
}
|
||||
|
||||
refine typeattr GSSAPI_NEG_TOKEN_INIT_Arg_Data += &let {
|
||||
fwd: bool = $context.connection.forward_ntlm(mech_token, true) &if(index==2);
|
||||
refine typeattr GSSAPI_NEG_TOKEN_MECH_TOKEN += &let {
|
||||
fwd: bool = $context.connection.forward_ntlm(mech_token, is_orig);
|
||||
};
|
||||
|
||||
refine typeattr GSSAPI_NEG_TOKEN_RESP_Arg += &let {
|
||||
proc: bool = $context.connection.proc_gssapi_neg_result(this) &if(seq_meta.index==0);
|
||||
fwd: bool = $context.connection.forward_ntlm(response_token, false) &if(seq_meta.index==2);
|
||||
};
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ type GSSAPI_NEG_TOKEN_INIT_Arg = record {
|
|||
type GSSAPI_NEG_TOKEN_INIT_Arg_Data(index: uint8) = case index of {
|
||||
0 -> mech_type_list : ASN1Encoding;
|
||||
1 -> req_flags : ASN1Encoding;
|
||||
2 -> mech_token : bytestring &restofdata;
|
||||
2 -> mech_token : GSSAPI_NEG_TOKEN_MECH_TOKEN(true);
|
||||
3 -> mech_list_mic : ASN1OctetString;
|
||||
};
|
||||
|
||||
|
@ -44,7 +44,12 @@ type GSSAPI_NEG_TOKEN_RESP_Arg = record {
|
|||
args : case seq_meta.index of {
|
||||
0 -> neg_state : ASN1Integer;
|
||||
1 -> supported_mech : ASN1Encoding;
|
||||
2 -> response_token : bytestring &restofdata;
|
||||
2 -> response_token : GSSAPI_NEG_TOKEN_MECH_TOKEN(false);
|
||||
3 -> mech_list_mic : ASN1OctetString;
|
||||
} &length=seq_meta.length;
|
||||
};
|
||||
|
||||
type GSSAPI_NEG_TOKEN_MECH_TOKEN(is_orig: bool) = record {
|
||||
meta : ASN1EncodingMeta;
|
||||
mech_token : bytestring &length=meta.length;
|
||||
};
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
|
||||
type NTLM_SSP_Token(is_orig: bool) = record {
|
||||
meta : ASN1EncodingMeta;
|
||||
signature : bytestring &length=8;
|
||||
msg_type : uint32;
|
||||
msg : case msg_type of {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue