diff --git a/lib/msf/core/feature_manager.rb b/lib/msf/core/feature_manager.rb index 6fb3349699..f95049571c 100644 --- a/lib/msf/core/feature_manager.rb +++ b/lib/msf/core/feature_manager.rb @@ -53,7 +53,7 @@ module Msf name: METASPLOIT_PAYLOAD_WARNINGS, description: 'When enabled Metasploit will output warnings about missing Metasploit payloads, for instance if they were removed by antivirus etc', requires_restart: true, - default_value: false, + default_value: true, developer_notes: 'Planned for default enablement in: Metasploit 6.4.x' }.freeze, { diff --git a/lib/msf/ui/console/driver.rb b/lib/msf/ui/console/driver.rb index 8586b4ea8a..fa392f3483 100644 --- a/lib/msf/ui/console/driver.rb +++ b/lib/msf/ui/console/driver.rb @@ -377,7 +377,13 @@ class Driver < Msf::Ui::Driver run_single("banner") unless opts['DisableBanner'] - payloads_manifest_errors = framework.features.enabled?(::Msf::FeatureManager::METASPLOIT_PAYLOAD_WARNINGS) ? ::MetasploitPayloads.manifest_errors : [] + payloads_manifest_errors = [] + begin + payloads_manifest_errors = ::MetasploitPayloads.manifest_errors if framework.features.enabled?(::Msf::FeatureManager::METASPLOIT_PAYLOAD_WARNINGS) + rescue ::StandardError => e + $stderr.print('Could not verify the integrity of the Metasploit Payloads manifest') + elog(e) + end av_warning_message if (framework.eicar_corrupted? || payloads_manifest_errors.any?)