Creating a Metasploit Module to Detect Online Websites
Activity
Create a Metasploit module that takes a URL as input and checks if the corresponding website is online.
check_online.rb
Save the module as check_online.rb in the Metasploit modules/auxiliary/scanner/http directory.
##
# This module requires Metasploit
##
require 'msf/core'
class MetasploitModule < Msf::Auxiliary
include Msf::Exploit::Remote::HttpClient
def initialize(info = {})
super(update_info(info,
'Name' => 'Check if Website is Online',
'Description' => %q{
This module checks if a target website is online by sending an HTTP GET request.
},
'Author' => ['Your Name'],
'License' => MSF_LICENSE,
'References' => []
))
register_options(
[
OptString.new('TARGETURI', [true, 'The path to check if the website is online', '/'])
]
)
end
def run
begin
res = send_request_raw({
'uri' => datastore['TARGETURI'],
'method' => 'GET'
})
if res && res.code == 200
print_good("#{peer} is online.")
else
print_error("#{peer} is offline or unreachable.")
end
rescue ::Rex::ConnectionError
print_error("#{peer} is offline or unreachable.")
end
end
end
Restart Metasploit to ensure it loads custom modules from ~/.msf4/modules.