# TODO: Proper planning and re-building of plugin system. Especially the default config handling should be streamlined. All the plugin types should have a very similar programming interface.
@ -32,6 +33,9 @@ class BasePlugin():
Whichisthefolderonthemachinewherewerunourtasksin
"""
ifself.machine_pluginisNone:
raisePluginError("Default machine not configured. Maybe you are creating an attack plugin. Then there are special attack/target machines")
returnself.machine_plugin.get_playground()
defset_logger(self,attack_logger):
@ -43,6 +47,11 @@ class BasePlugin():
return
defcopy_to_attacker_and_defender(self):
""" Copy attacker/defender specific files to the machines """
return
defsetup(self):
""" Prepare everything for the plugin """
@ -53,6 +62,8 @@ class BasePlugin():
self.vprint(src,3)
self.copy_to_machine(src)
self.copy_to_attacker_and_defender()
defset_machine_plugin(self,machine_plugin):
""" Set the machine plugin class to communicate with
required_files=["passwords.txt","users.txt"]# Files shipped with the plugin which are needed by the kali tool. Will be copied to the kali share
required_files_attacker=["passwords.txt","users.txt"]# Files shipped with the plugin which are needed by the kali tool. Will be copied to the kali share