diff --git a/nxc/protocols/smb.py b/nxc/protocols/smb.py index f404c305f..ee88a0304 100755 --- a/nxc/protocols/smb.py +++ b/nxc/protocols/smb.py @@ -258,6 +258,9 @@ def enum_host_info(self): except KeyError: self.logger.debug("Error getting server information...") + if isinstance(self.server_os.lower(), bytes): + self.server_os = self.server_os.decode("utf-8") + if "Windows 6.1" in self.server_os and self.server_os_build == 0 and self.os_arch == 0: self.server_os = "Unix - Samba" elif self.server_os_build == 0 and self.os_arch == 0: @@ -266,9 +269,6 @@ def enum_host_info(self): self.logger.extra["hostname"] = self.hostname - if isinstance(self.server_os.lower(), bytes): - self.server_os = self.server_os.decode("utf-8") - try: self.signing = self.conn.isSigningRequired() if self.smbv1 else self.conn._SMBConnection._Connection["RequireSigning"] except Exception as e: