Malicious Link
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.
let BrowserProcesses = dynamic(["chrome.exe", "msedge.exe", "firefox.exe", "iexplore.exe", "opera.exe", "brave.exe", "vivaldi.exe", "browser.exe"]);
let SuspiciousChildren = dynamic(["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"]);
let SuspiciousExtensions = dynamic([".exe", ".dll", ".js", ".vbs", ".hta", ".wsf", ".ps1", ".bat", ".cmd", ".scr", ".pif", ".cpl", ".iso", ".img"]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where InitiatingProcessFileName in~ (BrowserProcesses)
| where FileName in~ (SuspiciousChildren)
| extend SuspiciousParentPath = InitiatingProcessFolderPath
| extend ChildCommandLine = ProcessCommandLine
| extend IsEncodedPS = FileName =~ "powershell.exe" and (ProcessCommandLine has "-enc" or ProcessCommandLine has "-EncodedCommand")
| extend IsDownloadCradle = ProcessCommandLine has_any ("Invoke-WebRequest", "Net.WebClient", "DownloadFile", "DownloadString", "IEX", "Invoke-Expression")
| extend IsScriptEngine = FileName in~ ("wscript.exe", "cscript.exe", "mshta.exe")
| extend IsLOLBin = FileName in~ ("rundll32.exe", "regsvr32.exe", "certutil.exe", "mshta.exe", "msbuild.exe", "installutil.exe", "regasm.exe", "regsvcs.exe")
| project Timestamp, DeviceName, AccountName, AccountDomain,
InitiatingProcessFileName, InitiatingProcessCommandLine, InitiatingProcessFolderPath,
FileName, ProcessCommandLine, FolderPath,
IsEncodedPS, IsDownloadCradle, IsScriptEngine, IsLOLBin
| sort by Timestamp desc
| union (
DeviceFileEvents
| where Timestamp > ago(24h)
| where InitiatingProcessFileName in~ (BrowserProcesses)
| where FolderPath has_any ("\\Downloads\\", "\\AppData\\Local\\Temp\\", "\\Users\\Public\\", "\\Temp\\")
| where FileName has_any (SuspiciousExtensions)
| project Timestamp, DeviceName, AccountName, AccountDomain,
InitiatingProcessFileName, InitiatingProcessCommandLine=InitiatingProcessCommandLine,
FileName, FolderPath,
IsEncodedPS=false, IsDownloadCradle=false, IsScriptEngine=false, IsLOLBin=false
| sort by Timestamp desc
) Data Sources
Required Tables
False Positives
- Enterprise software deployment portals that use browser-initiated installers (ClickOnce, MSIX) may trigger msiexec.exe as a browser child process
- Legitimate browser extensions or helper applications (e.g., meeting clients, VPN agents) that launch via protocol handlers (e.g., zoom://, msteams://)
- Developer workstations where browser-based IDEs or tools legitimately spawn Node.js, Python, or PowerShell processes
- IT-managed browser kiosks running automation scripts that interact with browsers and spawn controlled child processes
- PDF viewers or office document handlers launched from browser downloads that briefly show browser as parent process
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.