Tweaking of the pivot list output

bug/bundler_fix
OJ 2017-08-01 19:22:26 +10:00 committed by Brent Cook
parent 8b8e5e4cb5
commit 75270af9e7
3 changed files with 16 additions and 11 deletions

View File

@ -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

View File

@ -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)

View File

@ -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)')