mirror of
https://github.com/aljazceru/cowrie.git
synced 2026-02-11 17:34:27 +01:00
Don't send key exchange prematurely
git-svn-id: https://kippo.googlecode.com/svn/trunk@220 951d7100-d841-11de-b865-b3884708a8e2
This commit is contained in:
@@ -496,6 +496,8 @@ class HoneyPotRealm:
|
||||
raise Exception, "No supported interfaces found."
|
||||
|
||||
class HoneyPotTransport(transport.SSHServerTransport):
|
||||
|
||||
hadVersion = False
|
||||
|
||||
def connectionMade(self):
|
||||
print 'New connection: %s:%s (%s:%s) [session: %d]' % \
|
||||
@@ -507,6 +509,18 @@ class HoneyPotTransport(transport.SSHServerTransport):
|
||||
self.ttylog_open = False
|
||||
transport.SSHServerTransport.connectionMade(self)
|
||||
|
||||
def sendKexInit(self):
|
||||
# Don't send key exchange prematurely
|
||||
if not self.gotVersion:
|
||||
return
|
||||
transport.SSHServerTransport.sendKexInit(self)
|
||||
|
||||
def dataReceived(self, data):
|
||||
transport.SSHServerTransport.dataReceived(self, data)
|
||||
if not self.hadVersion and self.gotVersion:
|
||||
self.sendKexInit()
|
||||
self.hadVersion = True
|
||||
|
||||
def ssh_KEXINIT(self, packet):
|
||||
print 'Remote SSH version: %s' % (self.otherVersionString,)
|
||||
return transport.SSHServerTransport.ssh_KEXINIT(self, packet)
|
||||
|
||||
Reference in New Issue
Block a user