T1189 Drive-by Compromise Mappings

Adversaries may gain access to a system through a user visiting a website over the normal course of browsing. With this technique, the user's web browser is typically targeted for exploitation, but adversaries may also use compromised websites for non-exploitation behavior such as acquiring Application Access Token.

Multiple ways of delivering exploit code to a browser exist, including:

  • A legitimate website is compromised where adversaries have injected some form of malicious code such as JavaScript, iFrames, and cross-site scripting.
  • Malicious ads are paid for and served through legitimate ad providers.
  • Built-in web application interfaces are leveraged for the insertion of any other kind of object that can be used to display web content or contain a script that executes on the visiting client (e.g. forum posts, comments, and other user controllable web content).

Often the website used by an adversary is one visited by a specific community, such as government, a particular industry, or region, where the goal is to compromise a specific user or set of users based on a shared interest. This kind of targeted attack is referred to a strategic web compromise or watering hole attack. There are several known examples of this occurring.(Citation: Shadowserver Strategic Web Compromise)

Typical drive-by compromise process:

  1. A user visits a website that is used to host the adversary controlled content.
  2. Scripts automatically execute, typically searching versions of the browser and plugins for a potentially vulnerable version.
    • The user may be required to assist in this process by enabling scripting or active website components and ignoring warning dialog boxes.
  3. Upon finding a vulnerable version, exploit code is delivered to the browser.
  4. If exploitation is successful, then it will give the adversary code execution on the user's system unless other protections are in place.
    • In some cases a second visit to the website after the initial scan is required before exploit code is delivered.

Unlike Exploit Public-Facing Application, the focus of this technique is to exploit software on a client endpoint upon visiting a website. This will commonly give an adversary access to systems on the internal network instead of external systems that may be in a DMZ.

Adversaries may also use compromised websites to deliver a user to a malicious application designed to Steal Application Access Tokens, like OAuth tokens, to gain access to protected applications and information. These malicious applications have been delivered through popups on legitimate websites.(Citation: Volexity OceanLotus Nov 2017)



Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name
AC-4 Information Flow Enforcement Protects T1189 Drive-by Compromise
AC-6 Least Privilege Protects T1189 Drive-by Compromise
CA-7 Continuous Monitoring Protects T1189 Drive-by Compromise
CM-2 Baseline Configuration Protects T1189 Drive-by Compromise
CM-6 Configuration Settings Protects T1189 Drive-by Compromise
CM-8 System Component Inventory Protects T1189 Drive-by Compromise
SA-22 Unsupported System Components Protects T1189 Drive-by Compromise
SC-18 Mobile Code Protects T1189 Drive-by Compromise
SC-2 Separation of System and User Functionality Protects T1189 Drive-by Compromise
SC-29 Heterogeneity Protects T1189 Drive-by Compromise
SC-3 Security Function Isolation Protects T1189 Drive-by Compromise
SC-30 Concealment and Misdirection Protects T1189 Drive-by Compromise
SC-39 Process Isolation Protects T1189 Drive-by Compromise
SC-7 Boundary Protection Protects T1189 Drive-by Compromise
SI-2 Flaw Remediation Protects T1189 Drive-by Compromise
SI-3 Malicious Code Protection Protects T1189 Drive-by Compromise
SI-4 System Monitoring Protects T1189 Drive-by Compromise
SI-7 Software, Firmware, and Information Integrity Protects T1189 Drive-by Compromise
alerts_for_windows_machines Alerts for Windows Machines technique_scores T1189 Drive-by Compromise
azure_automation_update_management Azure Automation Update Management technique_scores T1189 Drive-by Compromise
azure_defender_for_app_service Azure Defender for App Service technique_scores T1189 Drive-by Compromise
cloud_app_security_policies Cloud App Security Policies technique_scores T1189 Drive-by Compromise
integrated_vulnerability_scanner_powered_by_qualys Integrated Vulnerability Scanner Powered by Qualys technique_scores T1189 Drive-by Compromise