Closes #2520. Merges Rob's patch to check admin privs on start

git-svn-id: file:///home/svn/framework3/trunk@10341 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
HD Moore 2010-09-16 21:44:25 +00:00
parent 1cb4d17df7
commit 21d734201a
3 changed files with 31 additions and 4 deletions

View File

@ -38,13 +38,16 @@ module MeterpreterOptions
if (datastore['AutoLoadStdapi'] == true)
session.load_stdapi
mod = framework.modules.create(session.via_exploit)
if (mod and mod.privileged?)
session.load_priv
end
if datastore['AutoSystemInfo']
session.load_session_info
end
if session.railgun.shell32.IsUserAnAdmin()["return"] == true then
session.load_priv
session.info += " (ADMIN)"
end
end
if (datastore['InitialAutoRunScript'].empty? == false)

View File

@ -0,0 +1,21 @@
module Rex
module Post
module Meterpreter
module Extensions
module Stdapi
module Railgun
module Def
class Def_shell32
def self.add_imports(railgun)
railgun.add_dll('shell32')
railgun.add_function( 'shell32', 'IsUserAnAdmin', 'BOOL', [
])
end
end
end; end; end; end; end; end; end

View File

@ -143,6 +143,9 @@ class Railgun
when 'advapi32'
require 'rex/post/meterpreter/extensions/stdapi/railgun/def/def_advapi32'
Def::Def_advapi32.add_imports(self)
when 'shell32'
require 'rex/post/meterpreter/extensions/stdapi/railgun/def/def_shell32'
Def::Def_shell32.add_imports(self)
end
if( @dll.has_key?( dll_name ) )