示例#1
0
 def test_getSessionKey(self):
     smb = SMBConnection('*SMBSERVER',
                         self.machine,
                         preferredDialect=self.dialects)
     smb.login(self.username, self.password, self.domain)
     smb.getSessionKey()
     smb.logoff
示例#2
0
文件: smbwalk.py 项目: hugsy/stuff
def safe_smblogin(smb, **kwargs):
    username = kwargs.get("user")
    password = kwargs.get("pwd")
    domain = kwargs.get("domain")
    lmhash = kwargs.get("lmhash")
    nthash = kwargs.get("nthash")

    try:
        if lmhash and nthash:
            if verbose:
                logger.debug("Logging using Pass-The-Hash")
            smb.login(username, '', domain=domain, lmhash=lmhash, nthash=nthash)
        else:
            if verbose:
                logger.debug("Logging using password")
            smb.login(username, password, domain=domain)

        if verbose:
            if smb.isGuestSession() > 0:
                logger.debug("GUEST Session Granted")
            else:
                logger.debug("USER Session Granted")
    except Exception as e:
        if verbose:
            logger.error("Failed to login: %s" % e)
        return False

    return True
示例#3
0
 def test_listPath(self):
     smb = SMBConnection('*SMBSERVER',
                         self.machine,
                         preferredDialect=self.dialects)
     smb.login(self.username, self.password, self.domain)
     smb.listPath(self.share, '*')
     smb.logoff()
示例#4
0
 def test_connection(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     credentials = smb.getCredentials()
     self.assertTrue( credentials == (self.username, self.password, self.domain, '',''))
     smb.logoff()
     del(smb)
示例#5
0
文件: smbwalk.py 项目: hugsy/stuff
def safe_smblogin(smb, **kwargs):
    username = kwargs.get("user")
    password = kwargs.get("pwd")
    domain = kwargs.get("domain")
    lmhash = kwargs.get("lmhash")
    nthash = kwargs.get("nthash")

    try:
        if lmhash and nthash:
            if verbose:
                logger.debug("Logging using Pass-The-Hash")
            smb.login(username, "", domain=domain, lmhash=lmhash, nthash=nthash)
        else:
            if verbose:
                logger.debug("Logging using password")
            smb.login(username, password, domain=domain)

        if verbose:
            if smb.isGuestSession() > 0:
                logger.debug("GUEST Session Granted")
            else:
                logger.debug("USER Session Granted")
    except Exception as e:
        if verbose:
            logger.error("Failed to login: %s" % e)
        return False

    return True
示例#6
0
 def test_loginHashes(self):
     lmhash, nthash = self.hashes.split(':')
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)    
     smb.login(self.username, '', self.domain, lmhash, nthash)
     credentials = smb.getCredentials()
     self.assertTrue( credentials == (self.username, '', self.domain, lmhash.decode('hex'), nthash.decode('hex')) )
     smb.logoff()
示例#7
0
 def test_connection(self):
     smb = SMBConnection('*SMBSERVER',
                         self.machine,
                         preferredDialect=self.dialects)
     smb.login(self.username, self.password)
     smb.logoff()
     del (smb)
示例#8
0
 def test_loginHashes(self):
     lmhash, nthash = self.hashes.split(':')
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)    
     smb.login(self.username, '', self.domain, lmhash, nthash)
     credentials = smb.getCredentials()
     self.assertTrue( credentials == (self.username, '', self.domain, lmhash.decode('hex'), nthash.decode('hex'), '', None, None) )
     smb.logoff()
