payload info can now be target specific
git-svn-id: file:///home/svn/incoming/trunk@2923 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
parent
aeb6e66e67
commit
ccd1e8f10a
|
@ -7,15 +7,15 @@ X - pivoting
|
||||||
X - portfwd command
|
X - portfwd command
|
||||||
- networking
|
- networking
|
||||||
X - switch board routing table for pivoting
|
X - switch board routing table for pivoting
|
||||||
- meterpreter 'comm' support
|
X - meterpreter 'comm' support
|
||||||
- proxy 'comm' support
|
- proxy 'comm' support
|
||||||
- asm
|
- asm
|
||||||
- block dependencies (req'd for shikata)
|
- block dependencies (req'd for shikata)
|
||||||
- block permutation generation (req'd for shikata)
|
- block permutation generation (req'd for shikata)
|
||||||
- text
|
- text
|
||||||
- create_pattern, pattern_offset
|
X - create_pattern, pattern_offset
|
||||||
- base64
|
X - base64
|
||||||
- consider extending String
|
X - consider extending String
|
||||||
- framework-core
|
- framework-core
|
||||||
- modules
|
- modules
|
||||||
- reloading
|
- reloading
|
||||||
|
@ -25,7 +25,7 @@ X - switch board routing table for pivoting
|
||||||
- meta information
|
- meta information
|
||||||
- stager/stage calling conventions
|
- stager/stage calling conventions
|
||||||
- stack requirements
|
- stack requirements
|
||||||
- make payload prepend target specific
|
X - make payload prepend target specific
|
||||||
- sessions
|
- sessions
|
||||||
- logging session activity
|
- logging session activity
|
||||||
- handler sharing
|
- handler sharing
|
||||||
|
|
|
@ -339,7 +339,11 @@ class Exploit < Msf::Module
|
||||||
# and platform if it's a multi exploit.
|
# and platform if it's a multi exploit.
|
||||||
#
|
#
|
||||||
def payload_prepend(payload_module)
|
def payload_prepend(payload_module)
|
||||||
payload_info['Prepend'] || ''
|
if (target and target['PayloadPrepend'])
|
||||||
|
target['PayloadPrepend']
|
||||||
|
else
|
||||||
|
payload_info['Prepend'] || ''
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -348,7 +352,11 @@ class Exploit < Msf::Module
|
||||||
# and platform if it's a multi exploit.
|
# and platform if it's a multi exploit.
|
||||||
#
|
#
|
||||||
def payload_append(payload_module)
|
def payload_append(payload_module)
|
||||||
payload_info['Append'] || ''
|
if (target and target['PayloadAppend'])
|
||||||
|
target['PayloadAppend']
|
||||||
|
else
|
||||||
|
payload_info['Append'] || ''
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -357,7 +365,11 @@ class Exploit < Msf::Module
|
||||||
# at architecture and platform if it's a multi exploit.
|
# at architecture and platform if it's a multi exploit.
|
||||||
#
|
#
|
||||||
def payload_prepend_encoder(payload_module)
|
def payload_prepend_encoder(payload_module)
|
||||||
payload_info['PrependEncoder'] || ''
|
if (target and target['PayloadEncoder'])
|
||||||
|
target['PayloadEncoder']
|
||||||
|
else
|
||||||
|
payload_info['PrependEncoder'] || ''
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -365,7 +377,11 @@ class Exploit < Msf::Module
|
||||||
# Nil signifies that the framework should decide.
|
# Nil signifies that the framework should decide.
|
||||||
#
|
#
|
||||||
def payload_max_nops
|
def payload_max_nops
|
||||||
payload_info['MaxNops'] || nil
|
if (target and target['PayloadMaxNops'])
|
||||||
|
target['PayloadMaxNops']
|
||||||
|
else
|
||||||
|
payload_info['MaxNops'] || nil
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -373,14 +389,20 @@ class Exploit < Msf::Module
|
||||||
# Nil snigifies that the framework should decide.
|
# Nil snigifies that the framework should decide.
|
||||||
#
|
#
|
||||||
def payload_min_nops
|
def payload_min_nops
|
||||||
payload_info['MinNops'] || nil
|
if (target and target['PayloadMinNops'])
|
||||||
|
target['PayloadMinNops']
|
||||||
|
else
|
||||||
|
payload_info['MinNops'] || nil
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#
|
#
|
||||||
# Returns the maximum amount of room the exploit has for a payload.
|
# Returns the maximum amount of room the exploit has for a payload.
|
||||||
#
|
#
|
||||||
def payload_space
|
def payload_space
|
||||||
if (payload_info['Space'])
|
if (target and target['PayloadSpace'])
|
||||||
|
target['PayloadSpace']
|
||||||
|
elsif (payload_info['Space'])
|
||||||
payload_info['Space'].to_i
|
payload_info['Space'].to_i
|
||||||
else
|
else
|
||||||
nil
|
nil
|
||||||
|
|
|
@ -21,6 +21,16 @@ module Comm
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#
|
||||||
|
# Indicates whether or not this comm can be chained with other chainable
|
||||||
|
# comms. This is particularly important for things like Proxy Comms that
|
||||||
|
# can be proxied through one another. The semantics of this are currently
|
||||||
|
# undefined and will probably need some more thought.
|
||||||
|
#
|
||||||
|
def chainable?
|
||||||
|
false
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue