1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #
- # $Id$
- # $Revision$
- #
- module Msf
- ###
- #
- # This class hooks all session creation events and allows automated interaction
- # This is only an example of what you can do with plugins
- #
- ###
- class Plugin::SessionTagger < Msf::Plugin
- include Msf::SessionEvent
- 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
- def on_session_close(session, _reason = '')
- print_status("Hooked session #{session.sid} is shutting down")
- end
- def initialize(framework, opts)
- super
- self.framework.events.add_session_subscriber(self)
- end
- def cleanup
- framework.events.remove_session_subscriber(self)
- end
- def name
- 'session_tagger'
- end
- def desc
- 'Automatically interacts with new sessions to create a new remote TaggedByUser file'
- end
- end
- end
|