Skip to content

Commit 9e02458

Browse files
committed
Add timeout check, to not double check a non existent host
1 parent 8dabb3d commit 9e02458

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

nxc/protocols/smb.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ def __init__(self, args, db, host):
159159
self.bootkey = None
160160
self.output_filename = None
161161
self.smbv1 = None
162+
self.is_timeouted = False
162163
self.signing = False
163164
self.smb_share_name = smb_share_name
164165
self.pvkbytes = None
@@ -551,8 +552,13 @@ def create_smbv1_conn(self):
551552
)
552553
self.smbv1 = True
553554
except OSError as e:
554-
if str(e).find("Connection reset by peer") != -1:
555+
if "Connection reset by peer" in str(e):
555556
self.logger.info(f"SMBv1 might be disabled on {self.host}")
557+
if "timed out" in str(e):
558+
self.is_timeouted = True
559+
return False
560+
except NetBIOSError:
561+
self.logger.info(f"SMBv1 disabled on {self.host}")
556562
return False
557563
except (Exception, NetBIOSTimeout) as e:
558564
self.logger.info(f"Error creating SMBv1 connection to {self.host}: {e}")
@@ -596,7 +602,7 @@ def create_conn_obj(self, no_smbv1=False):
596602
self.smbv1 = self.create_smbv1_conn()
597603
if self.smbv1:
598604
return True
599-
else:
605+
elif not self.is_timeouted:
600606
return self.create_smbv3_conn()
601607
elif not no_smbv1 and self.smbv1:
602608
return self.create_smbv1_conn()

0 commit comments

Comments
 (0)