Add documentation for SMB_COM_NEGOTIATE handling
parent
3e8bbb6c9e
commit
19061121b3
|
@ -5,9 +5,13 @@ module Msf
|
||||||
module Share
|
module Share
|
||||||
module Command
|
module Command
|
||||||
module Negotiate
|
module Negotiate
|
||||||
|
|
||||||
|
# Handles an SMB_COM_NEGOTIATE command, used by the client to initiate an
|
||||||
|
# SMB connection between the client and the server.
|
||||||
#
|
#
|
||||||
# Negotiates a SHARE session with the client
|
# @param c [Socket] The client sending the request.
|
||||||
#
|
# @param buff [String] The data including the client request.
|
||||||
|
# @return [Fixnum] The number of bytes returned to the client as response.
|
||||||
def smb_cmd_negotiate(c, buff)
|
def smb_cmd_negotiate(c, buff)
|
||||||
pkt = CONST::SMB_NEG_PKT.make_struct
|
pkt = CONST::SMB_NEG_PKT.make_struct
|
||||||
pkt.from_s(buff)
|
pkt.from_s(buff)
|
||||||
|
@ -29,6 +33,21 @@ module Msf
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Builds and sends an SMB_COM_CLOSE response.
|
||||||
|
#
|
||||||
|
# @param c [Socket] The client to answer.
|
||||||
|
# @param opts [Hash{Symbol => <String, Fixnum>}] Response custom values.
|
||||||
|
# @option opts [Fixnum] :dialect The index of the dialect selected by the server from the request.
|
||||||
|
# @option opts [Fixnum] :security_mode Security modes supported or required by the server.
|
||||||
|
# @option opts [Fixnum] :max_mpx The maximum number of outstanding SMB operations that the server supports.
|
||||||
|
# @option opts [Fixnum] :max_vcs The maximum number of virtual circuits between the client and the server.
|
||||||
|
# @option opts [Fixnum] :max_buff Largest SMB message that the server can handle.
|
||||||
|
# @option opts [Fixnum] :max_raw Max size for SMB_COM_WRITE_RAW requests and SMB_COM_READ_RAW responses.
|
||||||
|
# @option opts [Fixnum] :server_time_zone The server's time zone.
|
||||||
|
# @option opts [Fixnum] :capabilities The server capability indicators.
|
||||||
|
# @option opts [Fixnum] :key_length The challenge length.
|
||||||
|
# @option opts [Fixnum] :key The challenge.
|
||||||
|
# @return [Fixnum] The number of bytes returned to the client as response.
|
||||||
def send_negotitate_res(c, opts = {})
|
def send_negotitate_res(c, opts = {})
|
||||||
dialect = opts[:dialect] || 0
|
dialect = opts[:dialect] || 0
|
||||||
security_mode = opts[:security_mode] || 0
|
security_mode = opts[:security_mode] || 0
|
||||||
|
|
Loading…
Reference in New Issue