1
mirror of https://github.com/rapid7/metasploit-framework synced 2024-10-02 07:40:19 +02:00

Initial attempts to add a check method

This commit is contained in:
gwillcox-r7 2020-06-10 20:37:20 -05:00
parent 9db73454aa
commit 5cd8abe3df
No known key found for this signature in database
GPG Key ID: D35E05C0F2B81E83

View File

@ -77,6 +77,33 @@ class MetasploitModule < Msf::Exploit::Local
])
end
def check
sysinfo_value = sysinfo['OS']
if sysinfo_value !~ /windows/i
# Non-Windows systems are definitely not affected.
return Exploit::CheckCode::Safe
end
build_num_raw = cmd_exec("cmd.exe /c ver")
build_num = build_num_raw.match(/\d+\.\d+\.\d+\.\d+/)[0]
print_status("Windows System Version: #{build_num_raw}")
print_status("Build number: #{build_num}")
# see https://docs.microsoft.com/en-us/windows/release-information/
unless build_num =~ /(7|8|8\.1|10|2008|2012|2016|2019|1803|1903)/
print_error("Target is not running a vulnerable version of Windows!")
return CheckCode::Safe
end
#disable_compression = registry_getvaldata('HKLM\\SYSTEM\\CurrentControlSet\\Services\\LanmanServer\\Parameters', 'DisableCompression')
#if !disable_compression.nil? && disable_compression != 0
# print_error('The exploit requires compression to be enabled')
# return CheckCode::Safe
#end
CheckCode::Appears
end
def check_target_is_running_windows_10
if sysinfo['OS'].match('Windows').nil?
fail_with(Failure::NotVulnerable, 'Target is not running Windows!')