Has established persistence using InvisibleFerret malware to create a .desktop entry to run on startup on GNOME-based Linux devices.1
XDG Autostart Entries T1547.013
- Tactics
- Persistence, Privilege Escalation
- Platform
- Linux
- Version
- 1.2
- Created
- 10 September 2019
- Last modified
- 24 October 2025
- Contributor
- Tony Lambert, Red Canary
Adversaries may add or modify XDG Autostart Entries to execute malicious programs or commands when a user’s desktop environment is loaded at login. XDG Autostart entries are available for any XDG-compliant Linux system. XDG Autostart entries use Desktop Entry files (.desktop) to configure the user’s desktop environment upon user login. These configuration files determine what applications launch upon user login, define associated applications to open specific file types, and define applications used to open removable media.[1][2]
XDG Autostart Entries MITRE reference T1547.013
1 group has been recorded using this technique. Newest first; each entry carries MITRE’s procedure text and a link to the group’s full record. Click a name to filter the rules below.
All 1 groups for this technique
6 software entries are documented implementing this technique. MITRE files each as a tool or as malware; newest first, then by how many groups carry them.
Has established persistence within GNOME-based Linux environments by placing entries within .desktop that run on Startup.1
When executing with user-level permissions, RotaJakiro can install persistence using a .desktop file under the $HOME/.config/autostart/ folder.1
If executing without root privileges, Fysbis adds a .desktop configuration file to the user's ~/.config/autostart directory.12
Can use an XDG Autostart to establish persistence.1
Can use XDG Autostart Entries to establish persistence on Linux systems.1
Can use an XDG Autostart to establish persistence.1
All 6 software entries for this technique
Offense vs defense T1547.013
Is defensive coverage keeping up with adversary use? Eight counts, each ranked against all 697 ATT&CK techniques. Attack sits left, defense right, so a shape leaning left means adversaries are better documented here than defenders are equipped. Hover any spoke for its percentile and the share of techniques that have more. The timeline below shows when each side arrived.
XDG Autostart Entries detection strategy DET0390
MITRE names one behaviour worth catching for this technique and breaks it into 1 analytic, one per platform. Each carries the log sources it needs and the fields you tune per environment.
Linux Detection Strategy for T1547.013 - XDG Autostart Entries
AN1096 · Linux
Correlation of file creation/modification of .desktop files within XDG autostart directories, followed by execution of processes at user login initiated by the desktop environment. Malicious entries typically include suspicious Exec paths or anomalous names and are not associated with installed packages.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Process CreationDC0032 | auditd:EXECVE | Process execution via .desktop Exec path from /etc/xdg/autostart or ~/.config/autostart |
| File CreationDC0039 | auditd:SYSCALL | creat |
| File AccessDC0055 | auditd:SYSCALL | open |
| File MetadataDC0059 | linux:osquery | Write or modify .desktop file in XDG autostart path |
| Logon Session CreationDC0067 | linux:auth | User login event followed by unexpected process tree |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| ExecCommandPattern | Regex or allowlist of expected Exec paths within .desktop files. Deviations may be suspicious. |
| AutostartDirectory | May vary by user config (e.g., $XDG_CONFIG_HOME). Must enumerate actual values per system. |
| TimeWindow | Correlate file creation/mod + exec within login window (e.g., 0–5 min of user logon). |
| UserContext | Should filter to non-system users, as XDG persistence typically targets interactive sessions. |
| PackageOriginBaseline | Compare .desktop entries to known package sources (e.g., dpkg -S). Unexpected origins may be suspicious. |
Restrict software installation to trusted repositories only and be cautious of orphaned software packages.
Restrict write access to XDG autostart entries to only select privileged users.
Limit privileges of user accounts so only authorized privileged users can create and modify XDG autostart entries.