remove spaces at EOL
This commit is contained in:
parent
a4cadf0d53
commit
60c3c44800
|
@ -102,12 +102,12 @@ class Config
|
|||
|
||||
return routes
|
||||
end
|
||||
|
||||
|
||||
alias routes get_routes
|
||||
|
||||
#
|
||||
# Adds a route to the target machine.
|
||||
#
|
||||
#
|
||||
def add_route(subnet, netmask, gateway)
|
||||
request = Packet.create_request('stdapi_net_config_add_route')
|
||||
|
||||
|
@ -136,9 +136,9 @@ class Config
|
|||
end
|
||||
|
||||
protected
|
||||
|
||||
|
||||
attr_accessor :client # :nodoc:
|
||||
|
||||
end
|
||||
|
||||
end; end; end; end; end; end
|
||||
end; end; end; end; end; end
|
||||
|
|
|
@ -46,8 +46,8 @@ class Interface
|
|||
"Hardware MAC: %02x:%02x:%02x:%02x:%02x:%02x\n" +
|
||||
"IP Address : %s\n" +
|
||||
"Netmask : %s\n" +
|
||||
"\n",
|
||||
macocts[0], macocts[1], macocts[2], macocts[3],
|
||||
"\n",
|
||||
macocts[0], macocts[1], macocts[2], macocts[3],
|
||||
macocts[4], macocts[5], ip, netmask)
|
||||
end
|
||||
|
||||
|
|
|
@ -14,78 +14,78 @@ module Net
|
|||
module SocketSubsystem
|
||||
|
||||
class TcpServerChannel < Rex::Post::Meterpreter::Channel
|
||||
|
||||
|
||||
#
|
||||
# This is a class variable to store all pending client tcp connections which have not been passed
|
||||
# off via a call to the respective server tcp channels accept method. The dictionary key is the
|
||||
# tcp server channel instance and the values held are an array of pending tcp client channels
|
||||
# tcp server channel instance and the values held are an array of pending tcp client channels
|
||||
# connected to the tcp server channel.
|
||||
#
|
||||
@@server_channels = {}
|
||||
|
||||
|
||||
class << self
|
||||
include Rex::Post::Meterpreter::InboundPacketHandler
|
||||
|
||||
|
||||
#
|
||||
# This is the request handler which is registerd to the respective meterpreter instance via
|
||||
# Rex::Post::Meterpreter::Extensions::Stdapi::Net::Socket. All incoming requests from the meterpreter
|
||||
# for a 'tcp_channel_open' will be processed here. We create a new TcpClientChannel for each request
|
||||
# for a 'tcp_channel_open' will be processed here. We create a new TcpClientChannel for each request
|
||||
# received and store it in the respective tcp server channels list of new pending client channels.
|
||||
# These new tcp client channels are passed off via a call the the tcp server channels accept() method.
|
||||
#
|
||||
def request_handler( client, packet )
|
||||
|
||||
|
||||
if( packet.method == "tcp_channel_open" )
|
||||
|
||||
|
||||
cid = packet.get_tlv_value( TLV_TYPE_CHANNEL_ID )
|
||||
pid = packet.get_tlv_value( TLV_TYPE_CHANNEL_PARENTID )
|
||||
localhost = packet.get_tlv_value( TLV_TYPE_LOCAL_HOST )
|
||||
localport = packet.get_tlv_value( TLV_TYPE_LOCAL_PORT )
|
||||
peerhost = packet.get_tlv_value( TLV_TYPE_PEER_HOST )
|
||||
peerport = packet.get_tlv_value( TLV_TYPE_PEER_PORT )
|
||||
|
||||
|
||||
if( cid == nil or pid == nil )
|
||||
return false
|
||||
end
|
||||
|
||||
|
||||
server_channel = client.find_channel( pid )
|
||||
if( server_channel == nil )
|
||||
return false
|
||||
end
|
||||
|
||||
params = Rex::Socket::Parameters.from_hash(
|
||||
{
|
||||
|
||||
params = Rex::Socket::Parameters.from_hash(
|
||||
{
|
||||
'Proto' => 'tcp',
|
||||
'LocalHost' => localhost,
|
||||
'LocalPort' => localport,
|
||||
'PeerHost' => peerhost,
|
||||
'PeerPort' => peerport,
|
||||
'Comm' => server_channel.client
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
client_channel = TcpClientChannel.new( client, cid, TcpClientChannel, CHANNEL_FLAG_SYNCHRONOUS )
|
||||
|
||||
|
||||
client_channel.params = params
|
||||
|
||||
|
||||
if( @@server_channels[server_channel] == nil )
|
||||
@@server_channels[server_channel] = []
|
||||
@@server_channels[server_channel] = []
|
||||
end
|
||||
|
||||
|
||||
@@server_channels[server_channel] << client_channel
|
||||
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
|
||||
def cls
|
||||
return CHANNEL_CLASS_STREAM
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
#
|
||||
# Open a new tcp server channel on the remote end.
|
||||
#
|
||||
|
@ -104,7 +104,7 @@ class TcpServerChannel < Rex::Post::Meterpreter::Channel
|
|||
c.params = params
|
||||
c
|
||||
end
|
||||
|
||||
|
||||
#
|
||||
# Simply initilize this instance.
|
||||
#
|
||||
|
@ -113,7 +113,7 @@ class TcpServerChannel < Rex::Post::Meterpreter::Channel
|
|||
# add this instance to the class variables dictionary of tcp server channels
|
||||
@@server_channels[self] = []
|
||||
end
|
||||
|
||||
|
||||
#
|
||||
# Accept a new tcp client connection form this tcp server channel. This method does not block
|
||||
# and returns nil if no new client connection is available.
|
||||
|
@ -126,7 +126,7 @@ class TcpServerChannel < Rex::Post::Meterpreter::Channel
|
|||
end
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
#
|
||||
# Accept a new tcp client connection form this tcp server channel. This method will block indefinatly
|
||||
# if no timeout is specified.
|
||||
|
@ -150,7 +150,7 @@ class TcpServerChannel < Rex::Post::Meterpreter::Channel
|
|||
protected
|
||||
|
||||
def _accept
|
||||
while( true )
|
||||
while( true )
|
||||
if( @@server_channels[self].empty? )
|
||||
Rex::ThreadSafe.sleep( 0.2 )
|
||||
next
|
||||
|
|
Loading…
Reference in New Issue