lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb in librex-0.0.68 vs lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb in librex-0.0.70

- old
+ new

@@ -1,15 +1,15 @@ -#!/usr/bin/env ruby # -*- coding: binary -*- require 'rex/post/meterpreter/object_aliases' require 'rex/post/meterpreter/extension' require 'rex/post/meterpreter/extensions/stdapi/constants' require 'rex/post/meterpreter/extensions/stdapi/tlv' require 'rex/post/meterpreter/extensions/stdapi/fs/dir' require 'rex/post/meterpreter/extensions/stdapi/fs/file' require 'rex/post/meterpreter/extensions/stdapi/fs/file_stat' +require 'rex/post/meterpreter/extensions/stdapi/net/resolve' require 'rex/post/meterpreter/extensions/stdapi/net/config' require 'rex/post/meterpreter/extensions/stdapi/net/socket' require 'rex/post/meterpreter/extensions/stdapi/sys/config' require 'rex/post/meterpreter/extensions/stdapi/sys/process' require 'rex/post/meterpreter/extensions/stdapi/sys/registry' @@ -32,119 +32,120 @@ # machine that are fairly universal. # ### class Stdapi < Extension - # - # Initializes an instance of the standard API extension. - # - def initialize(client) - super(client, 'stdapi') + # + # Initializes an instance of the standard API extension. + # + def initialize(client) + super(client, 'stdapi') - # Alias the following things on the client object so that they - # can be directly referenced - client.register_extension_aliases( - [ - { - 'name' => 'fs', - 'ext' => ObjectAliases.new( - { - 'dir' => self.dir, - 'file' => self.file, - 'filestat' => self.filestat - }) - }, - { - 'name' => 'sys', - 'ext' => ObjectAliases.new( - { - 'config' => Sys::Config.new(client), - 'process' => self.process, - 'registry' => self.registry, - 'eventlog' => self.eventlog, - 'power' => self.power - }) - }, - { - 'name' => 'net', - 'ext' => ObjectAliases.new( - { - 'config' => Rex::Post::Meterpreter::Extensions::Stdapi::Net::Config.new(client), - 'socket' => Rex::Post::Meterpreter::Extensions::Stdapi::Net::Socket.new(client) - }) - }, - { - 'name' => 'railgun', - 'ext' => Rex::Post::Meterpreter::Extensions::Stdapi::Railgun::Railgun.new(client) - }, - { - 'name' => 'webcam', - 'ext' => Rex::Post::Meterpreter::Extensions::Stdapi::Webcam::Webcam.new(client) - }, - { - 'name' => 'ui', - 'ext' => UI.new(client) - } + # Alias the following things on the client object so that they + # can be directly referenced + client.register_extension_aliases( + [ + { + 'name' => 'fs', + 'ext' => ObjectAliases.new( + { + 'dir' => self.dir, + 'file' => self.file, + 'filestat' => self.filestat + }) + }, + { + 'name' => 'sys', + 'ext' => ObjectAliases.new( + { + 'config' => Sys::Config.new(client), + 'process' => self.process, + 'registry' => self.registry, + 'eventlog' => self.eventlog, + 'power' => self.power + }) + }, + { + 'name' => 'net', + 'ext' => ObjectAliases.new( + { + 'config' => Rex::Post::Meterpreter::Extensions::Stdapi::Net::Config.new(client), + 'socket' => Rex::Post::Meterpreter::Extensions::Stdapi::Net::Socket.new(client), + 'resolve' => Rex::Post::Meterpreter::Extensions::Stdapi::Net::Resolve.new(client) + }) + }, + { + 'name' => 'railgun', + 'ext' => Rex::Post::Meterpreter::Extensions::Stdapi::Railgun::Railgun.new(client) + }, + { + 'name' => 'webcam', + 'ext' => Rex::Post::Meterpreter::Extensions::Stdapi::Webcam::Webcam.new(client) + }, + { + 'name' => 'ui', + 'ext' => UI.new(client) + } - ]) - end + ]) + end - # - # Sets the client instance on a duplicated copy of the supplied class. - # - def brand(klass) - klass = klass.dup - klass.client = self.client - return klass - end + # + # Sets the client instance on a duplicated copy of the supplied class. + # + def brand(klass) + klass = klass.dup + klass.client = self.client + return klass + end - # - # Returns a copy of the Dir class. - # - def dir - brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::Dir) - end + # + # Returns a copy of the Dir class. + # + def dir + brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::Dir) + end - # - # Returns a copy of the File class. - # - def file - brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::File) - end + # + # Returns a copy of the File class. + # + def file + brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::File) + end - # - # Returns a copy of the FileStat class. - # - def filestat - brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::FileStat) - end + # + # Returns a copy of the FileStat class. + # + def filestat + brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::FileStat) + end - # - # Returns a copy of the Process class. - # - def process - brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Process) - end + # + # Returns a copy of the Process class. + # + def process + brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Process) + end - # - # Returns a copy of the Registry class. - # - def registry - brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Registry) - end + # + # Returns a copy of the Registry class. + # + def registry + brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Registry) + end - # - # Returns a copy of the EventLog class. - # - def eventlog - brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::EventLog) - end + # + # Returns a copy of the EventLog class. + # + def eventlog + brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::EventLog) + end - # - # Returns a copy of the Power class. - # - def power - brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Power) - end + # + # Returns a copy of the Power class. + # + def power + brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Power) + end end end; end; end; end; end