Adversaries may gain access to a system through a user visiting a website over the normal course of browsing. Multiple ways of delivering exploit code to a browser exist (i.e., Drive-by Target), including:
Browser push notifications may also be abused by adversaries and leveraged for malicious code injection via User Execution. By clicking "allow" on browser push notifications, users may be granting a website permission to run JavaScript code on their browser.[1][2][3]
Often the website used by an adversary is one visited by a specific community, such as government, a particular industry, or a particular region, where the goal is to compromise a specific user or set of users based on a shared interest. This kind of targeted campaign is often referred to a strategic web compromise or watering hole attack. There are several known examples of this occurring.[4]
Typical drive-by compromise process:
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.
ID | Name | Description |
---|---|---|
G0138 | Andariel |
Andariel has used watering hole attacks, often with zero-day exploits, to gain initial access to victims within a specific IP range.[5][6] |
G0073 | APT19 |
APT19 performed a watering hole attack on forbes.com in 2014 to compromise targets.[7] |
G0007 | APT28 |
APT28 has compromised targets via strategic web compromise utilizing custom exploit kits.[8] APT28 used reflected cross-site scripting (XSS) against government websites to redirect users to phishing webpages.[9] |
G0050 | APT32 |
APT32 has infected victims by tricking them into visiting compromised watering hole websites.[10][11] |
G0067 | APT37 |
APT37 has used strategic web compromises, particularly of South Korean websites, to distribute malware. The group has also used torrent file-sharing sites to more indiscriminately disseminate malware to victims. As part of their compromises, the group has used a Javascript based profiler called RICECURRY to profile a victim's web browser and deliver malicious code accordingly.[12][13][14] |
G0082 | APT38 |
APT38 has conducted watering holes schemes to gain initial access to victims.[15][16] |
G0001 | Axiom | |
S0606 | Bad Rabbit |
Bad Rabbit spread through watering holes on popular sites by injecting JavaScript into the HTML body or a |
G0060 | BRONZE BUTLER |
BRONZE BUTLER compromised three Japanese websites using a Flash exploit to perform watering hole attacks.[20] |
S0482 | Bundlore |
Bundlore has been spread through malicious advertisements on websites.[21] |
C0010 | C0010 |
During C0010, UNC3890 actors likely established a watering hole that was hosted on a login page of a legitimate Israeli shipping company that was active until at least November 2021.[22] |
G1012 | CURIUM |
CURIUM has used strategic website compromise to infect victims with malware such as IMAPLoader.[23] |
G1034 | Daggerfly |
Daggerfly has used strategic website compromise for initial access against victims.[24] |
G0070 | Dark Caracal |
Dark Caracal leveraged a watering hole to serve up malicious code.[25] |
G0012 | Darkhotel |
Darkhotel used embedded iframes on hotel login portals to redirect selected victims to download malware.[26] |
G0035 | Dragonfly |
Dragonfly has compromised targets via strategic web compromise (SWC) utilizing a custom exploit kit.[27][28][29] |
G1006 | Earth Lusca |
Earth Lusca has performed watering hole attacks.[30] |
G0066 | Elderwood |
Elderwood has delivered zero-day exploits and malware to victims by injecting malicious code into specific public Web pages visited by targets within a particular sector.[31][32][33] |
S0531 | Grandoreiro |
Grandoreiro has used compromised websites and Google Ads to bait victims into downloading its installer.[34][35] |
S0483 | IcedID |
IcedID has cloned legitimate websites/applications to distribute the malware.[36] |
S0215 | KARAE |
KARAE was distributed through torrent file-sharing websites to South Korean victims, using a YouTube video downloader application as a lure.[13] |
G0032 | Lazarus Group |
Lazarus Group delivered RATANKBA and other malicious code to victims via a compromised legitimate website.[37][38] |
G0077 | Leafminer | |
G0065 | Leviathan | |
S0451 | LoudMiner |
LoudMiner is typically bundled with pirated copies of Virtual Studio Technology (VST) for Windows and macOS.[41] |
G0095 | Machete |
Machete has distributed Machete through a fake blog website.[42] |
G0059 | Magic Hound |
Magic Hound has conducted watering-hole attacks through media and magazine websites.[43] |
G1020 | Mustard Tempest |
Mustard Tempest has used drive-by downloads for initial infection, often using fake browser updates as a lure.[44][45][46][47] |
C0016 | Operation Dust Storm |
During Operation Dust Storm, the threat actors used a watering hole attack on a popular software reseller to exploit the then-zero-day Internet Explorer vulnerability CVE-2014-0322.[48] |
G0040 | Patchwork |
Patchwork has used watering holes to deliver files with exploits to initial victims.[49][50] |
G0068 | PLATINUM |
PLATINUM has sometimes used drive-by attacks against vulnerable browser plugins.[51] |
S0216 | POORAIM |
POORAIM has been delivered through compromised sites acting as watering holes.[13] |
G0056 | PROMETHIUM |
PROMETHIUM has used watering hole attacks to deliver malicious versions of legitimate installers.[52] |
S0496 | REvil |
REvil has infected victim machines through compromised websites and exploit kits.[53][54][55][56] |
G0048 | RTM |
RTM has distributed its malware via the RIG and SUNDOWN exploit kits, as well as online advertising network |
S1086 | Snip3 |
Snip3 has been delivered to targets via downloads from malicious domains.[59] |
S1124 | SocGholish |
SocGholish has been distributed through compromised websites with malicious content often masquerading as browser updates.[44] |
G0027 | Threat Group-3390 |
Threat Group-3390 has extensively used strategic web compromises to target victims.[60][61] |
G0134 | Transparent Tribe |
Transparent Tribe has used websites with malicious hyperlinks and iframes to infect targeted victims with Crimson, njRAT, and other malicious tools.[62][63][64] |
G0010 | Turla | |
G0124 | Windigo |
Windigo has distributed Windows malware via drive-by downloads.[67] |
G0112 | Windshift |
Windshift has used compromised websites to register custom URL schemes on a remote system.[68] |
G1035 | Winter Vivern |
Winter Vivern created dedicated web pages mimicking legitimate government websites to deliver malicious fake anti-virus software.[69] |
ID | Mitigation | Description |
---|---|---|
M1048 | Application Isolation and Sandboxing |
Browser sandboxes can be used to mitigate some of the impact of exploitation, but sandbox escapes may still exist.[70][71] Other types of virtualization and application microsegmentation may also mitigate the impact of client-side exploitation. The risks of additional exploits and weaknesses in implementation may still exist for these types of systems.[71] |
M1050 | Exploit Protection |
Security applications that look for behavior used during exploitation such as Windows Defender Exploit Guard (WDEG) and the Enhanced Mitigation Experience Toolkit (EMET) can be used to mitigate some exploitation behavior.[72] Control flow integrity checking is another way to potentially identify and stop a software exploit from occurring.[73] Many of these protections depend on the architecture and target application binary for compatibility. |
M1021 | Restrict Web-Based Content |
Adblockers can help prevent malicious code served through ads from executing in the first place. Script blocking extensions can also help to prevent the execution of JavaScript. Consider disabling browser push notifications from certain applications and browsers.[74][75][76] |
M1051 | Update Software |
Ensuring that all browsers and plugins are kept updated can help prevent the exploit phase of this technique. Use modern browsers with security features turned on.[77] |
M1017 | User Training |
Train users to be aware of access or manipulation attempts by an adversary to reduce the risk of successful spearphishing, social engineering, and other techniques that involve user interaction. |
ID | Data Source | Data Component | Detects |
---|---|---|---|
DS0015 | Application Log | Application Log Content |
Firewalls and proxies can inspect URLs for potentially known-bad domains or parameters. They can also do reputation-based analytics on websites and their requested resources such as how old a domain is, who it's registered to, if it's on a known bad list, or how many other users have connected to it before. |
DS0022 | File | File Creation |
Monitor for newly constructed files written to disk to gain access to a system through a user visiting a website over the normal course of browsing. Detect browser process dropping files in suspicious locations (AppData, Temp,
|
DS0029 | Network Traffic | Network Connection Creation |
Monitor for newly constructed network connections to untrusted hosts that are used to send or receive data. Identify browser processes initiating connections to known malicious domains.Detect browser requests to suspicious IPs or domains classified under newly registered domains.Look for anomalous DNS queries and HTTP request patterns.
|
Network Traffic Content |
Detect suspicious script execution over HTTP/S. Identify JavaScript payloads with obfuscation or encoded execution. Look for exploit attempts in network payloads.
|
||
DS0009 | Process | Process Creation |
Look for behaviors on the endpoint system that might indicate successful compromise, such as abnormal behaviors of browser processes. This could include suspicious files written to disk, evidence of Process Injection for attempts to hide execution, or evidence of Discovery. |