Class: Rex::Proto::NTLM::Constants
- Inherits:
-
Object
- Object
- Rex::Proto::NTLM::Constants
- Defined in:
- lib/rex/proto/ntlm/constants.rb
Constant Summary collapse
- SSP_SIGN =
"NTLMSSP\0"- BLOB_SIGN =
0x00000101- LM_MAGIC =
"KGS!@\#$%"- TIME_OFFSET =
11644473600- MAX64 =
0xffffffffffffffff- FLAGS =
{ :UNICODE => 0x00000001, :OEM => 0x00000002, :REQUEST_TARGET => 0x00000004, #:UNKNOWN => 0x00000008, :SIGN => 0x00000010, :SEAL => 0x00000020, #:UNKNOWN => 0x00000040, :NETWARE => 0x00000100, :NTLM => 0x00000200, #:UNKNOWN => 0x00000400, #:UNKNOWN => 0x00000800, :DOMAIN_SUPPLIED => 0x00001000, :WORKSTATION_SUPPLIED => 0x00002000, :LOCAL_CALL => 0x00004000, :ALWAYS_SIGN => 0x00008000, :TARGET_TYPE_DOMAIN => 0x00010000, :TARGET_INFO => 0x00800000, :NTLM2_KEY => 0x00080000, :KEY128 => 0x20000000, :KEY56 => 0x80000000 }
- FLAG_KEYS =
FLAGS.keys.sort{|a, b| FLAGS[a] <=> FLAGS[b] }
- DEFAULT_FLAGS =
{ :TYPE1 => FLAGS[:UNICODE] | FLAGS[:OEM] | FLAGS[:REQUEST_TARGET] | FLAGS[:NTLM] | FLAGS[:ALWAYS_SIGN] | FLAGS[:NTLM2_KEY], :TYPE2 => FLAGS[:UNICODE], :TYPE3 => FLAGS[:UNICODE] | FLAGS[:REQUEST_TARGET] | FLAGS[:NTLM] | FLAGS[:ALWAYS_SIGN] | FLAGS[:NTLM2_KEY] }
- NTLM_V1_RESPONSE =
NTLM Response Type
1- NTLM_V2_RESPONSE =
2- NTLM_2_SESSION_RESPONSE =
3- NEGOTIATE_UNICODE =
the same flags but merged from lib/rex/proto/smb/constants and keeped for compatibility NTLMSSP Message Flags
0x00000001- NEGOTIATE_OEM =
Only set if Type 1 contains it - this or oem, not both
0x00000002- REQUEST_TARGET =
Only set if Type 1 contains it - this or unicode, not both
0x00000004- NEGOTIATE_SIGN =
If set in Type 1, must return domain or server
0x00000010- NEGOTIATE_SEAL =
Session signature required
0x00000020- NEGOTIATE_LMKEY =
Session seal required
0x00000080- NEGOTIATE_NTLM =
LM Session Key should be used for signing and sealing
0x00000200- NEGOTIATE_ANONYMOUS =
NTLM auth is supported
0x00000800- NEGOTIATE_DOMAIN =
Anonymous context used
0x00001000- NEGOTIATE_WORKSTATION =
Sent in Type1, client gives domain info
0x00002000- NEGOTIATE_LOCAL_CALL =
Sent in Type1, client gives workstation info
0x00004000- NEGOTIATE_ALWAYS_SIGN =
Server and client are on same machine
0x00008000- TARGET_TYPE_DOMAIN =
Add signatures to packets
0x00010000- TARGET_TYPE_SERVER =
If REQUEST_TARGET, we’re adding the domain name
0x00020000- TARGET_TYPE_SHARE =
If REQUEST_TARGET, we’re adding the server name
0x00040000- NEGOTIATE_NTLM2_KEY =
Supposed to denote “a share” but for a webserver?
0x00080000- NEGOTIATE_TARGET_INFO =
NTLMv2 Signature and Key exchanges
0x00800000- NEGOTIATE_128 =
Server set when sending Target Information Block
0x20000000- NEGOTIATE_KEY_EXCH =
128-bit encryption supported
0x40000000- NEGOTIATE_56 =
Client will supply encrypted master key in Session Key field of Type3 msg
0x80000000