
I was choosing the most obvious attack, you are right, that users behind a NAT firewall with a built in dhcp server which gives out a different domain would not be vulnerable to the approach I suggested, the approach I suggested would only work for ALL of the ISPs users who are directly connected and use internet explorer with the auto config option turned on (which is still a pretty large target audience, given that successful exploitation allows you to snoop all their browsing).
I still think that's a pretty big score.
Regards NAT, ISPs recently have taken to shipping their own NAT router to users, so in these cases you have a nice monoculture which means that guessing the domain the DHCP implementation gives out would be trivial, which would give a nice attack vector using DNS spoofing for these machines, also of interest, many of these 'NAT' boxes have a piss poor DNS proxy implementation which is trivial to poison. Although I suspect the majority of these types of boxes will pass on the domain their public facing interface receives anyway, which completely ruins your argument.
Regards DNS poisoning being quite difficult, in the case where you are trying to convince a DNS server that a domain which does not exists actually exists and points somewhere, you get one attempt to poison the cache every time the negative response is removed from the cache, if it is even cached. negative response caches are an optional part of the DNS specification, and even when they are implemented, the cache timeout is low.
The mitigating factors that come to mind:
- If the ISP uses a transparent http cache, the evil server through which you proxy connections would have to be located behind the transparent cache (I.E. on the ISPs network).
- If the ISPs servers are authoritative for the parent domains of the domain given out via DHCP then it would not be possible to poison it.
- DNS Poisoning is difficult to achieve given a sane caching DNS implementation.
- Users may not have the auto config option turned on.
- Users may not be using Internet Explorer.
Maybe this would be better directed at a security related mailing list than the comments section of a popular IT rag :)