diff --git a/lib/msf/core/modules/external/shim.rb b/lib/msf/core/modules/external/shim.rb index 5658a437a0..881725167f 100644 --- a/lib/msf/core/modules/external/shim.rb +++ b/lib/msf/core/modules/external/shim.rb @@ -50,6 +50,14 @@ class Msf::Modules::External::Shim meta[:advanced_options] = mod_meta_common_options(mod, 'advanced_options', ignore_options: ignore_options) meta[:capabilities] = mod.meta['capabilities'] meta[:notes] = transform_notes(mod.meta['notes']) + + if mod.meta['default_options'].nil? + mod.meta['default_options'] = {} + end + meta[:default_options] = mod.meta['default_options'].map do |name, value| + "#{name.dump} => #{value.inspect}" + end.join(",\n ") + meta end diff --git a/lib/msf/core/modules/external/templates/evasion.erb b/lib/msf/core/modules/external/templates/evasion.erb index a519d381d4..0f8c23eb2a 100644 --- a/lib/msf/core/modules/external/templates/evasion.erb +++ b/lib/msf/core/modules/external/templates/evasion.erb @@ -7,16 +7,20 @@ class MetasploitModule < Msf::Evasion def initialize super({ <%= common_metadata meta %> - 'References' => + 'References' => [ <%= meta[:references] %> ], - 'Platform' => [<%= meta[:platform] %>], - 'Arch' => [<%= meta[:arch] %>], - 'Targets' => + 'Platform' => [<%= meta[:platform] %>], + 'Arch' => [<%= meta[:arch] %>], + 'Targets' => [ <%= meta[:targets] %> ], + 'DefaultOptions' => + { + <%= meta[:default_options] %> + } }) register_options([