diff --git a/kippo.cfg.dist b/kippo.cfg.dist index 1f2d380..b0bc3dd 100644 --- a/kippo.cfg.dist +++ b/kippo.cfg.dist @@ -141,6 +141,12 @@ ssh_version_string = SSH-2.0-OpenSSH_5.1p1 Debian-5 # (default: not specified) #banner_file = +# Allow the attacker to exit the honeypot on request or try to 'trick' the attacker with another shell. +# note: depending on the attackers client (e.g. putty), will just quit regardless. +# +# (default: true) +exit_jail = true + # Session management interface. # # This is a telnet based service that can be used to interact with active diff --git a/kippo/commands/base.py b/kippo/commands/base.py index 4aefd43..8987eb2 100644 --- a/kippo/commands/base.py +++ b/kippo/commands/base.py @@ -52,9 +52,15 @@ commands['exxxit'] = command_exxxit class command_exit(HoneyPotCommand): def call(self): + cfg = config() + self.exit_jail = True + if cfg.has_option('honeypot', 'exit_jail'): + if (cfg.get('honeypot', 'exit_jail') == "false"): + self.exit_jail = False if 'PuTTY' in self.honeypot.clientVersion or \ 'libssh' in self.honeypot.clientVersion or \ - 'sshlib' in self.honeypot.clientVersion: + 'sshlib' in self.honeypot.clientVersion or \ + self.exit_jail is False: self.honeypot.terminal.loseConnection() return self.honeypot.terminal.reset()