The primary issue here is that 
there is still source address spoofing happening so you have to consider what 
if this packet was spoofed. DNS uses UDP and is used as a reflector. The small 
services ports listed generate reply traffic. 

Additionally kpasswd and a DNS server can generate a self sustaining traffic 
loop if it is not suppressed.

As for the NAT box that chooses those ports.  If you can’t keep the original 
port it should choose a ephemeral port at random. Choosing a well known port is 
problematic for lots of reasons. There are ~63500 ephemeral ports. Adding the 
well known ports into the mix of source ports doesn’t significantly improve 
anything.  If you look at IETF documents for CGNs they say to not use the lower 
1024 ports. 
-- 
Mark Andrews

> On 11 Jun 2019, at 05:44, Warren Kumari <war...@kumari.net> wrote:
> 
> On Mon, Jun 10, 2019 at 12:37 PM Grant Taylor via bind-users
> <bind-users@lists.isc.org> wrote:
>> 
>>> On 6/7/19 8:44 PM, Mark Andrews wrote:
>>> Named drops those ports as they can be used in reflection attacks.
>>> Sane NAT developers avoid those ports for just that reason.  The full
>>> list is below.
>> 
>> I understand the logic behind avoiding potentially problematic ports.
>> 
>> But I don't understand the actual attack scenario.  Is the attack
>> against the BIND server?
> 
> The root problem is cache poisoning -- see "The Hitchhiker’s Guide to
> DNS Cache Poisoning" Section 3.2 Blind response forgery using birthday
> attack ( https://www.cs.cornell.edu/~shmat/shmat_securecomm10.pdf )
> for a reasonable writeup.
> It's unclear how much protection using the additional port space
> actually helps in practice, but...
> 
> There are many other mitigations, and the "right" answer is "just use DNSSEC".
> 
> W
> 
>> I.e. in an attempt to cause BIND to establish
>> a never ending loop of packets between itself and the purported address?
>>  Or is this an attempt to cause BIND to attack a spoofed source with
>> said loop?
>> 
>> Nor do I understand why BIND couldn't differentiate between an actual
>> query vs a reflected reply, daytime response, chargen, or time packet.
>> 
>> Will someone please explain what I'm failing to understand?
>> 
>> 
>> 
>> --
>> Grant. . . .
>> unix || die
>> 
>> _______________________________________________
>> Please visit https://lists.isc.org/mailman/listinfo/bind-users to 
>> unsubscribe from this list
>> 
>> bind-users mailing list
>> bind-users@lists.isc.org
>> https://lists.isc.org/mailman/listinfo/bind-users
> 
> 
> 
> -- 
> I don't think the execution is relevant when it was obviously a bad
> idea in the first place.
> This is like putting rabid weasels in your pants, and later expressing
> regret at having chosen those particular rabid weasels and that pair
> of pants.
>   ---maf
> _______________________________________________
> Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
> from this list
> 
> bind-users mailing list
> bind-users@lists.isc.org
> https://lists.isc.org/mailman/listinfo/bind-users

_______________________________________________
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to