Detect Malicious Link in Google Chronicle
Adversaries may rely upon a user clicking a malicious link in order to gain execution. Users may be subjected to social engineering to get them to click on a link that will lead to code execution. This user action will typically be observed as follow-on behavior from spearphishing links delivered via email, messaging platforms, or social media. Clicking on a link may lead to exploitation of a browser or application vulnerability, or direct download of a file requiring execution. Threat actors including FIN7, Kimsuky, QakBot, Bazar, and Mustang Panda have all leveraged malicious links as initial access vectors, often hosting payloads on legitimate cloud services such as Google Docs, OneDrive, or Dropbox to evade reputation-based filtering.
MITRE ATT&CK
- Tactic
- Execution
- Technique
- T1204 User Execution
- Sub-technique
- T1204.001 Malicious Link
- Canonical reference
- https://attack.mitre.org/techniques/T1204/001/
YARA-L Detection Query
rule t1204_001_malicious_link_browser_spawn {
meta:
author = "Argus Detection Engineering"
description = "Detects T1204.001 - Malicious Link: Browser spawning suspicious child processes indicative of drive-by or spearphishing link execution."
severity = "HIGH"
priority = "HIGH"
mitre_attack_tactic = "Execution"
mitre_attack_technique = "T1204.001"
reference = "https://attack.mitre.org/techniques/T1204/001/"
created = "2026-04-19"
events:
$proc.metadata.event_type = "PROCESS_LAUNCH"
$proc.principal.process.file.full_path = /(?i)(chrome\.exe|msedge\.exe|firefox\.exe|iexplore\.exe|opera\.exe|brave\.exe|vivaldi\.exe|browser\.exe)$/
$proc.target.process.file.full_path = /(?i)(powershell\.exe|pwsh\.exe|cmd\.exe|wscript\.exe|cscript\.exe|mshta\.exe|rundll32\.exe|regsvr32\.exe|certutil\.exe|bitsadmin\.exe|msiexec\.exe|wmic\.exe|msbuild\.exe|csc\.exe|installutil\.exe|regasm\.exe|regsvcs\.exe|odbcconf\.exe|forfiles\.exe|pcalua\.exe)$/
match:
$proc.principal.hostname over 5m
outcome:
$hostname = $proc.principal.hostname
$user = $proc.principal.user.userid
$browser = $proc.principal.process.file.full_path
$child_process = $proc.target.process.file.full_path
$child_cmdline = $proc.target.process.command_line
$is_encoded_ps = re.regex($proc.target.process.command_line, `(?i)(-encodedcommand|-enc\s|-e\s|-ec\s)`)
$is_download_cradle = re.regex($proc.target.process.command_line, `(?i)(invoke-webrequest|net\.webclient|downloadfile|downloadstring|iex\(|invoke-expression|start-bitstransfer)`)
$is_lolbin = re.regex($proc.target.process.file.full_path, `(?i)(rundll32\.exe|regsvr32\.exe|certutil\.exe|mshta\.exe|msbuild\.exe|installutil\.exe|regasm\.exe|regsvcs\.exe)`)
$risk_score = if($is_encoded_ps and $is_download_cradle, 90, if($is_encoded_ps or $is_download_cradle, 75, if($is_lolbin, 65, 50)))
condition:
$proc
} Chronicle YARA-L 2.0 rule detecting T1204.001 by correlating PROCESS_LAUNCH UDM events where the principal process is a web browser and the target process is a suspicious child executable, script engine, or LOLBin. Calculates a risk score based on command-line characteristics including encoded commands, download cradles, and LOLBin usage.
Data Sources
Required Tables
False Positives & Tuning
- Enterprise software provisioning systems that use browsers as launchers to invoke msiexec.exe or PowerShell for application installation workflows triggered by web-based self-service portals.
- Automated testing pipelines where CI/CD systems open a browser-based test report URL that then triggers a local script via a custom protocol handler.
- Legitimate browser-to-application protocol handlers (e.g., teams://, zoom://, vscode://) that may cause the browser to spawn child processes as part of deep-link handling.
Other platforms for T1204.001
Testing Methodology
Validate this detection against 5 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Browser Spawning PowerShell via URI Handler (Simulated)
Expected signal: Sysmon Event ID 1: Process Create with Image=powershell.exe, CommandLine containing '-ExecutionPolicy Bypass -WindowStyle Hidden'. Sysmon Event ID 11: File Create for %TEMP%\malicious-link-test.txt. Security Event ID 4688 (if command line auditing enabled) showing powershell.exe creation.
- Test 2Malicious Link File Drop Simulation — Executable in Downloads
Expected signal: Sysmon Event ID 11: File Create with TargetFilename ending in Downloads\Invoice_March2026.exe. DeviceFileEvents (MDE) will show file creation in the Downloads directory. The Zone.Identifier ADS will NOT be present since the file is copied rather than downloaded — in a real scenario the browser would attach ZoneId=3.
- Test 3wscript.exe Execution of Remote-Hosted VBScript (Simulated Link Click)
Expected signal: Sysmon Event ID 11: File Create for %TEMP%\link_payload.vbs. Sysmon Event ID 1: Process Create with Image=wscript.exe, CommandLine containing the .vbs path. Security Event ID 4688 for wscript.exe creation. If launched from a browser parent, the parent-child relationship is recorded in ParentImage.
- Test 4mshta.exe LOLBin Execution via Simulated Browser Spawn
Expected signal: Sysmon Event ID 11: File Create for %TEMP%\link_test.hta. Sysmon Event ID 1: Process Create with Image=mshta.exe and CommandLine referencing the .hta path. If the HTA makes network connections, Sysmon Event ID 3 will record them. Security Event ID 4688 for mshta.exe.
- Test 5ISO/IMG Mount and Execute — Malicious Link File Delivery
Expected signal: Sysmon Event ID 1: Process Create for powershell.exe with Shell.Application COM object instantiation in command line. Sysmon Event ID 11: File Create for marker file. In a real ISO execution scenario, Sysmon Event ID 1 would show the process launched from a drive letter (e.g., E:\payload.exe) with no Zone.Identifier, distinguishing it from standard Downloads executions.
References (12)
- https://attack.mitre.org/techniques/T1204/001/
- https://www.crowdstrike.com/blog/carbon-spider-embraces-big-game-hunting-part-1/
- https://blog.cybereason.com/operation-gozi-the-shadow-war-against-the-public-sector
- https://www.zscaler.com/blogs/security-research/bazar-drops-the-anchor
- https://securityintelligence.com/posts/grandoreiro-how-engorged-can-an-exe-get/
- https://www.malwarebytes.com/blog/threat-intelligence/2021/02/lazyscripter-from-empire-to-double-rat
- https://www.trendmicro.com/en_us/research/21/h/confucius-apt-deploys-romcom-to-attack-ukraine.html
- https://unit42.paloaltonetworks.com/ukraine-targeted-outsteel-saintbot/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1204.001/T1204.001.md
- https://www.sans.org/blog/ms-office-files-are-still-a-top-malware-delivery-mechanism/
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-deviceprocessevents-table
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-devicefileevents-table
Unlock Pro Content
Get the full detection package for T1204.001 including response playbook, investigation guide, and atomic red team tests.