class Rex::Post::Meterpreter::Extensions::Lanattacks::Dhcp::Dhcp
DHCP Server functionality
Attributes
client[RW]
Public Class Methods
new(client)
click to toggle source
# File lib/rex/post/meterpreter/extensions/lanattacks/dhcp/dhcp.rb, line 18 def initialize(client) @client = client end
Public Instance Methods
load_options(datastore)
click to toggle source
# File lib/rex/post/meterpreter/extensions/lanattacks/dhcp/dhcp.rb, line 40 def load_options(datastore) # TODO: change this so that all of the options are set in a single # payload rather than firing off lots of calls separately datastore.each do |name, value| if Regexp.new('DHCPIPSTART|DHCPIPEND|NETMASK|ROUTER|DNSSERVER|BROADCAST|'+ 'SERVEONCE|PXE|HOSTNAME|HOSTSTART|FILENAME|PXECONF|SRVHOST') =~ name set_option(name, value) end end end
log()
click to toggle source
# File lib/rex/post/meterpreter/extensions/lanattacks/dhcp/dhcp.rb, line 56 def log response = client.send_request(Packet.create_request('lanattacks_dhcp_log')) entries = [] if( response.result == 0 ) log = response.get_tlv_value( TLV_TYPE_LANATTACKS_RAW ) while log.length > 0 mac = log.slice!(0..5) ip = log.slice!(0..3) entries << { :mac => mac, :ip => ip } end end entries end
reset()
click to toggle source
# File lib/rex/post/meterpreter/extensions/lanattacks/dhcp/dhcp.rb, line 27 def reset client.send_request(Packet.create_request('lanattacks_reset_dhcp')) true end
set_option(name, value)
click to toggle source
# File lib/rex/post/meterpreter/extensions/lanattacks/dhcp/dhcp.rb, line 32 def set_option(name, value) request = Packet.create_request('lanattacks_set_dhcp_option') request.add_tlv(TLV_TYPE_LANATTACKS_OPTION_NAME, name) request.add_tlv(TLV_TYPE_LANATTACKS_OPTION, value) client.send_request(request) true end
start()
click to toggle source
# File lib/rex/post/meterpreter/extensions/lanattacks/dhcp/dhcp.rb, line 22 def start client.send_request(Packet.create_request('lanattacks_start_dhcp')) true end
stop()
click to toggle source
# File lib/rex/post/meterpreter/extensions/lanattacks/dhcp/dhcp.rb, line 51 def stop client.send_request(Packet.create_request('lanattacks_stop_dhcp')) true end