From 3af6fff5ca9aac502699271ce592090305943e24 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Tue, 21 Jul 2020 12:10:23 +0300 Subject: [PATCH] Fixed bug: linux only PBA's throwing errors on Windows --- .../post_breach/actions/change_file_privileges.py | 8 +++----- .../post_breach/actions/use_trap_command.py | 7 +++---- monkey/infection_monkey/post_breach/pba.py | 4 +++- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/monkey/infection_monkey/post_breach/actions/change_file_privileges.py b/monkey/infection_monkey/post_breach/actions/change_file_privileges.py index 444804f81..1cf5813e3 100644 --- a/monkey/infection_monkey/post_breach/actions/change_file_privileges.py +++ b/monkey/infection_monkey/post_breach/actions/change_file_privileges.py @@ -2,12 +2,10 @@ from common.data.post_breach_consts import POST_BREACH_SETUID_SETGID from infection_monkey.post_breach.pba import PBA from infection_monkey.post_breach.setuid_setgid.setuid_setgid import \ get_commands_to_change_setuid_setgid -from infection_monkey.utils.environment import is_windows_os class ChangeSetuidSetgid(PBA): def __init__(self): - if not is_windows_os(): - linux_cmds = get_commands_to_change_setuid_setgid() - super(ChangeSetuidSetgid, self).__init__(POST_BREACH_SETUID_SETGID, - linux_cmd=' '.join(linux_cmds)) + linux_cmds = get_commands_to_change_setuid_setgid() + super(ChangeSetuidSetgid, self).__init__(POST_BREACH_SETUID_SETGID, + linux_cmd=' '.join(linux_cmds)) diff --git a/monkey/infection_monkey/post_breach/actions/use_trap_command.py b/monkey/infection_monkey/post_breach/actions/use_trap_command.py index 306e92fa3..bd461c974 100644 --- a/monkey/infection_monkey/post_breach/actions/use_trap_command.py +++ b/monkey/infection_monkey/post_breach/actions/use_trap_command.py @@ -7,7 +7,6 @@ from infection_monkey.utils.environment import is_windows_os class TrapCommand(PBA): def __init__(self): - if not is_windows_os(): - linux_cmds = get_trap_commands() - super(TrapCommand, self).__init__(POST_BREACH_TRAP_COMMAND, - linux_cmd=linux_cmds) + linux_cmds = get_trap_commands() + super(TrapCommand, self).__init__(POST_BREACH_TRAP_COMMAND, + linux_cmd=linux_cmds) diff --git a/monkey/infection_monkey/post_breach/pba.py b/monkey/infection_monkey/post_breach/pba.py index 9d6a5eeae..a6a89edf8 100644 --- a/monkey/infection_monkey/post_breach/pba.py +++ b/monkey/infection_monkey/post_breach/pba.py @@ -62,8 +62,10 @@ class PBA(Plugin): exec_funct = self._execute_default result = exec_funct() if self.scripts_were_used_successfully(result): - T1064Telem(ScanStatus.USED, "Scripts were used to execute %s post breach action." % self.name).send() + T1064Telem(ScanStatus.USED, f"Scripts were used to execute {self.name} post breach action.").send() PostBreachTelem(self, result).send() + else: + LOG.debug(f"No command available for PBA '{self.name}' on current OS, skipping.") def is_script(self): """