COMMON ATTACK PATTERN ENUMERATION AND CLASSIFICATIONLive MITRE record

CAPEC-141

Cache Poisoning

An attacker exploits the functionality of cache technologies to cause specific data to be cached that aids the attackers' objectives. This describes any attack whereby an attacker places incorrect or harmful material in cache. The targeted cache can be an application's cache (e.g. a web browser cache) or a public cache (e.g. a DNS or ARP cache). Until the cache is refreshed, most applications or clients will treat the corrupted cache value as valid. This can lead to a wide range of exploits including redirecting web browsers towards sites that install malware and repeatedly incorrect calculations based on the incorrect value.

Abstraction

Standard

Typical severity

High

Likelihood of attack

High

Understand the attack

What is this attack pattern?

An attacker exploits the functionality of cache technologies to cause specific data to be cached that aids the attackers' objectives. This describes any attack whereby an attacker places incorrect or harmful material in cache. The targeted cache can be an application's cache (e.g. a web browser cache) or a public cache (e.g. a DNS or ARP cache). Until the cache is refreshed, most applications or clients will treat the corrupted cache value as valid. This can lead to a wide range of exploits including redirecting web browsers towards sites that install malware and repeatedly incorrect calculations based on the incorrect value.

Execution flow

How does the attack proceed, step by step?

1

Explore

Identify and explore caches

Use tools to sniff traffic and scan a network in order to locate application's cache (e.g. a web browser cache) or a public cache (e.g. a DNS or ARP cache) that may have vulnerabilities. Look for poisoning point in cache table entries.

Techniques used

  • Run tools that check available entries in the cache.
2

Experiment

Cause specific data to be cached

An attacker sends bogus request to the target, and then floods responses that trick a cache to remember malicious responses, which are wrong answers of queries.

Techniques used

  • Intercept or modify a query, or send a bogus query with known credentials (such as transaction ID).
3

Exploit

Redirect users to malicious website

As the attacker succeeds in exploiting the vulnerability, they are able to manipulate and interpose malicious response data to targeted victim queries.

Techniques used

  • Intercept or modify a query, or send a bogus query with known credentials (such as transaction ID).
  • Adversary-in-the-Middle attacks ( CAPEC-94 ) intercept secure communication between two parties.

Requirements

What does the attack require?

Prerequisites

  • The attacker must be able to modify the value stored in a cache to match a desired value.
  • The targeted application must not be able to detect the illicit modification of the cache and must trust the cache value in its calculations.

Skills required

  • Medium: To overwrite/modify targeted cache

Resources required

Not stated in the MITRE record.

Defence

How is it prevented and mitigated?

1
Configuration: Disable client side caching.
2
Implementation: Listens for query replies on a network, and sends a notification via email when an entry changes.

Real world

MITRE example instances

Example instance 1Detail
In this example, an attacker sends request to a local DNS server to look up www.example .com. The associated IP address of www.example.com is 1.3.5.7. Local DNS usually caches IP addresses and do not go to remote DNS every time. Since the local record is not found, DNS server tries to connect to remote DNS for queries. However, before the remote DNS returns the right IP address 1.3.5.7, the attacker floods local DNS with crafted responses with IP address 2.4.6.8. The result is that 2.4.6.8 is stored in DNS cache. Meanwhile, 2.4.6.8 is associated with a malicious website www.maliciousexampsle.com When users connect to www.example.com, the local DNS will direct it to www.maliciousexample.com, this works as part of a Pharming attack.
CAPEC-141: Cache Poisoning — DayBreach Saldırı Sözlüğü · DayBreach