class

NTLM::Authenticate

Inherits BinData < Reference < Object

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

Constants

ENDIAN = ["little"]

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

KLASS_NAME = [NTLM::Authenticate]

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

PARTS = [{type: "string", name: protocol, cls: String, onlyif: nil, verify: nil, length: nil, value: -> do "NTLMSSP" end, encoding: nil}, {type: "enum", name: message_type, cls: UInt32, onlyif: nil, verify: nil, value: nil, encoding: Type}, {type: "group", name: lm_response_loc, cls: LmResponseLoc, onlyif: nil, verify: nil, value: nil}, {type: "group", name: nt_response_loc, cls: NtResponseLoc, onlyif: nil, verify: nil, value: nil}, {type: "group", name: domain_loc, cls: DomainLoc, onlyif: nil, verify: nil, value: nil}, {type: "group", name: user_loc, cls: UserLoc, onlyif: nil, verify: nil, value: nil}, {type: "group", name: workstation_loc, cls: WorkstationLoc, onlyif: nil, verify: nil, value: nil}, {type: "group", name: session_key_loc, cls: SessionKeyLoc, onlyif: nil, verify: nil, value: nil}, {type: "enum", name: flags_low, cls: UInt16, onlyif: nil, verify: nil, value: nil, encoding: FlagsLow}, {type: "enum", name: flags_high, cls: UInt16, onlyif: nil, verify: nil, value: nil, encoding: FlagsHigh}, {type: "group", name: version, cls: Version, onlyif: -> do flags_high.negotiate_version? end, verify: nil, value: nil}, {type: "bytes", name: mic, cls: Bytes, onlyif: -> do ( (flags_low.negotiate_always_sign? && flags_high.negotiate_key_exchange?) && !flags_low.negotiate_sign? ) && !flags_low.negotiate_seal? end, verify: nil, length: -> do 16 end, value: nil}] of Nil

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

REMAINING = [{type: "bytes", name: buffer, onlyif: nil, verify: nil}] of Nil

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

Class methods

bit_fields

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

Source

Instance methods

__format__
Source
buffer
buffer=(buffer : Bytes)
buffer_start
Source
domain
Source
domain=(value : String)
Source
domain_loc
domain_loc=(domain_loc : NTLM::Authenticate::DomainLoc)
flags_high
flags_high=(flags_high : FlagsHigh)
flags_low
flags_low=(flags_low : FlagsLow)
lm_response
Source
lm_response=(value : Slice(UInt8) | Nil)
Source
lm_response_loc
lm_response_loc=(lm_response_loc : NTLM::Authenticate::LmResponseLoc)
message_type
message_type=(message_type : Type)
mic

The MIC is an HMAC_MD5 applied to the concatenation of the previous two NTLM massages using the session key https://social.msdn.microsoft.com/Forums/en-US/74e16cb4-c534-407e-b9cd-ee70a796ee91/msnlmp-dummy-signature-and-mic-generation-ntlmsspnegotiatealwayssign

mic=(mic : Bytes)

The MIC is an HMAC_MD5 applied to the concatenation of the previous two NTLM massages using the session key https://social.msdn.microsoft.com/Forums/en-US/74e16cb4-c534-407e-b9cd-ee70a796ee91/msnlmp-dummy-signature-and-mic-generation-ntlmsspnegotiatealwayssign

nt_response
Source
nt_response=(value : Slice(UInt8) | Nil)
Source
nt_response_loc
nt_response_loc=(nt_response_loc : NTLM::Authenticate::NtResponseLoc)
protocol
protocol=(protocol : String)
session_key

Session key getter

Source
session_key=(value : Slice(UInt8) | Nil)
Source
session_key_loc
session_key_loc=(session_key_loc : NTLM::Authenticate::SessionKeyLoc)
update_buffer
Source
user
Source
user=(value : String)
Source
user_loc
user_loc=(user_loc : NTLM::Authenticate::UserLoc)
version

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/b1a6ceb2-f8ad-462b-b5af-f18527c48175

version=(version : NTLM::Authenticate::Version)

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/b1a6ceb2-f8ad-462b-b5af-f18527c48175

workstation
Source
workstation=(value : String)
Source
workstation_loc
workstation_loc=(workstation_loc : NTLM::Authenticate::WorkstationLoc)

Nested types