Skip to content

Commit 3c89bcb

Browse files
committed
remove array (not great with a lot of users on the domain
1 parent 68c827d commit 3c89bcb

1 file changed

Lines changed: 5 additions & 12 deletions

File tree

nxc/protocols/smb/samruser.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,13 @@ def fetch_users(self, requested_users):
133133
# set these for the while loop
134134
enumerationContext = enumerate_users_resp["EnumerationContext"]
135135
status = enumerate_users_resp["ErrorCode"]
136-
self.print_user_info(users, domain_name)
136+
self.logger.display(f"Enumerated {users:d} local users: {domain_name}")
137137
self.dce.disconnect()
138138

139139
def get_user_info(self, domain_handle, user_ids):
140140
self.logger.debug(f"Getting user info for users: {user_ids}")
141-
users = []
141+
self.logger.highlight(f"{'-Username-':<30}{'-Last PW Set-':<20}{'-BadPW-':<8}{'-Description-':<60}")
142+
users = 0
142143

143144
for user in user_ids:
144145
self.logger.debug(f"Calling hSamrOpenUser for RID {user}")
@@ -161,19 +162,11 @@ def get_user_info(self, domain_handle, user_ids):
161162
last_pw_set = old_large_int_to_datetime(user_info["PasswordLastSet"])
162163
if last_pw_set == "1601-01-01 00:00:00":
163164
last_pw_set = "<never>"
164-
users.append({"name": user_name, "description": user_description, "bad_pwd_count": bad_pwd_count, "last_pw_set": last_pw_set})
165-
165+
users = users + 1
166+
self.logger.highlight(f"{user_name:<30}{last_pw_set:<20}{bad_pwd_count:<8}{user_description} ")
166167
samr.hSamrCloseHandle(self.dce, open_user_resp["UserHandle"])
167168
return users
168169

169-
def print_user_info(self, users, domain_name):
170-
self.logger.display(f"Enumerated {len(users):d} local users: {domain_name}")
171-
self.logger.highlight(f"{'-Username-':<30}{'-Last PW Set-':<20}{'-BadPW-':<8}{'-Description-':<60}")
172-
for user in users:
173-
self.logger.debug(f"Full user info: {user}")
174-
self.logger.highlight(f"{user['name']:<30}{user['last_pw_set']:<20}{user['bad_pwd_count']:<8}{user['description']} ")
175-
176-
177170
def old_large_int_to_datetime(large_int):
178171
combined = (large_int["HighPart"] << 32) | large_int["LowPart"]
179172
timestamp_seconds = combined / 10**7

0 commit comments

Comments
 (0)