Files
metasploit-gs/lib/msf/base/simple/exploit.rb
T
Matt Miller 46c2cd2ac1 added ui subscriber stuff
git-svn-id: file:///home/svn/incoming/trunk@2775 4d416f70-5f16-0410-b530-b9f4589650da
2005-07-17 07:06:05 +00:00

67 lines
1.2 KiB
Ruby

require 'msf/base'
module Msf
module Simple
###
#
# Exploit
# -------
#
# A simplified exploit wrapper.
#
###
module Exploit
include Module
#
# Wraps the exploitation process
#
def self.exploit_simple(exploit, opts)
target_idx = opts['Target'].to_i || exploit.default_target
# Make sure parameters are valid.
if (opts['Payload'] == nil)
raise MissingPayloadError,
"You must specify a payload.", caller
end
if (target_idx == nil)
raise MissingTargetError,
"You must select a target.", caller
end
# Start it up
driver = ExploitDriver.new(exploit.framework)
# Initialize the driver instance
driver.exploit = exploit
driver.target_idx = target_idx
driver.payload = exploit.framework.modules.create(opts['Payload'])
# Force the payload to share the exploit's datastore
driver.payload.share_datastore(driver.exploit.datastore)
# Set the payload and exploit's subscriber values
driver.exploit.init_ui(opts['LocalInput'], opts['LocalOutput'])
driver.payload.init_ui(opts['LocalInput'], opts['LocalOutput'])
# Let's rock this party
session = driver.run
return session
end
#
# Calls the class method
#
def exploit_simple(opts)
Msf::Simple::Exploit.exploit_simple(self, opts)
end
end
end
end