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.
40 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 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 40 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), '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.
95 96 97 98 99 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 95 def brand(klass) klass = klass.dup klass.client = self.client return klass end |
#dir ⇒ Object
Returns a copy of the Dir class.
104 105 106 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 104 def dir brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::Dir) end |
#eventlog ⇒ Object
Returns a copy of the EventLog class.
139 140 141 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 139 def eventlog brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::EventLog) end |
#file ⇒ Object
Returns a copy of the File class.
111 112 113 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 111 def file brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::File) end |
#filestat ⇒ Object
Returns a copy of the FileStat class.
118 119 120 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 118 def filestat brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::FileStat) end |
#power ⇒ Object
Returns a copy of the Power class.
146 147 148 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 146 def power brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Power) end |
#process ⇒ Object
Returns a copy of the Process class.
125 126 127 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 125 def process brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Process) end |
#registry ⇒ Object
Returns a copy of the Registry class.
132 133 134 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 132 def registry brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Registry) end |