Class: Rex::Post::Meterpreter::Extensions::Stdapi::Stdapi
- Inherits:
-
Rex::Post::Meterpreter::Extension
- Object
- Rex::Post::Meterpreter::Extension
- Rex::Post::Meterpreter::Extensions::Stdapi::Stdapi
- Defined in:
- lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb
Overview
Standard ruby interface to remote entities for meterpreter. It provides basic access to files, network, system, and other properties of the remote machine that are fairly universal.
Instance Attribute Summary
Attributes inherited from Rex::Post::Meterpreter::Extension
Instance Method Summary collapse
-
#brand(klass) ⇒ Object
Sets the client instance on a duplicated copy of the supplied class.
-
#dir ⇒ Object
Returns a copy of the Dir class.
-
#eventlog ⇒ Object
Returns a copy of the EventLog class.
-
#file ⇒ Object
Returns a copy of the File class.
-
#filestat ⇒ Object
Returns a copy of the FileStat class.
-
#initialize(client) ⇒ Stdapi
constructor
Initializes an instance of the standard API extension.
-
#power ⇒ Object
Returns a copy of the Power class.
-
#process ⇒ Object
Returns a copy of the Process class.
-
#registry ⇒ Object
Returns a copy of the Registry class.
Constructor Details
#initialize(client) ⇒ Stdapi
Initializes an instance of the standard API extension.
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 41 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, 'mount' => Fs::Mount.new(client) }) }, { '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 |
Instance Method Details
#brand(klass) ⇒ Object
Sets the client instance on a duplicated copy of the supplied class.
97 98 99 100 101 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 97 def brand(klass) klass = klass.dup klass.client = self.client return klass end |
#dir ⇒ Object
Returns a copy of the Dir class.
106 107 108 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 106 def dir brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::Dir) end |
#eventlog ⇒ Object
Returns a copy of the EventLog class.
141 142 143 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 141 def eventlog brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::EventLog) end |
#file ⇒ Object
Returns a copy of the File class.
113 114 115 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 113 def file brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::File) end |
#filestat ⇒ Object
Returns a copy of the FileStat class.
120 121 122 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 120 def filestat brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::FileStat) end |
#power ⇒ Object
Returns a copy of the Power class.
148 149 150 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 148 def power brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Power) end |
#process ⇒ Object
Returns a copy of the Process class.
127 128 129 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 127 def process brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Process) end |
#registry ⇒ Object
Returns a copy of the Registry class.
134 135 136 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 134 def registry brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Registry) end |