示例#9
0
 def test_connection(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     credentials = smb.getCredentials()
     self.assertTrue( credentials == (self.username, self.password, self.domain, '','','', None, None))
     smb.logoff()
     del(smb)
示例#10
0
 def test_createdeleteDirectory(self):
     smb = SMBConnection('*SMBSERVER',
                         self.machine,
                         preferredDialect=self.dialects)
     smb.login(self.username, self.password, self.domain)
     smb.createDirectory(self.share, self.directory)
     smb.deleteDirectory(self.share, self.directory)
     smb.logoff()
示例#11
0
 def test_getDialect(self):
     smb = SMBConnection('*SMBSERVER',
                         self.machine,
                         preferredDialect=self.dialects)
     smb.login(self.username, self.password, self.domain)
     dialect = smb.getDialect()
     self.assertTrue(dialect == self.dialects)
     smb.logoff()
示例#12
0
 def test_connectTree(self):
     smb = SMBConnection('*SMBSERVER',
                         self.machine,
                         preferredDialect=self.dialects)
     smb.login(self.username, self.password, self.domain)
     tid = smb.connectTree(self.share)
     UNC = '\\\\%s\\%s' % (self.machine, self.share)
     tid = smb.connectTree(UNC)
示例#13
0
 def test_createFile(self):
     smb = SMBConnection("*SMBSERVER", self.machine, preferredDialect=self.dialects)
     smb.login(self.username, self.password)
     tid = smb.connectTree(self.share)
     fid = smb.createFile(tid, self.file)
     smb.closeFile(tid, fid)
     smb.deleteFile(self.share, self.file)
     smb.disconnectTree(tid)
     smb.logoff()
示例#14
0
 def test_createFile(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     tid = smb.connectTree(self.share)
     fid = smb.createFile(tid, self.file)
     smb.closeFile(tid,fid)
     smb.rename(self.share, self.file, self.file + '.bak')
     smb.deleteFile(self.share, self.file + '.bak')
     smb.disconnectTree(tid)
     smb.logoff()
示例#15
0
 def test_getData(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     smb.getDialect()
     smb.getServerName()
     smb.getRemoteHost()
     smb.getServerDomain()
     smb.getServerOS()
     smb.doesSupportNTLMv2()
     smb.isLoginRequired()
     smb.logoff()
示例#16
0
 def test_uploadDownload(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     f = open(self.upload)
     smb.putFile(self.share, self.file, f.read)
     f.close()
     f = open(self.upload + '2', 'w+')
     smb.getFile(self.share, self.file, f.write)
     f.close()
     smb.deleteFile(self.share, self.file)
     smb.logoff()
示例#17
0
 def test_getData(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     smb.getDialect()
     smb.getServerName()
     smb.getRemoteHost()
     smb.getServerDomain()
     smb.getServerOS()
     smb.doesSupportNTLMv2()
     smb.isLoginRequired()
     smb.logoff()
示例#18
0
 def test_uploadDownload(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     f = open(self.upload)
     smb.putFile(self.share, self.file, f.read)
     f.close()
     f = open(self.upload + '2', 'w+')
     smb.getFile(self.share, self.file, f.write)
     f.close()
     smb.deleteFile(self.share, self.file)
     smb.logoff()
示例#19
0
def smb_connect(ip,username,password):
    crack =0
    try:
        smb = SMBConnection('*SMBSERVER', ip)
        smb.login(username,password)
        smb.logoff()
        crack =1
    except Exception, e:
        lock.acquire()
        print "%s smb 's %s:%s login fail " %(ip,username,password)
        lock.release()
        pass
示例#20
0
def smb_connect(ip, username, password):
    crack = 0
    try:
        smb = SMBConnection('*SMBSERVER', ip)
        smb.login(username, password)
        smb.logoff()
        crack = 1
    except Exception, e:
        lock.acquire()
        print "%s smb 's %s:%s login fail " % (ip, username, password)
        lock.release()
        pass
示例#21
0
    def test_readwriteFile(self):
        smb = SMBConnection("*SMBSERVER", self.machine, preferredDialect=self.dialects)
        smb.login(self.username, self.password)
        tid = smb.connectTree(self.share)
        fid = smb.createFile(tid, self.file)
        smb.writeFile(tid, fid, "A" * 65535)
        data = smb.readFile(tid, fid, 0, 65535)
        self.assertTrue(len(data) == 65535)
        self.assertTrue(data == "A" * 65535)
        smb.closeFile(tid, fid)
        smb.deleteFile(self.share, self.file)
        smb.disconnectTree(tid)

        smb.logoff()
示例#22
0
    def test_readwriteFile(self):
        smb = SMBConnection('*SMBSERVER',
                            self.machine,
                            preferredDialect=self.dialects)
        smb.login(self.username, self.password)
        tid = smb.connectTree(self.share)
        fid = smb.createFile(tid, self.file)
        smb.writeFile(tid, fid, "A" * 65535)
        data = smb.readFile(tid, fid, 0, 65535)
        self.assertTrue(len(data) == 65535)
        self.assertTrue(data == "A" * 65535)
        smb.closeFile(tid, fid)
        smb.deleteFile(self.share, self.file)
        smb.disconnectTree(tid)

        smb.logoff()
示例#23
0
 def test_getServerDomain(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     serverDomain = smb.getServerDomain()
     self.assertTrue( serverDomain == self.domain)
     smb.logoff()
示例#24
0
 def test_createdeleteDirectory(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     smb.createDirectory(self.share, self.directory)
     smb.deleteDirectory(self.share, self.directory) 
     smb.logoff()
示例#25
0
 def test_listPath(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects )
     smb.login(self.username, self.password, self.domain)
     smb.listPath(self.share, '*')
     smb.logoff()
示例#26
0
 def test_getSessionKey(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     smb.getSessionKey()
     smb.logoff
示例#27
0
 def test_getRemoteHost(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     remoteHost = smb.getRemoteHost()
     self.assertTrue( remoteHost == self.machine)
     smb.logoff()
示例#28
0
 def test_listPath(self):
     smb = SMBConnection("*SMBSERVER", self.machine, preferredDialect=self.dialects)
     smb.login(self.username, self.password)
     smb.listPath(self.share, "*")
     smb.logoff()
示例#29
0
 def test_getServerName(self):
     smb = SMBConnection("*SMBSERVER", self.machine, preferredDialect=self.dialects)
     smb.login(self.username, self.password)
     smb.logoff()
示例#30
0
 def test_connectTree(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     tid = smb.connectTree(self.share)
     UNC = '\\\\%s\\%s' % (self.machine, self.share)
     tid = smb.connectTree(UNC)
示例#31
0
 def test_getServerDomain(self):
     smb = SMBConnection('*SMBSERVER', self.machine, preferredDialect = self.dialects)
     smb.login(self.username, self.password, self.domain)
     serverDomain = smb.getServerDomain()
     self.assertTrue( serverDomain.upper() == self.domain.upper())
     smb.logoff()