CAPEC-142
DNS Cache Poisoning
A domain name server translates a domain name (such as www.example.com) into an IP address that Internet hosts use to contact Internet resources. An adversary modifies a public DNS cache to cause certain names to resolve to incorrect addresses that the adversary specifies. The result is that client applications that rely upon the targeted cache for domain name resolution will be directed not to the actual address of the specified domain name but to some other address. Adversaries can use this to herd clients to sites that install malware on the victim's computer or to masquerade as part of a Pharming attack.
Abstraction
Detailed
Typical severity
High
Likelihood of attack
High
Understand the attack
What is this attack pattern?
Execution flow
How does the attack proceed, step by step?
Explore
Explore resolver caches
Techniques used
- Run tools that check the resolver cache in the memory to see if it contains a target DNS entry.
- Figure out if the client's browser has DNS cache enabled.
Experiment
Attempt sending crafted records to DNS cache
Techniques used
- Adversary must know the transaction ID by intercepting a DNS query, or sending a bogus query with known transaction ID.
- If the transaction ID used to identify each query instance is randomized in some new DNS software, the attack must guess the transaction ID. Slow the response of the real DNS server by causing Denial-of-service. This gives adversaries enough time to guess transaction
- Adversary crafts DNS response with the same transaction ID as in the request. The adversary sends out DNS responses before the authorized DNS server. This forces DNS local cache stores fake DNS response (wrong answer). The fake DNS responses usually include a malicious website's IP address.
Exploit
Redirect users to malicious website
Techniques used
- Redirecting Web traffic to a site that looks enough like the original so as to not raise any suspicion.
- Adversary-in-the-Middle ( CAPEC-94 ) intercepts secure communication between two parties.
Requirements
What does the attack require?
Prerequisites
- A DNS cache must be vulnerable to some attack that allows the adversary to replace addresses in its lookup table.Client applications must trust the corrupted cashed values and utilize them for their domain name resolutions.
Skills required
- Medium: To overwrite/modify targeted DNS cache
Resources required
- The adversary must have the resources to modify the targeted cache. In addition, in most cases the adversary will wish to host the sites to which users will be redirected, although in some cases redirecting to a third party site will accomplish the adversary's goals.
Defence
How is it prevented and mitigated?
Real world