diff --git a/lib/modules/code_execution/invoke_metasploitpayload.py b/lib/modules/code_execution/invoke_metasploitpayload.py index 74caf08..f83a90e 100644 --- a/lib/modules/code_execution/invoke_metasploitpayload.py +++ b/lib/modules/code_execution/invoke_metasploitpayload.py @@ -4,68 +4,38 @@ class Module: def __init__(self, mainMenu, params=[]): - # metadata info about the module, not modified during runtime self.info = { - # name for the module that will appear in module menus 'Name': 'Invoke-MetasploitPayload', - - # list of one or more authors for the module 'Author': ['@jaredhaight'], - - # more verbose multi-line description of the module 'Description': ('Spawns a new, hidden PowerShell window that downloads' 'and executes a Metasploit payload. This relies on the' 'exploit/multi/scripts/web_delivery metasploit module.'), - - # True if the module needs to run in the background 'Background' : False, - - # File extension to save the file as 'OutputExtension' : None, - - # True if the module needs admin rights to run 'NeedsAdmin' : False, - - # True if the method doesn't touch disk/is reasonably opsec safe 'OpsecSafe' : True, - - # The minimum PowerShell version needed for the module to run 'MinPSVersion' : '2', - - # list of any references/other comments 'Comments': [ 'https://github.com/jaredhaight/Invoke-MetasploitPayload/' ] } - # any options needed by the module, settable during runtime self.options = { - # format: - # value_name : {description, required, default_value} 'Agent' : { - # The 'Agent' option is the only one that MUST be in a module - 'Description' : 'Agent to grab a screenshot from.', + 'Description' : 'Agent to run Metasploit payload on.', 'Required' : True, 'Value' : '' }, 'URL' : { - 'Description' : 'URL of the hosted Metasploit payload', + 'Description' : 'URL from the Metasploit web_delievery module', 'Required' : True, 'Value' : '' } } - - # save off a copy of the mainMenu object to access external functionality - # like listeners/agent handlers/etc. self.mainMenu = mainMenu - # During instantiation, any settable option parameters - # are passed as an object set to the module and the - # options dictionary is automatically set. This is mostly - # in case options are passed on the command line if params: for param in params: - # parameter format is [Name, Value] option, value = param if option in self.options: self.options[option]['Value'] = value @@ -86,8 +56,6 @@ class Module: script = moduleCode script += "\nInvoke-MetasploitPayload" - - # add any arguments to the end execution of the script for option,values in self.options.iteritems(): if option.lower() != "agent": if values['Value'] and values['Value'] != '':