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:



848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
# File 'lib/watobo/utils/ntlm.rb', line 848

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:



833
834
835
836
837
# File 'lib/watobo/utils/ntlm.rb', line 833

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

Instance Method Details

#domainSecurityBuffer

Returns:



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

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

#domain=SecurityBuffer

Returns:



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

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

#flagInt64

Returns:

  • (Int64)


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

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

#flag=Int64

Returns:

  • (Int64)


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

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

#lm_responseSecurityBuffer

Returns:



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

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

#lm_response=SecurityBuffer

Returns:



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

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

#ntlm_responseSecurityBuffer

Returns:



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

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

#ntlm_response=SecurityBuffer

Returns:



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

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

#session_keySecurityBuffer

Returns:



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

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

#session_key=SecurityBuffer

Returns:



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

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

#signString

Returns:



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

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

#sign=String

Returns:



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

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

#typeInt32LE

Returns:



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

int32LE         :type,          {:value => 3}

#type=Int32LE

Returns:



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

int32LE         :type,          {:value => 3}

#userSecurityBuffer

Returns:



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

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

#user=SecurityBuffer

Returns:



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

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

#workstationSecurityBuffer

Returns:



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

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

#workstation=SecurityBuffer

Returns:



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

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