Usage-Triggered Execution (T1546.015)
Usage-Triggered Execution (T1546.015)
This technique delays malware execution until a specific program is used or a specific timeframe is reached, helping attackers avoid detection by enabling activities only under set conditions.
Historical Overview and Notable Incidents
APT29 (Cozy Bear) - 2015
Incident: Infiltrated the Democratic National Committee (DNC) networks, triggering data exfiltration based on specific user activities.
Method: Exploited scheduled tasks and run keys to re-enable malware payloads upon reboot.
Timelines: Mid-2015 to 2016.
Detection/Response: Delayed persistence and sophisticated obfuscation techniques.
Turla Group - 2014
Incident: Leveraged usage-triggered execution during the Agent.btz infection targeting government networks.
Method: Embedded malware into legitimate utility functions triggered by specific user actions.
Timelines: Active in 2014 with repeated revisions.
Goals: Espionage, identified through anomalies in normal system operations.
FIN7 (Carbanak Group) - 2017
Incident: Used usage-triggered execution during financial heists to launch malware upon activation of Point of Sale (POS) systems.
Method: Scripts triggered by the usage of specific applications.
Timelines: Several campaigns from 2016 to 2018.
Detection/Response: Late detection by banking institutions and improved POS system monitoring.
Technical Specifics
Key Characteristics:
Trigger Points: Specific program executions or user actions.
Persistence Mechanisms: Use of Windows Task Scheduler, registry run keys, or idle/inactive detections.
Delayed Execution: Malware remains dormant or semi-passive until a predetermined condition is met.
Publicly Available Detection and Defense Resources
Microsoft Security Guidelines: Defensive measures for hardened configurations and monitoring.
MITRE ATT&CK Matrix: Detailed documentation under ID T1546.015.
VirusTotal and Hybrid Analysis: Locate samples and analyze unusual triggering behaviors.
Community Reports: GitHub repositories and InfoSec blogs documenting observed signatures and heuristic patterns.
People & Groups of Interest
APT29 (Cozy Bear): Allegedly associated with Russia’s Foreign Intelligence Service (SVR).
Turla Group: Russian cyber-espionage group known for advanced malware and stealth techniques.
FIN7 (Carbanak Group): Cybercrime group focusing on financial theft, using advanced malware strategies.
Practical Implications for Infosec Engineers
Monitoring: Enhance visibility on task schedulers, registry changes, and unusual binary executions.
Behavioral Analysis: Invest in behavioral threat analytics to detect anomalous patterns.
Incident Response: Rapid incident response protocols for suspected delayed execution mechanisms.
Training & Awareness: Regularly educate IT and security staff about the risks and signs of usage-triggered execution tactics.
Windows Environment
Disabling Compatibility Flags for DllHost.exe:
Open Registry Editor (
regedit.exe
).Navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
.Right-click
Layers
, select Export to back up.Remove entries related to
dllhost.exe
.Close Registry Editor and restart.
Monitoring Event Triggers:
Open Event Viewer (
eventvwr.msc
).Navigate to
Applications and Services Logs > Microsoft > Windows > TaskScheduler > Operational
.Look for event IDs 319 (Task Created) and 200 (Action Executed).
Set up SIEM alerts for these IDs.
macOS Environment
Disabling Launch Daemons and Agents:
Open Terminal.
List all launch daemons:
sudo launchctl list
.Identify suspicious daemons.
Unload daemons:
sudo launchctl unload -w /Library/LaunchDaemons/com.suspicious.daemon.plist
.Remove daemon file:
sudo rm /Library/LaunchDaemons/com.suspicious.daemon.plist
.
Monitoring System Logs:
Open Console.
Navigate to
/private/var/log/
and monitorsystem.log
andasl/*
.Look for unusual execution patterns.
Set up centralized logging and alerts.
Linux Environment
Disabling Cron Jobs and Systemd Timers:
List cron jobs:
crontab -l
andsudo ls /etc/cron*
.Remove suspicious entries:
crontab -e
.List systemd timers:
systemctl list-timers --all
.Stop and disable suspicious timers:
sudo systemctl stop suspicious.timer
andsudo systemctl disable suspicious.timer
.
Log Monitoring:
Check system logs:
sudo tail -f /var/log/syslog
orsudo tail -f /var/log/messages
.Look for automatic execution patterns.
Set up centralized logging and use tools like
logwatch
orauditd
.
Amazon AWS
CloudWatch Event Rules:
Open AWS Management Console, go to CloudWatch.
Select Events and Rules.
Create/edit rules for suspicious API calls.
Set targets like Lambda functions or SNS for alerts.
Lambda Function Monitoring:
Go to AWS Lambda in the Console.
Review list for unknown functions.
Use IAM policies to restrict execution.
Set up CloudWatch Logs for Lambda executions.
Google Cloud Platform (GCP)
Audit Log Configuration:
Go to Google Cloud Console.
Navigate to IAM & Admin > Audit Logs.
Enable logs for Admin Activity and Data Access.
Configure Stackdriver Monitoring alerts.
Disabling Cloud Functions:
Go to Cloud Functions in the Console.
Review for suspicious functions.
Disable unverified functions.
Microsoft Azure
Azure Activity Log Alerts:
Sign in to Azure portal.
Navigate to Monitor > Activity Log.
Create alert rule for `Administrative` and `Create`/`Update` events.
Set actions like email alerts or Logic Apps triggers.
Azure Security Center Recommendations:
Go to Security Center in the portal.
Review security recommendations.
Implement recommended controls.