Class: Msf::Plugin::SessionTagger

Inherits:
Msf::Plugin show all
Includes:
SessionEvent
Defined in:
plugins/session_tagger.rb

Overview

This class hooks all session creation events and allows automated interaction This is only an example of what you can do with plugins

Instance Attribute Summary

Attributes inherited from Msf::Plugin

#opts

Attributes included from Framework::Offspring

#framework

Instance Method Summary collapse

Methods included from SessionEvent

#on_session_command, #on_session_download, #on_session_filedelete, #on_session_interact, #on_session_output, #on_session_upload

Methods inherited from Msf::Plugin

#add_console_dispatcher, create, #flush, #input, #output, #print, #print_error, #print_good, #print_line, #print_status, #print_warning, #remove_console_dispatcher

Constructor Details

#initialize(framework, opts) ⇒ SessionTagger

Returns a new instance of SessionTagger.



37
38
39
40
# File 'plugins/session_tagger.rb', line 37

def initialize(framework, opts)
  super
  self.framework.events.add_session_subscriber(self)
end

Instance Method Details

#cleanupObject



42
43
44
# File 'plugins/session_tagger.rb', line 42

def cleanup
  framework.events.remove_session_subscriber(self)
end

#descObject



50
51
52
# File 'plugins/session_tagger.rb', line 50

def desc
  'Automatically interacts with new sessions to create a new remote TaggedByUser file'
end

#nameObject



46
47
48
# File 'plugins/session_tagger.rb', line 46

def name
  'session_tagger'
end

#on_session_close(session, _reason = '') ⇒ Object



33
34
35
# File 'plugins/session_tagger.rb', line 33

def on_session_close(session, _reason = '')
  print_status("Hooked session #{session.sid} is shutting down")
end

#on_session_open(session) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'plugins/session_tagger.rb', line 18

def on_session_open(session)
  print_status("Hooked session #{session.sid} / #{session.session_host}")

  # XXX: Determine what type of session this is before writing to it

  if session.interactive?
    session.shell_write("MKDIR C:\\TaggedBy#{ENV['USER']}\n")
    session.shell_write("mkdir /tmp/TaggedBy#{ENV['USER']}\n")
  end

  #
  # Read output with session.shell_read()
  #
end