mirror of https://github.com/cowrie/cowrie.git
do moduli check/version string only once
This commit is contained in:
parent
990640e280
commit
7c204a8164
|
@ -68,6 +68,19 @@ class CowrieSSHFactory(factory.SSHFactory):
|
||||||
b'ssh-dss': keys.Key.fromString(data=dsaPrivKeyString)
|
b'ssh-dss': keys.Key.fromString(data=dsaPrivKeyString)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_modulis = '/etc/ssh/moduli', '/private/etc/moduli'
|
||||||
|
for _moduli in _modulis:
|
||||||
|
try:
|
||||||
|
self.primes = primes.parseModuliFile(_moduli)
|
||||||
|
break
|
||||||
|
except IOError as err:
|
||||||
|
pass
|
||||||
|
|
||||||
|
try:
|
||||||
|
self.ourVersionString = CONFIG.get('ssh', 'version')
|
||||||
|
except NoOptionError:
|
||||||
|
self.ourVersionString = 'SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2'
|
||||||
|
|
||||||
factory.SSHFactory.startFactory(self)
|
factory.SSHFactory.startFactory(self)
|
||||||
log.msg("Ready to accept SSH connections")
|
log.msg("Ready to accept SSH connections")
|
||||||
|
|
||||||
|
@ -89,24 +102,12 @@ class CowrieSSHFactory(factory.SSHFactory):
|
||||||
@return: The built transport.
|
@return: The built transport.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_modulis = '/etc/ssh/moduli', '/private/etc/moduli'
|
|
||||||
|
|
||||||
t = transport.HoneyPotSSHTransport()
|
t = transport.HoneyPotSSHTransport()
|
||||||
|
|
||||||
try:
|
t.ourVersionString = self.ourVersionString
|
||||||
t.ourVersionString = CONFIG.get('ssh', 'version')
|
|
||||||
except NoOptionError:
|
|
||||||
t.ourVersionString = "SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2"
|
|
||||||
|
|
||||||
t.supportedPublicKeys = list(self.privateKeys.keys())
|
t.supportedPublicKeys = list(self.privateKeys.keys())
|
||||||
|
|
||||||
for _moduli in _modulis:
|
|
||||||
try:
|
|
||||||
self.primes = primes.parseModuliFile(_moduli)
|
|
||||||
break
|
|
||||||
except IOError as err:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if not self.primes:
|
if not self.primes:
|
||||||
ske = t.supportedKeyExchanges[:]
|
ske = t.supportedKeyExchanges[:]
|
||||||
if b'diffie-hellman-group-exchange-sha1' in ske:
|
if b'diffie-hellman-group-exchange-sha1' in ske:
|
||||||
|
|
Loading…
Reference in New Issue