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.

reload_all

Load the Module

use auxiliary/scanner/http/check_online

Run the Module

set RHOSTS https://www.wpunj.edu
run

Last updated