Class: SimpleClientPipe
- Inherits:
-
Rex::Proto::SMB::SimpleClient
- Object
- Rex::Proto::SMB::SimpleClient
- SimpleClientPipe
- Defined in:
- lib/msf/core/handler/bind_named_pipe.rb
Overview
SimpleClient for named pipe comms. Uses OpenPipe wrapper to provide a socket interface required by the packet dispatcher.
Constant Summary
Constants inherited from Rex::Proto::SMB::SimpleClient
Rex::Proto::SMB::SimpleClient::CONST, Rex::Proto::SMB::SimpleClient::CRYPT, Rex::Proto::SMB::SimpleClient::EVADE, Rex::Proto::SMB::SimpleClient::UTILS, Rex::Proto::SMB::SimpleClient::XCEPT
Instance Attribute Summary collapse
-
#pipe ⇒ Object
Returns the value of attribute pipe.
Attributes inherited from Rex::Proto::SMB::SimpleClient
#client, #direct, #last_error, #last_share, #server_max_buffer_size, #shares, #socket, #versions
Instance Method Summary collapse
-
#create_pipe(path) ⇒ Object
Copy of SimpleClient.create_pipe except OpenPipeSock is used instead of OpenPipe.
-
#initialize(socket, direct, versions = [1, 2, 3]) ⇒ SimpleClientPipe
constructor
A new instance of SimpleClientPipe.
Methods inherited from Rex::Proto::SMB::SimpleClient
#connect, #delete, #disconnect, #login, #login_split_next_ntlm1, #login_split_start_ntlm1, #negotiated_smb_version, #open, #trans_pipe
Constructor Details
#initialize(socket, direct, versions = [1, 2, 3]) ⇒ SimpleClientPipe
Returns a new instance of SimpleClientPipe.
162 163 164 165 |
# File 'lib/msf/core/handler/bind_named_pipe.rb', line 162 def initialize(socket, direct, versions = [1, 2, 3]) super(socket, direct, versions) self.pipe = nil end |
Instance Attribute Details
#pipe ⇒ Object
Returns the value of attribute pipe.
160 161 162 |
# File 'lib/msf/core/handler/bind_named_pipe.rb', line 160 def pipe @pipe end |
Instance Method Details
#create_pipe(path) ⇒ Object
Copy of SimpleClient.create_pipe except OpenPipeSock is used instead of OpenPipe. This is because we need to implement our own read/write.
169 170 171 172 173 |
# File 'lib/msf/core/handler/bind_named_pipe.rb', line 169 def create_pipe(path) self.client.create_pipe(path) self.pipe = OpenPipeSock.new(self.client, path, self.client.last_tree_id, self.client.last_file_id, self.versions, simple: self, server_max_buffer_size: self.server_max_buffer_size) end |