2347c8df99
Create Rex::Proto::DNS::Packet and Packet::Raw to allow common parsing, validation, and raw data operations across both Rex and Msf namespaces. The modules contain class methods and do not need to be mixed in to use their functionality Packet.method is enough, and reduces GC strain since new objects are not constantly being instantiated, and these modules contain no internal state. Clean up UDP socket leak from Rex::Proto::DNS::Server under certain conditions. Create Msf::Exploit::DNS::Common mixin to provide descendants with access to Packet and the hostname Regex. ----- Testing: Tested running the RC provided in the pull request Manual testing in IRB/Pry while porting PoC for CVE-2015-7547
21 lines
323 B
Ruby
21 lines
323 B
Ruby
# -*- coding: binary -*-
|
|
require 'msf/core'
|
|
require 'rex/proto/dns'
|
|
|
|
|
|
module Msf
|
|
|
|
###
|
|
#
|
|
# This namespace exposes methods for interacting with and providing services
|
|
#
|
|
###
|
|
module Exploit::Remote::DNS
|
|
|
|
end
|
|
end
|
|
|
|
require 'msf/core/exploit/dns/common'
|
|
require 'msf/core/exploit/dns/client'
|
|
require 'msf/core/exploit/dns/server'
|