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