Skip to content

Commit d6e77d1

Browse files
authored
Merge pull request Pennyw0rth#470 from Chocapikk/main
FIX `a bytes-like object is required, not str` in `nxc/protocols/smb.py`
2 parents c312367 + 536cede commit d6e77d1

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

nxc/protocols/smb.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,10 @@ def enum_host_info(self):
258258
except KeyError:
259259
self.logger.debug("Error getting server information...")
260260

261+
# Handle cases where server_os is returned as bytes, such as when accidentally scanning a machine running Responder
262+
if isinstance(self.server_os.lower(), bytes):
263+
self.server_os = self.server_os.decode("utf-8")
264+
261265
if "Windows 6.1" in self.server_os and self.server_os_build == 0 and self.os_arch == 0:
262266
self.server_os = "Unix - Samba"
263267
elif self.server_os_build == 0 and self.os_arch == 0:
@@ -266,9 +270,6 @@ def enum_host_info(self):
266270

267271
self.logger.extra["hostname"] = self.hostname
268272

269-
if isinstance(self.server_os.lower(), bytes):
270-
self.server_os = self.server_os.decode("utf-8")
271-
272273
try:
273274
self.signing = self.conn.isSigningRequired() if self.smbv1 else self.conn._SMBConnection._Connection["RequireSigning"]
274275
except Exception as e:

0 commit comments

Comments
 (0)