Class: Msf::Plugin::Sample

Inherits:
Msf::Plugin show all
Defined in:
plugins/sample.rb

Overview

This class illustrates a sample plugin. Plugins can change the behavior of the framework by adding new features, new user interface commands, or through any other arbitrary means. They are designed to have a very loose definition in order to make them as useful as possible.

Defined Under Namespace

Classes: ConsoleCommandDispatcher

Instance Attribute Summary

Attributes inherited from Msf::Plugin

#opts

Attributes included from Framework::Offspring

#framework

Instance Method Summary collapse

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) ⇒ Sample

The constructor is called when an instance of the plugin is created. The framework instance that the plugin is being associated with is passed in the framework parameter. Plugins should call the parent constructor when inheriting from Msf::Plugin to ensure that the framework attribute on their instance gets set.



51
52
53
54
55
56
57
58
59
60
# File 'plugins/sample.rb', line 51

def initialize(framework, opts)
  super

  # If this plugin is being loaded in the context of a console application
  # that uses the framework's console user interface driver, register
  # console dispatcher commands.
  add_console_dispatcher(ConsoleCommandDispatcher)

  print_status('Sample plugin loaded.')
end

Instance Method Details

#cleanupObject

The cleanup routine for plugins gives them a chance to undo any actions they may have done to the framework. For instance, if a console dispatcher was added, then it should be removed in the cleanup routine.



67
68
69
70
71
# File 'plugins/sample.rb', line 67

def cleanup
  # If we had previously registered a console dispatcher with the console,
  # deregister it now.
  remove_console_dispatcher('Sample')
end

#descObject

This method returns a brief description of the plugin. It should be no more than 60 characters, but there are no hard limits.



84
85
86
# File 'plugins/sample.rb', line 84

def desc
  'Demonstrates using framework plugins'
end

#nameObject

This method returns a short, friendly name for the plugin.



76
77
78
# File 'plugins/sample.rb', line 76

def name
  'sample'
end