Class: Watobo::NTLM::Message::Type3

Inherits:
Watobo::NTLM::Message show all
Defined in:
lib/watobo/utils/ntlm.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Watobo::NTLM::Message

#data_edge, #data_size, decode64, #decode64, #deflag, #dump_flags, #encode64, #has_flag?, #head_size, #security_buffers, #serialize, #set_flag, #size

Methods inherited from FieldSet

#[], #[]=, #disable, #enable, #initialize, int16LE, int32LE, int64LE, names, opts, #parse, prototypes, security_buffer, #serialize, #size, string, types

Constructor Details

This class inherits a constructor from Watobo::NTLM::FieldSet

Class Method Details

.create(arg, opt = {}) ⇒ Type3

Note:

All options must be properly encoded with either unicode or oem encoding

Builds a Type 3 packet

Parameters:

  • arg (Hash)

    a customizable set of options

Options Hash (arg):

  • :lm_response (String)

    The LM hash

  • :ntlm_response (String)

    The NTLM hash

  • :domain (String)

    The domain to authenticate to

  • :workstation (String)

    The name of the calling workstation

  • :session_key (String)

    The session key

  • :flag (Integer)

    Flags for the packet

Returns:



839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
# File 'lib/watobo/utils/ntlm.rb', line 839

def create(arg, opt ={})
  t = new
  t.lm_response = arg[:lm_response]
  t.ntlm_response = arg[:ntlm_response]
  t.domain = arg[:domain]
  t.user = arg[:user]

  if arg[:workstation]
    t.workstation = arg[:workstation]
  end

  if arg[:session_key]
    t.enable(:session_key)
    t.session_key = arg[session_key]
  end

  if arg[:flag]
    t.enable(:session_key)
    t.enable(:flag)
    t.flag = arg[:flag]
  end
  t
end

.parse(str) ⇒ Type2

Parse a Type 3 packet

Parameters:

  • str (String)

    A string containing Type 3 data

Returns:



824
825
826
827
828
# File 'lib/watobo/utils/ntlm.rb', line 824

def parse(str)
  t = new
  t.parse(str)
  t
end

Instance Method Details

#domainSecurityBuffer

Returns:



814
# File 'lib/watobo/utils/ntlm.rb', line 814

security_buffer :domain,        {:value => ""}

#domain=SecurityBuffer

Returns:



814
# File 'lib/watobo/utils/ntlm.rb', line 814

security_buffer :domain,        {:value => ""}

#flagInt64

Returns:

  • (Int64)


818
# File 'lib/watobo/utils/ntlm.rb', line 818

int64LE         :flag,          {:value => 0, :active => false }

#flag=Int64

Returns:

  • (Int64)


818
# File 'lib/watobo/utils/ntlm.rb', line 818

int64LE         :flag,          {:value => 0, :active => false }

#lm_responseSecurityBuffer

Returns:



812
# File 'lib/watobo/utils/ntlm.rb', line 812

security_buffer :lm_response,   {:value => ""}

#lm_response=SecurityBuffer

Returns:



812
# File 'lib/watobo/utils/ntlm.rb', line 812

security_buffer :lm_response,   {:value => ""}

#ntlm_responseSecurityBuffer

Returns:



813
# File 'lib/watobo/utils/ntlm.rb', line 813

security_buffer :ntlm_response, {:value => ""}

#ntlm_response=SecurityBuffer

Returns:



813
# File 'lib/watobo/utils/ntlm.rb', line 813

security_buffer :ntlm_response, {:value => ""}

#session_keySecurityBuffer

Returns:



817
# File 'lib/watobo/utils/ntlm.rb', line 817

security_buffer :session_key,   {:value => "", :active => false }

#session_key=SecurityBuffer

Returns:



817
# File 'lib/watobo/utils/ntlm.rb', line 817

security_buffer :session_key,   {:value => "", :active => false }

#signString

Returns:



810
# File 'lib/watobo/utils/ntlm.rb', line 810

string          :sign,          {:size => 8, :value => SSP_SIGN}

#sign=String

Returns:



810
# File 'lib/watobo/utils/ntlm.rb', line 810

string          :sign,          {:size => 8, :value => SSP_SIGN}

#typeInt32LE

Returns:



811
# File 'lib/watobo/utils/ntlm.rb', line 811

int32LE         :type,          {:value => 3}

#type=Int32LE

Returns:



811
# File 'lib/watobo/utils/ntlm.rb', line 811

int32LE         :type,          {:value => 3}

#userSecurityBuffer

Returns:



815
# File 'lib/watobo/utils/ntlm.rb', line 815

security_buffer :user,          {:value => ""}

#user=SecurityBuffer

Returns:



815
# File 'lib/watobo/utils/ntlm.rb', line 815

security_buffer :user,          {:value => ""}

#workstationSecurityBuffer

Returns:



816
# File 'lib/watobo/utils/ntlm.rb', line 816

security_buffer :workstation,   {:value => ""}

#workstation=SecurityBuffer

Returns:



816
# File 'lib/watobo/utils/ntlm.rb', line 816

security_buffer :workstation,   {:value => ""}