13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/smbRpc/samr/setInformationUser.rb', line 13
def initialize_instance
super
userHandle.value = get_parameter(:handle)
session_key = get_parameter(:session_key)
password = get_parameter(:pass)
if password.bytesize > 0
buffer.ntOwfPassword.len = 16
buffer.ntOwfPassword.maximumLength = 16
buffer.ntPasswordPresent.value = 1
buffer.whichFields.ntPasswordPresent.value = 1
buffer.lmOwfPassword.len = 16
buffer.lmOwfPassword.maximumLength = 16
buffer.lmPasswordPresent.value = 1
buffer.whichFields.lmPasswordPresent.value = 1
buffer.ntOwfPasswordNdr.str = [Smbhash.ntlm_hash(password)].pack("H*").to_des_ecb_lm(session_key)
buffer.lmOwfPasswordNdr.str = [Smbhash.lm_hash(password)].pack("H*").to_des_ecb_lm(session_key)
end
buffer.userAccountControl.value = get_parameter(:accControl)
buffer.whichFields.userAccountControl.value = 1 if buffer.userAccountControl.value > 0
request.pduHead.frag_length = self.num_bytes
request.opnum.value = 58 end
|