diff options
Diffstat (limited to 'tests/python_dependencies/impacket/smb3.py')
-rw-r--r-- | tests/python_dependencies/impacket/smb3.py | 69 |
1 files changed, 35 insertions, 34 deletions
diff --git a/tests/python_dependencies/impacket/smb3.py b/tests/python_dependencies/impacket/smb3.py index 5548e4b0c..d81c7e117 100644 --- a/tests/python_dependencies/impacket/smb3.py +++ b/tests/python_dependencies/impacket/smb3.py @@ -1,3 +1,4 @@ +from __future__ import print_function # Copyright (c) 2003-2016 CORE Security Technologies # # This software is provided under under a slightly modified version @@ -231,13 +232,13 @@ class SMB3: self.negotiateSession(preferredDialect) def printStatus(self): - print "CONNECTION" + print("CONNECTION") for i in self._Connection.items(): - print "%-40s : %s" % i - print - print "SESSION" + print("%-40s : %s" % i) + print() + print("SESSION") for i in self._Session.items(): - print "%-40s : %s" % i + print("%-40s : %s" % i) def getServerName(self): return self._Session['ServerName'] @@ -308,7 +309,7 @@ class SMB3: packet['SessionID'] = self._Session['SessionID'] # Default the credit charge to 1 unless set by the caller - if packet.fields.has_key('CreditCharge') is False: + if ('CreditCharge' in packet.fields) is False: packet['CreditCharge'] = 1 # Standard credit request after negotiating protocol @@ -318,7 +319,7 @@ class SMB3: messageId = packet['MessageID'] if self._Session['SigningActivated'] is True and self._Connection['SequenceWindow'] > 2: - if packet['TreeID'] > 0 and self._Session['TreeConnectTable'].has_key(packet['TreeID']) is True: + if packet['TreeID'] > 0 and (packet['TreeID'] in self._Session['TreeConnectTable']) is True: if self._Session['TreeConnectTable'][packet['TreeID']]['EncryptData'] is False: packet['Flags'] = SMB2_FLAGS_SIGNED self.signSMB(packet) @@ -350,7 +351,7 @@ class SMB3: def recvSMB(self, packetID = None): # First, verify we don't have the packet already - if self._Connection['OutstandingResponses'].has_key(packetID): + if packetID in self._Connection['OutstandingResponses']: return self._Connection['OutstandingResponses'].pop(packetID) data = self._NetBIOSSession.recv_packet(self._timeout) @@ -727,7 +728,7 @@ class SMB3: pass # Parse Version to know the target Operating system name. Not provided elsewhere anymore - if ntlmChallenge.fields.has_key('Version'): + if 'Version' in ntlmChallenge.fields: version = ntlmChallenge['Version'] if len(version) >= 4: @@ -785,7 +786,7 @@ class SMB3: #print self._Session['TreeConnectTable'] share = share.split('\\')[-1] - if self._Session['TreeConnectTable'].has_key(share): + if share in self._Session['TreeConnectTable']: # Already connected, no need to reconnect treeEntry = self._Session['TreeConnectTable'][share] treeEntry['NumberOfUses'] += 1 @@ -837,10 +838,10 @@ class SMB3: return packet['TreeID'] def disconnectTree(self, treeId): - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) - if self._Session['TreeConnectTable'].has_key(treeId): + if treeId in self._Session['TreeConnectTable']: # More than 1 use? descrease it and return, if not, send the packet if self._Session['TreeConnectTable'][treeId]['NumberOfUses'] > 1: treeEntry = self._Session['TreeConnectTable'][treeId] @@ -862,7 +863,7 @@ class SMB3: return True def create(self, treeId, fileName, desiredAccess, shareMode, creationOptions, creationDisposition, fileAttributes, impersonationLevel = SMB2_IL_IMPERSONATION, securityFlags = 0, oplockLevel = SMB2_OPLOCK_LEVEL_NONE, createContexts = None): - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) fileName = string.replace(fileName, '/', '\\') @@ -885,7 +886,7 @@ class SMB3: # Is this file NOT on the root directory? if len(fileName.split('\\')) > 2: parentDir = ntpath.dirname(pathName) - if self.GlobalFileTable.has_key(parentDir): + if parentDir in self.GlobalFileTable: LOG.critical("Don't know what to do now! :-o") raise else: @@ -957,9 +958,9 @@ class SMB3: return str(createResponse['FileID']) def close(self, treeId, fileId): - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) - if self._Session['OpenTable'].has_key(fileId) is False: + if (fileId in self._Session['OpenTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) packet = self.SMB_PACKET() @@ -988,9 +989,9 @@ class SMB3: # This function should NOT be used for reading files directly, but another higher # level function should be used that will break the read into smaller pieces - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) - if self._Session['OpenTable'].has_key(fileId) is False: + if (fileId in self._Session['OpenTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) packet = self.SMB_PACKET() @@ -1030,9 +1031,9 @@ class SMB3: # This function should NOT be used for writing directly to files, but another higher # level function should be used that will break the writes into smaller pieces - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) - if self._Session['OpenTable'].has_key(fileId) is False: + if (fileId in self._Session['OpenTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) packet = self.SMB_PACKET() @@ -1071,9 +1072,9 @@ class SMB3: return bytesWritten def queryDirectory(self, treeId, fileId, searchString = '*', resumeIndex = 0, informationClass = FILENAMES_INFORMATION, maxBufferSize = None, enumRestart = False, singleEntry = False): - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) - if self._Session['OpenTable'].has_key(fileId) is False: + if (fileId in self._Session['OpenTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) packet = self.SMB_PACKET() @@ -1124,12 +1125,12 @@ class SMB3: self.sendSMB(packet) def ioctl(self, treeId, fileId = None, ctlCode = -1, flags = 0, inputBlob = '', maxInputResponse = None, maxOutputResponse = None, waitAnswer = 1): - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) if fileId is None: fileId = '\xff'*16 else: - if self._Session['OpenTable'].has_key(fileId) is False: + if (fileId in self._Session['OpenTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) packet = self.SMB_PACKET() @@ -1165,9 +1166,9 @@ class SMB3: return smbIoctlResponse['Buffer'] def flush(self,treeId, fileId): - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) - if self._Session['OpenTable'].has_key(fileId) is False: + if (fileId in self._Session['OpenTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) packet = self.SMB_PACKET() @@ -1186,9 +1187,9 @@ class SMB3: return True def lock(self, treeId, fileId, locks, lockSequence = 0): - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) - if self._Session['OpenTable'].has_key(fileId) is False: + if (fileId in self._Session['OpenTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) packet = self.SMB_PACKET() @@ -1248,9 +1249,9 @@ class SMB3: return True def queryInfo(self, treeId, fileId, inputBlob = '', infoType = SMB2_0_INFO_FILE, fileInfoClass = SMB2_FILE_STANDARD_INFO, additionalInformation = 0, flags = 0 ): - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) - if self._Session['OpenTable'].has_key(fileId) is False: + if (fileId in self._Session['OpenTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) packet = self.SMB_PACKET() @@ -1280,9 +1281,9 @@ class SMB3: return queryResponse['Buffer'] def setInfo(self, treeId, fileId, inputBlob = '', infoType = SMB2_0_INFO_FILE, fileInfoClass = SMB2_FILE_STANDARD_INFO, additionalInformation = 0 ): - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) - if self._Session['OpenTable'].has_key(fileId) is False: + if (fileId in self._Session['OpenTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) packet = self.SMB_PACKET() @@ -1385,7 +1386,7 @@ class SMB3: files.append(smb.SharedFile(fileInfo['CreationTime'],fileInfo['LastAccessTime'],fileInfo['LastChangeTime'],fileInfo['EndOfFile'],fileInfo['AllocationSize'],fileInfo['ExtFileAttributes'],fileInfo['FileName'].decode('utf-16le'), fileInfo['FileName'].decode('utf-16le'))) nextOffset = fileInfo['NextEntryOffset'] res = res[nextOffset:] - except SessionError, e: + except SessionError as e: if (e.get_error_code()) != STATUS_NO_MORE_FILES: raise break @@ -1512,7 +1513,7 @@ class SMB3: def waitNamedPipe(self, treeId, pipename, timeout = 5): pipename = ntpath.basename(pipename) - if self._Session['TreeConnectTable'].has_key(treeId) is False: + if (treeId in self._Session['TreeConnectTable']) is False: raise SessionError(STATUS_INVALID_PARAMETER) if len(pipename) > 0xffff: raise SessionError(STATUS_INVALID_PARAMETER) |