T1557.002 ARP Cache Poisoning
Adversaries may poison Address Resolution Protocol (ARP) caches to position themselves between the communication of two or more networked devices. This activity may be used to enable follow-on behaviors such as Network Sniffing or Transmitted Data Manipulation.
The ARP protocol is used to resolve IPv4 addresses to link layer addresses, such as a media access control (MAC) address.2 Devices in a local network segment communicate with each other by using link layer addresses. If a networked device does not have the link layer address of a particular networked device, it may send out a broadcast ARP request to the local network to translate the IP address to a MAC address. The device with the associated IP address directly replies with its MAC address. The networked device that made the ARP request will then use as well as store that information in its ARP cache.
An adversary may passively wait for an ARP request to poison the ARP cache of the requesting device. The adversary may reply with their MAC address, thus deceiving the victim by making them believe that they are communicating with the intended networked device. For the adversary to poison the ARP cache, their reply must be faster than the one made by the legitimate IP address owner. Adversaries may also send a gratuitous ARP reply that maliciously announces the ownership of a particular IP address to all the devices in the local network segment.
The ARP protocol is stateless and does not require authentication. Therefore, devices may wrongly add or update the MAC address of the IP address in their ARP cache.31
Adversaries may use ARP cache poisoning as a means to intercept network traffic. This activity may be used to collect and/or relay data such as credentials, especially those sent over an insecure, unencrypted protocol.3
Item | Value |
---|---|
ID | T1557.002 |
Sub-techniques | T1557.001, T1557.002, T1557.003 |
Tactics | TA0006, TA0009 |
Platforms | Linux, Windows, macOS |
Version | 1.1 |
Created | 15 October 2020 |
Last Modified | 22 July 2022 |
Procedure Examples
ID | Name | Description |
---|---|---|
G0003 | Cleaver | Cleaver has used custom tools to facilitate ARP cache poisoning.1 |
G1014 | LuminousMoth | LuminousMoth has used ARP spoofing to redirect a compromised machine to an actor-controlled website.6 |
Mitigations
ID | Mitigation | Description |
---|---|---|
M1042 | Disable or Remove Feature or Program | Consider disabling updating the ARP cache on gratuitous ARP replies. |
M1041 | Encrypt Sensitive Information | Ensure that all wired and/or wireless traffic is encrypted appropriately. Use best practices for authentication protocols, such as Kerberos, and ensure web traffic that may contain credentials is protected by SSL/TLS. |
M1037 | Filter Network Traffic | Consider enabling DHCP Snooping and Dynamic ARP Inspection on switches to create mappings between IP addresses requested via DHCP and ARP tables and tie the values to a port on the switch that may block bogus traffic.45 |
M1035 | Limit Access to Resource Over Network | Create static ARP entries for networked devices. Implementing static ARP entries may be infeasible for large networks. |
M1031 | Network Intrusion Prevention | Network intrusion detection and prevention systems that can identify traffic patterns indicative of AiTM activity can be used to mitigate activity at the network level. |
M1017 | User Training | Train users to be suspicious about certificate errors. Adversaries may use their own certificates in an attempt to intercept HTTPS traffic. Certificate errors may arise when the application’s certificate does not match the one expected by the host. |
Detection
ID | Data Source | Data Component |
---|---|---|
DS0029 | Network Traffic | Network Traffic Content |
References
-
Cylance. (2014, December). Operation Cleaver. Retrieved September 14, 2017. ↩↩
-
Plummer, D. (1982, November). An Ethernet Address Resolution Protocol. Retrieved October 15, 2020. ↩
-
Siles, R. (2003, August). Real World ARP Spoofing. Retrieved October 15, 2020. ↩↩
-
King, J., Lauerman, K. (2016, January 22). ARP Poisoning (Man-in-the-Middle) Attack and Mitigation Technique. Retrieved October 15, 2020. ↩
-
Juniper. (2020, September 23). Understanding and Using Dynamic ARP Inspection (DAI). Retrieved October 15, 2020. ↩
-
Botezatu, B and etl. (2021, July 21). LuminousMoth - PlugX, File Exfiltration and Persistence Revisited. Retrieved October 20, 2022. ↩