Method: Rex::Proto::SMB::Client#initialize

Defined in:
lib/rex/proto/smb/client.rb

#initialize(socket) ⇒ Client

Returns a new instance of Client.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/rex/proto/smb/client.rb', line 29

def initialize(socket)
  self.socket = socket
  self.native_os = 'Windows 2000 2195'
  self.native_lm = 'Windows 2000 5.0'
  self.encrypt_passwords = true
  self.extended_security = false
  self.multiplex_id = rand(0xffff)
  self.process_id = rand(0xffff)
  self.read_timeout = 10
  self.evasion_opts = {

    # Padding is performed between packet headers and data
    'pad_data' => EVADE::EVASION_NONE,

    # File path padding is performed on all open/create calls
    'pad_file' => EVADE::EVASION_NONE,

    # Modify the \PIPE\ string in trans_named_pipe calls
    'obscure_trans_pipe' => EVADE::EVASION_NONE,
  }

  self.verify_signature = false
  self.use_ntlmv2 = false
  self.usentlm2_session = true
  self.send_lm = true
  self.use_lanman_key = false
  self.send_ntlm  = true

  # Signing
  self.sequence_counter = 0
  self.signing_key      = ''
  self.require_signing  = false

  #Misc
  self.spnopt = {}

end