Detect Malicious Link in Splunk
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/
SPL Detection Query
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
| eval ParentImageLower=lower(ParentImage)
| eval ImageLower=lower(Image)
| where match(ParentImageLower, "(chrome\.exe|msedge\.exe|firefox\.exe|iexplore\.exe|opera\.exe|brave\.exe|vivaldi\.exe)")
| where match(ImageLower, "(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)")
| eval CommandLineLower=lower(CommandLine)
| eval IsEncodedPS=if(match(CommandLineLower, "(-encodedcommand|-enc\s|-e\s|-ec\s)"), 1, 0)
| eval IsDownloadCradle=if(match(CommandLineLower, "(invoke-webrequest|net\.webclient|downloadfile|downloadstring|iex\(|invoke-expression|start-bitstransfer)"), 1, 0)
| eval IsScriptEngine=if(match(ImageLower, "(wscript\.exe|cscript\.exe|mshta\.exe)"), 1, 0)
| eval IsLOLBin=if(match(ImageLower, "(rundll32\.exe|regsvr32\.exe|certutil\.exe|mshta\.exe|msbuild\.exe|installutil\.exe|regasm\.exe|regsvcs\.exe)"), 1, 0)
| eval IsCmdWithArgs=if(match(ImageLower, "cmd\.exe") AND match(CommandLineLower, "(/c|/k)"), 1, 0)
| eval SuspicionScore=IsEncodedPS + IsDownloadCradle + IsScriptEngine + IsLOLBin + IsCmdWithArgs
| eval SuspicionScore=if(SuspicionScore=0, 1, SuspicionScore)
| table _time, host, User, Image, CommandLine, ParentImage, ParentCommandLine, IsEncodedPS, IsDownloadCradle, IsScriptEngine, IsLOLBin, IsCmdWithArgs, SuspicionScore
| sort - _time Detects malicious link execution by identifying browser processes spawning suspicious child processes using Sysmon Event ID 1 (Process Create). Evaluates child process characteristics including encoded PowerShell, download cradles, script engine invocation, LOLBin usage, and cmd.exe with command arguments. A base SuspicionScore of 1 is assigned to all browser-to-suspicious-child events, with additional score increments for compounding indicators. This helps analysts prioritize cases where a simple browser spawn is enriched with additional malicious characteristics.
Data Sources
Required Sourcetypes
False Positives & Tuning
- Enterprise software deployment portals using browser-initiated installers (ClickOnce, MSIX) causing msiexec.exe to appear as a browser child
- Legitimate protocol handler launches (zoom://, msteams://, slack://) where browser spawns the native application
- Developer environments where browser-based tools legitimately invoke system processes for build or test operations
- Browser helper objects or extensions that spawn companion applications with browser as the initiating process
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.