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.
39 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 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 39 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) } ]) end |
Instance Method Details
#brand(klass) ⇒ Object
Sets the client instance on a duplicated copy of the supplied class.
93 94 95 96 97 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 93 def brand(klass) klass = klass.dup klass.client = self.client return klass end |
#dir ⇒ Object
Returns a copy of the Dir class.
102 103 104 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 102 def dir brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::Dir) end |
#eventlog ⇒ Object
Returns a copy of the EventLog class.
137 138 139 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 137 def eventlog brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::EventLog) end |
#file ⇒ Object
Returns a copy of the File class.
109 110 111 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 109 def file brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::File) end |
#filestat ⇒ Object
Returns a copy of the FileStat class.
116 117 118 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 116 def filestat brand(Rex::Post::Meterpreter::Extensions::Stdapi::Fs::FileStat) end |
#power ⇒ Object
Returns a copy of the Power class.
144 145 146 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 144 def power brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Power) end |
#process ⇒ Object
Returns a copy of the Process class.
123 124 125 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 123 def process brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Process) end |
#registry ⇒ Object
Returns a copy of the Registry class.
130 131 132 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb', line 130 def registry brand(Rex::Post::Meterpreter::Extensions::Stdapi::Sys::Registry) end |