Class: Msf::Plugin::Lab

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

Defined Under Namespace

Classes: LabCommandDispatcher

Instance Attribute Summary collapse

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

Returns a new instance of Lab.


537
538
539
540
541
542
543
544
545
546
547
# File 'plugins/lab.rb', line 537

def initialize(framework, opts)
  super

  ## Register the commands above
  console_dispatcher = add_console_dispatcher(LabCommandDispatcher)

  @controller = ::Lab::Controllers::VmController.new

  ## Share the vms
  console_dispatcher.controller = @controller
end

Instance Attribute Details

#controllerObject

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.


535
536
537
# File 'plugins/lab.rb', line 535

def controller
  @controller
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.


555
556
557
558
559
# File 'plugins/lab.rb', line 555

def cleanup
  # If we had previously registered a console dispatcher with the console,
  # deregister it now.
  remove_console_dispatcher('Lab')
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.


572
573
574
# File 'plugins/lab.rb', line 572

def desc
  "Adds the ability to manage VMs"
end

#nameObject

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


564
565
566
# File 'plugins/lab.rb', line 564

def name
  "lab"
end