Sha256: edf2186b8a85b656a658c090e700e854581623e5ec4e59357d7e50d4f073677e

Contents?: true

Size: 1.23 KB

Versions: 40

Compression:

Stored size: 1.23 KB

Contents

#!/usr/bin/env ruby

require 'rex/post/meterpreter/extensions/networkpug/tlv'

module Rex
module Post
module Meterpreter
module Extensions
module NetworkPug

# NetworkPug implements a remote packet recieve/send on a network interface
# on the remote machine

class NetworkPug < Extension

	def initialize(client)
		super(client, 'networkpug')

		client.register_extension_aliases(
			[
				{ 
					'name' => 'networkpug',
					'ext'  => self
				},
			])
	end

	def networkpug_start(interface, filter)
		request = Packet.create_request('networkpug_start')
		request.add_tlv(TLV_TYPE_NETWORKPUG_INTERFACE, interface)
		request.add_tlv(TLV_TYPE_NETWORKPUG_FILTER, filter) if(filter and filter != "")
		response = client.send_request(request)

		channel = nil
		channel_id = response.get_tlv_value(TLV_TYPE_CHANNEL_ID)
		
		if(channel_id)
			channel = Rex::Post::Meterpreter::Channels::Pools::StreamPool.new(
				client,
				channel_id,
				"networkpug_interface",
				CHANNEL_FLAG_SYNCHRONOUS
			)
		end
		
		return response, channel
	end
	
	def networkpug_stop(interface)
		request = Packet.create_request('networkpug_stop')
		request.add_tlv(TLV_TYPE_NETWORKPUG_INTERFACE, interface)
		response = client.send_request(request)	
	end
		
end

end; end; end; end; end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
librex-0.0.65 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.63 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.54 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.53 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.52 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.51 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.50 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.49 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.48 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.47 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.46 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.44 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.43 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.42 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.41 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.40 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.39 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.38 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.37 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb
librex-0.0.36 lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb