Tweaking of the pivot list output
parent
8b8e5e4cb5
commit
75270af9e7
|
@ -89,11 +89,11 @@ class Client
|
|||
#
|
||||
def cleanup_meterpreter
|
||||
if self.pivot_session
|
||||
self.pivot_session.remove_pivot(self.session_guid)
|
||||
self.pivot_session.remove_pivot_session(self.session_guid)
|
||||
end
|
||||
|
||||
self.pivots.keys.each do |k|
|
||||
pivot = self.pivots[k]
|
||||
self.pivot_sessions.keys.each do |k|
|
||||
pivot = self.pivot_sessions[k]
|
||||
pivot.pivoted_session.kill('Pivot closed')
|
||||
pivot.pivoted_session.shutdown_passive_dispatcher
|
||||
end
|
||||
|
|
|
@ -12,16 +12,19 @@ class PivotListener
|
|||
|
||||
attr_accessor :session_class
|
||||
|
||||
attr_accessor :display_name
|
||||
attr_accessor :url
|
||||
|
||||
def initialize(session_class, display_name)
|
||||
attr_accessor :stage
|
||||
|
||||
def initialize(session_class, url, stage)
|
||||
self.id = [SecureRandom.uuid.gsub(/-/, '')].pack('H*')
|
||||
self.session_class = session_class
|
||||
self.display_name = display_name
|
||||
self.url = url
|
||||
self.stage = stage
|
||||
end
|
||||
|
||||
def to_row
|
||||
[self.id.unpack('H*')[0], display_name]
|
||||
[self.id.unpack('H*')[0], url, stage]
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -114,8 +117,9 @@ class Pivot
|
|||
stage_opts[:transport_config] = [stager.transport_config_reverse_named_pipe(stage_opts)]
|
||||
stage = stager.stage_payload(stage_opts)
|
||||
|
||||
display_name = "pipe://#{opts[:pipe_host]}/#{opts[:pipe_name]} (#{opts[:arch]}/#{opts[:platform]})"
|
||||
pivot_listener = PivotListener.new(::Msf::Sessions::Meterpreter_x86_Win, display_name)
|
||||
url = "pipe://#{opts[:pipe_host]}/#{opts[:pipe_name]}"
|
||||
stage = "#{opts[:arch]}/#{opts[:platform]}"
|
||||
pivot_listener = PivotListener.new(::Msf::Sessions::Meterpreter_x86_Win, url, stage)
|
||||
|
||||
request.add_tlv(TLV_TYPE_PIVOT_STAGE_DATA, stage)
|
||||
request.add_tlv(TLV_TYPE_PIVOT_STAGE_DATA_SIZE, stage.length)
|
||||
|
|
|
@ -205,12 +205,13 @@ class Console::CommandDispatcher::Core
|
|||
tbl = Rex::Text::Table.new(
|
||||
'Header' => 'Currently active pivot listeners',
|
||||
'Indent' => 4,
|
||||
'Columns' => ['Id', 'Detail'])
|
||||
'Columns' => ['Id', 'URL', 'Stage'])
|
||||
|
||||
client.pivot_listeners.each do |k, v|
|
||||
tbl << v.to_row
|
||||
end
|
||||
print_line("\n#{tbl}\n")
|
||||
print_line
|
||||
print_line(tbl.to_s)
|
||||
when 'add'
|
||||
unless opts[:type]
|
||||
print_error('Pivot type must be specified (-t)')
|
||||
|
|
Loading…
Reference in New Issue