Jump to content

phalse

Members
  • Posts

    1
  • Joined

  • Last visited

phalse's Achievements

Newbie

Newbie (1/14)

  1. Hey all, I am trying to develop a metasploit module that acts as a server. I need the module to accept a request, send a payload, accept a second request, and send a second response. The problem that I am running into is all of the modules I am finding just do 1 exchange in a fire-and-forget format. My current code takes every request as a separate connection and closes after 1 exchange. Any idea how I can accomplish this? Here is what I have so far: class MetasploitModule < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::HttpServer def initialize(info = {}) super( update_info( info, 'Name' => 'Test', 'Description' => %q( test desc. ), 'License' => MSF_LICENSE, 'Author' => ['me'], 'Targets' => [ [ 'Linux', { 'Platform' => 'linux' } ], ] ) ) register_options([ OptString.new('SRVHOST', [false, 'The local host to listen on. This must be an address on the local machine or 0.0.0.0', '0.0.0.0']), OptString.new('SRVPORT', [false, 'The local port to listen on', '80']), OptString.new('URIPATH', [false, 'The URI to use', 'test_file']), deregister_options('SSL', 'SSLCert') end def on_request_uri(cli, request) if some_condition response = create_response(200) cli.send_response(response) else response = create_response(404) cli.send_response(response) end end
×
×
  • Create New...