From b789699ac1800166b01446ee3811501f9e4042d3 Mon Sep 17 00:00:00 2001 From: SecPascal Date: Fri, 11 Dec 2015 18:13:04 +0100 Subject: [PATCH] Don't fail on non-existing username in /etc/passwd The AuthRandom auth class accepts random usernames, which may not exist in /etc/passwd. --- cowrie/core/ssh.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/cowrie/core/ssh.py b/cowrie/core/ssh.py index ce2aa87..85fdae9 100644 --- a/cowrie/core/ssh.py +++ b/cowrie/core/ssh.py @@ -106,10 +106,15 @@ class CowrieUser(avatar.ConchUser): {"session": HoneyPotSSHSession, "direct-tcpip": CowrieOpenConnectForwardingClient}) - pwentry = pwd.Passwd(self.cfg).getpwnam(self.username) - self.uid = pwentry["pw_uid"] - self.gid = pwentry["pw_gid"] - self.home = pwentry["pw_dir"] + try: + pwentry = pwd.Passwd(self.cfg).getpwnam(self.username) + self.uid = pwentry["pw_uid"] + self.gid = pwentry["pw_gid"] + self.home = pwentry["pw_dir"] + except: + self.uid = 1001 + self.gid = 1001 + self.home = '/home' # Sftp support enabled only when option is explicitly set try: