|
Lines 131-154
Link Here
|
| 131 |
if not connector.samr: |
131 |
if not connector.samr: |
| 132 |
connector.open_samr() |
132 |
connector.open_samr() |
| 133 |
|
133 |
|
| 134 |
sam_accountname = lsa.String() |
134 |
user_handle = None |
| 135 |
sam_accountname.string = samaccountname |
135 |
try: |
| 136 |
(rids, types) = connector.samr.LookupNames(connector.dom_handle, [sam_accountname,]) |
136 |
sam_accountname = lsa.String() |
|
|
137 |
sam_accountname.string = samaccountname |
| 138 |
(rids, types) = connector.samr.LookupNames(connector.dom_handle, [sam_accountname,]) |
| 137 |
|
139 |
|
| 138 |
rid=rids.ids[0] |
140 |
rid=rids.ids[0] |
| 139 |
user_handle = connector.samr.OpenUser(connector.dom_handle, security.SEC_FLAG_MAXIMUM_ALLOWED, rid) |
141 |
user_handle = connector.samr.OpenUser(connector.dom_handle, security.SEC_FLAG_MAXIMUM_ALLOWED, rid) |
| 140 |
|
142 |
|
| 141 |
userinfo18 = samba.dcerpc.samr.UserInfo18() |
143 |
userinfo18 = samba.dcerpc.samr.UserInfo18() |
| 142 |
bin_hash = binascii.a2b_hex(pwd) |
144 |
bin_hash = binascii.a2b_hex(pwd) |
| 143 |
enc_hash = mySamEncryptNTLMHash(bin_hash, connector.samr.session_key) |
145 |
enc_hash = mySamEncryptNTLMHash(bin_hash, connector.samr.session_key) |
| 144 |
|
146 |
|
| 145 |
samr_Password = samba.dcerpc.samr.Password() |
147 |
samr_Password = samba.dcerpc.samr.Password() |
| 146 |
samr_Password.hash = map(ord, enc_hash) |
148 |
samr_Password.hash = map(ord, enc_hash) |
| 147 |
|
149 |
|
| 148 |
userinfo18.nt_pwd = samr_Password |
150 |
userinfo18.nt_pwd = samr_Password |
| 149 |
userinfo18.nt_pwd_active = 1 |
151 |
userinfo18.nt_pwd_active = 1 |
| 150 |
userinfo18.password_expired = 0 |
152 |
userinfo18.password_expired = 0 |
| 151 |
info = connector.samr.SetUserInfo(user_handle, 18, userinfo18) |
153 |
info = connector.samr.SetUserInfo(user_handle, 18, userinfo18) |
|
|
154 |
finally: |
| 155 |
if user_handle: |
| 156 |
connector.samr.Close(user_handle) |
| 157 |
connector.close_samr() |
| 152 |
|
158 |
|
| 153 |
return info |
159 |
return info |
| 154 |
|
160 |
|