Persistenza tramite Autostart Desktop Linux: XDG Autostart Entries (T1547.013)

La tecnica T1547.013 sfrutta il meccanismo XDG Autostart presente su qualsiasi ambiente desktop Linux conforme alle specifiche freedesktop.org (GNOME, KDE, XFCE, Cinnamon, MATE). Il funzionamento è elementare: quando un utente effettua login e il proprio desktop environment viene caricato, il sistema esegue automaticamente tutti i file .desktop presenti nelle directory di autostart, valutando la direttiva Exec= che punta a un binario o comando arbitrario.

L'attaccante può depositare un file .desktop in ~/.config/autostart/ senza necessità di privilegi amministrativi, oppure in /etc/xdg/autostart/ per una persistenza a livello di sistema che richiede permessi elevati. Da qui la doppia mappatura MITRE alle tattiche TA0003 (Persistence) e TA0004 (Privilege Escalation): nel primo caso l'obiettivo è sopravvivere a reboot e cambi credenziali, nel secondo si sfrutta l'esecuzione in un contesto potenzialmente più privilegiato (es. utente admin che effettua login interattivo).

I numeri MITRE parlano chiaro sul valore operativo della tecnica: 6 famiglie di malware documentate la impiegano attivamente (tra cui NETWIRE, Pupy, CrossRAT, Fysbis, RotaJakiro e InvisibleFerret) e 1 gruppo APT — Contagious Interview — la utilizza in campagne recenti contro sviluppatori Linux. La combinazione con Masquerading (T1036) — nomi di file che imitano applicazioni legittime come google-chrome.desktop o gnome-keyring.desktop — rende la detection non banale in assenza di baseline degli entry attesi.

In un ingaggio red team su endpoint Linux con desktop environment, la persistenza XDG è tra le prime opzioni da valutare perché non richiede privilegi, non tocca cron o systemd (spesso monitorati) e sopravvive a reboot senza artefatti particolarmente rumorosi.

La procedura minima consiste nel creare un file .desktop valido nella directory utente. Un esempio funzionante di payload:

mkdir -p ~/.config/autostart

cat > ~/.config/autostart/gnome-session-helper.desktop <<EOF [Desktop Entry] Type=Application Name=GNOME Session Helper Exec=/tmp/.cache/beacon Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true EOF

Le direttive rilevanti da conoscere sono Exec= (comando o binario), Hidden=true (nasconde l'entry dalla GUI di gestione autostart in GNOME Tweaks o simili), OnlyShowIn=GNOME; per limitare l'esecuzione a specifici DE, e X-GNOME-Autostart-Delay=N per ritardare l'esecuzione ed evitare correlazione temporale con il logon.

Per la fase di weaponization il payload può essere generato con msfvenom (open source, incluso in Metasploit Framework) come reverse shell ELF, oppure con Sliver (open source) che offre implant Linux più moderni e resistenti a signature. Un pattern efficace è puntare Exec= a uno script bash che lancia in background l'implant e disowna il processo, così il crash dell'implant non blocca il caricamento della sessione desktop.

Per masquerading conviene enumerare prima gli entry legittimi presenti sul sistema target: ls -la ~/.config/autostart/ /etc/xdg/autostart/ e replicare naming convention e commenti multilingua tipici (es. Comment[it]=, GenericName=) per rendere l'entry indistinguibile da uno pacchettizzato.

Se si dispone di privilegi root, il posizionamento in /etc/xdg/autostart/ garantisce esecuzione per ogni utente che effettua login, moltiplicando le occasioni di harvesting credenziali o pivot. Attenzione al fatto che alcune distribuzioni (Fedora recenti, Ubuntu con SELinux/AppArmor in enforcing) applicano policy MAC che possono bloccare l'esecuzione di binari da path non standard come /tmp o /dev/shm — testare in laboratorio la distribuzione esatta del target.

Per emulazione avversariale strutturata, Atomic Red Team (open source, di Red Canary) include il test T1547.013 con payload pronti che possono essere adattati. In ambienti CTF o lab, Caldera (open source, MITRE) permette di orchestrare la tecnica come parte di catene più ampie che includono initial access via phishing e successiva discovery.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.