move meterpreter on_session functionality into a mixin
git-svn-id: file:///home/svn/framework3/trunk@8586 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
parent
29cd1f1b4c
commit
f8ca490b98
|
@ -0,0 +1,59 @@
|
|||
##
|
||||
# $Id$
|
||||
##
|
||||
|
||||
##
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# redistribution and commercial restrictions. Please see the Metasploit
|
||||
# Framework web site for more information on licensing and terms of use.
|
||||
# http://metasploit.com/framework/
|
||||
##
|
||||
|
||||
|
||||
module Msf
|
||||
module Sessions
|
||||
module MeterpreterOptions
|
||||
|
||||
def initialize(info = {})
|
||||
super(info)
|
||||
|
||||
register_advanced_options(
|
||||
[
|
||||
OptBool.new('AutoLoadStdapi', [true, "Automatically load the Stdapi extension", true]),
|
||||
OptString.new('InitialAutoRunScript', [false, "An initial script to run on session created (before AutoRunScript)", '']),
|
||||
OptString.new('AutoRunScript', [false, "A script to automatically on session creation.", ''])
|
||||
], self.class)
|
||||
end
|
||||
|
||||
#
|
||||
# Once a session is created, automatically load the stdapi extension if the
|
||||
# advanced option is set to true.
|
||||
#
|
||||
def on_session(session)
|
||||
super
|
||||
|
||||
if (datastore['AutoLoadStdapi'] == true)
|
||||
session.load_stdapi
|
||||
if (framework.exploits.create(session.via_exploit).privileged?)
|
||||
session.load_priv
|
||||
end
|
||||
end
|
||||
|
||||
if (datastore['InitialAutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['InitialAutoRunScript'].split
|
||||
print_status("Session ID #{session.sid} (#{session.tunnel_to_s}) processing InitialAutoRunScript '#{datastore['InitialAutoRunScript']}'")
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
|
||||
if (datastore['AutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['AutoRunScript'].split
|
||||
print_status("Session ID #{session.sid} (#{session.tunnel_to_s}) processing AutoRunScript '#{datastore['AutoRunScript']}'")
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
|
@ -3,7 +3,7 @@
|
|||
##
|
||||
|
||||
##
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# redistribution and commercial restrictions. Please see the Metasploit
|
||||
# Framework web site for more information on licensing and terms of use.
|
||||
# http://metasploit.com/framework/
|
||||
|
@ -13,11 +13,13 @@
|
|||
require 'msf/core'
|
||||
require 'msf/core/handler/bind_tcp'
|
||||
require 'msf/base/sessions/meterpreter_x86_bsd'
|
||||
require 'msf/base/sessions/meterpreter_options'
|
||||
|
||||
module Metasploit3
|
||||
|
||||
include Msf::Payload::Bsd
|
||||
include Msf::Payload::Single
|
||||
include Msf::Sessions::MeterpreterOptions
|
||||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
|
@ -36,36 +38,6 @@ module Metasploit3
|
|||
'Payload' => ""
|
||||
}
|
||||
))
|
||||
# Set advanced options
|
||||
register_advanced_options(
|
||||
[
|
||||
OptBool.new('AutoLoadStdapi',
|
||||
[
|
||||
true,
|
||||
"Automatically load the Stdapi extension",
|
||||
true
|
||||
]),
|
||||
OptString.new('AutoRunScript', [false, "Script to autorun on meterpreter session creation", ''])
|
||||
], self.class)
|
||||
end
|
||||
|
||||
#
|
||||
# Once a session is created, automatically load the stdapi extension if the
|
||||
# advanced option is set to true.
|
||||
#
|
||||
def on_session(session)
|
||||
super
|
||||
if (datastore['AutoLoadStdapi'] == true)
|
||||
session.load_stdapi
|
||||
if (framework.exploits.create(session.via_exploit).privileged?)
|
||||
session.load_priv
|
||||
end
|
||||
end
|
||||
if (datastore['AutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['AutoRunScript'].split
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -13,11 +13,13 @@
|
|||
require 'msf/core'
|
||||
require 'msf/core/handler/reverse_tcp'
|
||||
require 'msf/base/sessions/meterpreter_x86_bsd'
|
||||
require 'msf/base/sessions/meterpreter_options'
|
||||
|
||||
module Metasploit3
|
||||
|
||||
include Msf::Payload::Bsd
|
||||
include Msf::Payload::Single
|
||||
include Msf::Sessions::MeterpreterOptions
|
||||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
|
@ -36,36 +38,6 @@ module Metasploit3
|
|||
'Payload' => ""
|
||||
}
|
||||
))
|
||||
# Set advanced options
|
||||
register_advanced_options(
|
||||
[
|
||||
OptBool.new('AutoLoadStdapi',
|
||||
[
|
||||
true,
|
||||
"Automatically load the Stdapi extension",
|
||||
true
|
||||
]),
|
||||
OptString.new('AutoRunScript', [false, "Script to autorun on meterpreter session creation", ''])
|
||||
], self.class)
|
||||
end
|
||||
|
||||
#
|
||||
# Once a session is created, automatically load the stdapi extension if the
|
||||
# advanced option is set to true.
|
||||
#
|
||||
def on_session(session)
|
||||
super
|
||||
if (datastore['AutoLoadStdapi'] == true)
|
||||
session.load_stdapi
|
||||
if (framework.exploits.create(session.via_exploit).privileged?)
|
||||
session.load_priv
|
||||
end
|
||||
end
|
||||
if (datastore['AutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['AutoRunScript'].split
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
##
|
||||
|
||||
##
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# redistribution and commercial restrictions. Please see the Metasploit
|
||||
# Framework web site for more information on licensing and terms of use.
|
||||
# http://metasploit.com/framework/
|
||||
|
@ -13,11 +13,13 @@
|
|||
require 'msf/core'
|
||||
require 'msf/core/handler/bind_tcp'
|
||||
require 'msf/base/sessions/meterpreter_x86_linux'
|
||||
require 'msf/base/sessions/meterpreter_options'
|
||||
|
||||
module Metasploit3
|
||||
|
||||
include Msf::Payload::Linux
|
||||
include Msf::Payload::Single
|
||||
include Msf::Sessions::MeterpreterOptions
|
||||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
|
@ -36,36 +38,6 @@ module Metasploit3
|
|||
'Payload' => ""
|
||||
}
|
||||
))
|
||||
# Set advanced options
|
||||
register_advanced_options(
|
||||
[
|
||||
OptBool.new('AutoLoadStdapi',
|
||||
[
|
||||
true,
|
||||
"Automatically load the Stdapi extension",
|
||||
true
|
||||
]),
|
||||
OptString.new('AutoRunScript', [false, "Script to autorun on meterpreter session creation", ''])
|
||||
], self.class)
|
||||
end
|
||||
|
||||
#
|
||||
# Once a session is created, automatically load the stdapi extension if the
|
||||
# advanced option is set to true.
|
||||
#
|
||||
def on_session(session)
|
||||
super
|
||||
if (datastore['AutoLoadStdapi'] == true)
|
||||
session.load_stdapi
|
||||
if (framework.exploits.create(session.via_exploit).privileged?)
|
||||
session.load_priv
|
||||
end
|
||||
end
|
||||
if (datastore['AutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['AutoRunScript'].split
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
##
|
||||
|
||||
##
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# redistribution and commercial restrictions. Please see the Metasploit
|
||||
# Framework web site for more information on licensing and terms of use.
|
||||
# http://metasploit.com/framework/
|
||||
|
@ -13,11 +13,13 @@
|
|||
require 'msf/core'
|
||||
require 'msf/core/handler/reverse_tcp'
|
||||
require 'msf/base/sessions/meterpreter_x86_linux'
|
||||
require 'msf/base/sessions/meterpreter_options'
|
||||
|
||||
module Metasploit3
|
||||
|
||||
include Msf::Payload::Linux
|
||||
include Msf::Payload::Single
|
||||
include Msf::Sessions::MeterpreterOptions
|
||||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
|
@ -36,36 +38,6 @@ module Metasploit3
|
|||
'Payload' => ""
|
||||
}
|
||||
))
|
||||
# Set advanced options
|
||||
register_advanced_options(
|
||||
[
|
||||
OptBool.new('AutoLoadStdapi',
|
||||
[
|
||||
true,
|
||||
"Automatically load the Stdapi extension",
|
||||
true
|
||||
]),
|
||||
OptString.new('AutoRunScript', [false, "Script to autorun on meterpreter session creation", ''])
|
||||
], self.class)
|
||||
end
|
||||
|
||||
#
|
||||
# Once a session is created, automatically load the stdapi extension if the
|
||||
# advanced option is set to true.
|
||||
#
|
||||
def on_session(session)
|
||||
super
|
||||
if (datastore['AutoLoadStdapi'] == true)
|
||||
session.load_stdapi
|
||||
if (framework.exploits.create(session.via_exploit).privileged?)
|
||||
session.load_priv
|
||||
end
|
||||
end
|
||||
if (datastore['AutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['AutoRunScript'].split
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
##
|
||||
|
||||
##
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# redistribution and commercial restrictions. Please see the Metasploit
|
||||
# Framework web site for more information on licensing and terms of use.
|
||||
# http://metasploit.com/framework/
|
||||
|
@ -13,11 +13,13 @@
|
|||
require 'msf/core'
|
||||
require 'msf/core/handler/bind_tcp'
|
||||
require 'msf/base/sessions/meterpreter_x86_win'
|
||||
require 'msf/base/sessions/meterpreter_options'
|
||||
|
||||
module Metasploit3
|
||||
|
||||
include Msf::Payload::Windows
|
||||
include Msf::Payload::Single
|
||||
include Msf::Sessions::MeterpreterOptions
|
||||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
|
@ -36,36 +38,6 @@ module Metasploit3
|
|||
'Payload' => ""
|
||||
}
|
||||
))
|
||||
# Set advanced options
|
||||
register_advanced_options(
|
||||
[
|
||||
OptBool.new('AutoLoadStdapi',
|
||||
[
|
||||
true,
|
||||
"Automatically load the Stdapi extension",
|
||||
true
|
||||
]),
|
||||
OptString.new('AutoRunScript', [false, "Script to autorun on meterpreter session creation", ''])
|
||||
], self.class)
|
||||
end
|
||||
|
||||
#
|
||||
# Once a session is created, automatically load the stdapi extension if the
|
||||
# advanced option is set to true.
|
||||
#
|
||||
def on_session(session)
|
||||
super
|
||||
if (datastore['AutoLoadStdapi'] == true)
|
||||
session.load_stdapi
|
||||
if (framework.exploits.create(session.via_exploit).privileged?)
|
||||
session.load_priv
|
||||
end
|
||||
end
|
||||
if (datastore['AutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['AutoRunScript'].split
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
##
|
||||
|
||||
##
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# redistribution and commercial restrictions. Please see the Metasploit
|
||||
# Framework web site for more information on licensing and terms of use.
|
||||
# http://metasploit.com/framework/
|
||||
|
@ -13,11 +13,13 @@
|
|||
require 'msf/core'
|
||||
require 'msf/core/handler/reverse_tcp'
|
||||
require 'msf/base/sessions/meterpreter_x86_win'
|
||||
require 'msf/base/sessions/meterpreter_options'
|
||||
|
||||
module Metasploit3
|
||||
|
||||
include Msf::Payload::Windows
|
||||
include Msf::Payload::Single
|
||||
include Msf::Sessions::MeterpreterOptions
|
||||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
|
@ -36,36 +38,6 @@ module Metasploit3
|
|||
'Payload' => ""
|
||||
}
|
||||
))
|
||||
# Set advanced options
|
||||
register_advanced_options(
|
||||
[
|
||||
OptBool.new('AutoLoadStdapi',
|
||||
[
|
||||
true,
|
||||
"Automatically load the Stdapi extension",
|
||||
true
|
||||
]),
|
||||
OptString.new('AutoRunScript', [false, "Script to autorun on meterpreter session creation", ''])
|
||||
], self.class)
|
||||
end
|
||||
|
||||
#
|
||||
# Once a session is created, automatically load the stdapi extension if the
|
||||
# advanced option is set to true.
|
||||
#
|
||||
def on_session(session)
|
||||
super
|
||||
if (datastore['AutoLoadStdapi'] == true)
|
||||
session.load_stdapi
|
||||
if (framework.exploits.create(session.via_exploit).privileged?)
|
||||
session.load_priv
|
||||
end
|
||||
end
|
||||
if (datastore['AutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['AutoRunScript'].split
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
require 'msf/core'
|
||||
require 'msf/core/payload/windows/reflectivedllinject'
|
||||
require 'msf/base/sessions/meterpreter_x86_win'
|
||||
require 'msf/base/sessions/meterpreter_options'
|
||||
|
||||
###
|
||||
#
|
||||
|
@ -22,6 +23,7 @@ require 'msf/base/sessions/meterpreter_x86_win'
|
|||
module Metasploit3
|
||||
|
||||
include Msf::Payload::Windows::ReflectiveDllInject
|
||||
include Msf::Sessions::MeterpreterOptions
|
||||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
|
@ -32,13 +34,6 @@ module Metasploit3
|
|||
'License' => MSF_LICENSE,
|
||||
'Session' => Msf::Sessions::Meterpreter_x86_Win))
|
||||
|
||||
register_advanced_options(
|
||||
[
|
||||
OptBool.new('AutoLoadStdapi', [true, "Automatically load the Stdapi extension", true]),
|
||||
OptString.new('InitialAutoRunScript', [false, "An initial script to run on session created (before AutoRunScript)", '']),
|
||||
OptString.new('AutoRunScript', [false, "A script to automatically on session creation.", ''])
|
||||
], self.class)
|
||||
|
||||
# Don't let people set the library name option
|
||||
options.remove_option('LibraryName')
|
||||
options.remove_option('DLL')
|
||||
|
@ -48,31 +43,4 @@ module Metasploit3
|
|||
File.join(Msf::Config.install_root, "data", "meterpreter", "metsrv.dll")
|
||||
end
|
||||
|
||||
#
|
||||
# Once a session is created, automatically load the stdapi extension if the
|
||||
# advanced option is set to true.
|
||||
#
|
||||
def on_session(session)
|
||||
super
|
||||
if (datastore['AutoLoadStdapi'] == true)
|
||||
session.load_stdapi
|
||||
if (framework.exploits.create(session.via_exploit).privileged?)
|
||||
session.load_priv
|
||||
end
|
||||
end
|
||||
if (datastore['InitialAutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['InitialAutoRunScript'].split
|
||||
print_status("Session ID #{session.sid} (#{session.tunnel_to_s}) processing InitialAutoRunScript '#{datastore['InitialAutoRunScript']}'")
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
if (datastore['AutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['AutoRunScript'].split
|
||||
print_status("Session ID #{session.sid} (#{session.tunnel_to_s}) processing AutoRunScript '#{datastore['AutoRunScript']}'")
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
require 'msf/core'
|
||||
require 'msf/core/payload/windows/dllinject'
|
||||
require 'msf/base/sessions/meterpreter_x86_win'
|
||||
|
||||
require 'msf/base/sessions/meterpreter_options'
|
||||
|
||||
###
|
||||
#
|
||||
|
@ -23,6 +23,7 @@ require 'msf/base/sessions/meterpreter_x86_win'
|
|||
module Metasploit3
|
||||
|
||||
include Msf::Payload::Windows::DllInject
|
||||
include Msf::Sessions::MeterpreterOptions
|
||||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
|
@ -33,13 +34,6 @@ module Metasploit3
|
|||
'License' => MSF_LICENSE,
|
||||
'Session' => Msf::Sessions::Meterpreter_x86_Win))
|
||||
|
||||
register_advanced_options(
|
||||
[
|
||||
OptBool.new('AutoLoadStdapi', [true, "Automatically load the Stdapi extension", true]),
|
||||
OptString.new('InitialAutoRunScript', [false, "An initial script to run on session created (before AutoRunScript)", '']),
|
||||
OptString.new('AutoRunScript', [false, "A script to automatically on session creation.", ''])
|
||||
], self.class)
|
||||
|
||||
# Don't let people set the library name option
|
||||
options.remove_option('LibraryName')
|
||||
options.remove_option('DLL')
|
||||
|
@ -57,30 +51,4 @@ module Metasploit3
|
|||
File.join(Msf::Config.install_root, "data", "meterpreter", "metsrv.dll")
|
||||
end
|
||||
|
||||
#
|
||||
# Once a session is created, automatically load the stdapi extension if the
|
||||
# advanced option is set to true.
|
||||
#
|
||||
def on_session(session)
|
||||
super
|
||||
if (datastore['AutoLoadStdapi'] == true)
|
||||
session.load_stdapi
|
||||
if (framework.exploits.create(session.via_exploit).privileged?)
|
||||
session.load_priv
|
||||
end
|
||||
end
|
||||
if (datastore['InitialAutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['InitialAutoRunScript'].split
|
||||
print_status("Session ID #{session.sid} (#{session.tunnel_to_s}) processing InitialAutoRunScript '#{datastore['InitialAutoRunScript']}'")
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
if (datastore['AutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['AutoRunScript'].split
|
||||
print_status("Session ID #{session.sid} (#{session.tunnel_to_s}) processing AutoRunScript '#{datastore['AutoRunScript']}'")
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
##
|
||||
|
||||
##
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# redistribution and commercial restrictions. Please see the Metasploit
|
||||
# Framework web site for more information on licensing and terms of use.
|
||||
# http://metasploit.com/framework/
|
||||
|
@ -13,6 +13,7 @@
|
|||
require 'msf/core'
|
||||
require 'msf/core/payload/windows/x64/reflectivedllinject'
|
||||
require 'msf/base/sessions/meterpreter_x64_win'
|
||||
require 'msf/base/sessions/meterpreter_options'
|
||||
|
||||
###
|
||||
#
|
||||
|
@ -23,6 +24,7 @@ require 'msf/base/sessions/meterpreter_x64_win'
|
|||
module Metasploit3
|
||||
|
||||
include Msf::Payload::Windows::ReflectiveDllInject_x64
|
||||
include Msf::Sessions::MeterpreterOptions
|
||||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
|
@ -34,13 +36,6 @@ module Metasploit3
|
|||
'Session' => Msf::Sessions::Meterpreter_x64_Win
|
||||
))
|
||||
|
||||
register_advanced_options(
|
||||
[
|
||||
OptBool.new('AutoLoadStdapi', [true, "Automatically load the Stdapi extension", true]),
|
||||
OptString.new('InitialAutoRunScript', [false, "An initial script to run on session created (before AutoRunScript)", '']),
|
||||
OptString.new('AutoRunScript', [false, "A script to automatically on session creation.", ''])
|
||||
], self.class)
|
||||
|
||||
options.remove_option( 'LibraryName' )
|
||||
options.remove_option( 'DLL' )
|
||||
end
|
||||
|
@ -49,26 +44,4 @@ module Metasploit3
|
|||
File.join( Msf::Config.install_root, "data", "meterpreter", "metsrv.x64.dll" )
|
||||
end
|
||||
|
||||
def on_session(session)
|
||||
super
|
||||
if (datastore['AutoLoadStdapi'] == true)
|
||||
session.load_stdapi
|
||||
if (framework.exploits.create(session.via_exploit).privileged?)
|
||||
session.load_priv
|
||||
end
|
||||
end
|
||||
if (datastore['InitialAutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['InitialAutoRunScript'].split
|
||||
print_status("Session ID #{session.sid} (#{session.tunnel_to_s}) processing InitialAutoRunScript '#{datastore['InitialAutoRunScript']}'")
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
if (datastore['AutoRunScript'].empty? == false)
|
||||
client = session
|
||||
args = datastore['AutoRunScript'].split
|
||||
print_status("Session ID #{session.sid} (#{session.tunnel_to_s}) processing AutoRunScript '#{datastore['AutoRunScript']}'")
|
||||
session.execute_script(args.shift, binding)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue