Scheduled Task Abuse: At (T1053.002)

L'abuso del comando at rappresenta una tecnica di scheduling malevolo che sfrutta un'utility legacy ma ancora presente nei sistemi operativi moderni. Questa funzionalità permette agli attaccanti di programmare l'esecuzione di codice malevolo in momenti specifici, garantendo persistenza e movimento laterale nelle infrastrutture compromesse.

La tecnica si manifesta attraverso tre tattiche distinte nella kill chain: TA0002 (Execution) per l'esecuzione diretta di payload malevoli, TA0003 (Persistence) per mantenere l'accesso dopo riavvii o modifiche delle credenziali, e TA0004 (Privilege Escalation) per ottenere privilegi elevati attraverso task schedulati in contesto SYSTEM. Questo triplo utilizzo rende l'abuso di at particolarmente versatile nelle campagne offensive.

Tre gruppi APT hanno documentato l'uso di questa tecnica nelle loro operazioni. APT18 ha sfruttato at per schedulare task malevoli durante le campagne di spionaggio industriale. Threat Group-3390 ha implementato catene di attacco che usano at per distribuire RAR self-extracting contenenti HTTPBrowser e PlugX. BRONZE BUTLER ha integrato at nei propri toolkit per il movimento laterale, schedulando l'esecuzione di malware su sistemi remoti della rete vittima.

Replicare l'abuso di at richiede comprensione delle differenze tra sistemi operativi e delle relative permission necessarie. Su Windows, il servizio Task Scheduler deve essere attivo e l'utente deve appartenere al gruppo Administrators locale.

Il comando base Windows per schedulare un task alle 23:00 è: at 23:00 /interactive "C:\Windows\Temp\payload.exe". Per sistemi remoti, la sintassi diventa at \target-host 23:00 "C:\malware\beacon.exe".

L'approccio WMI offre maggiore flessibilità. PowerShell permette di creare job schedulati con: $JobTime = [DateTime]::Now.AddMinutes(5); Invoke-WmiMethod -Class Win32_ScheduledJob -Name Create -ArgumentList $false, 0x00, $JobTime.ToFileTime(), $null, $null, $true, "powershell.exe -enc [base64_payload]".

Su Linux, at richiede privilegi di superuser o inclusione nel file at.allow. La sequenza operativa standard prevede: echo "/tmp/backdoor.sh" | at now + 10 minutes. Per verificare i job schedulati si usa atq, mentre atrm permette la rimozione.

macOS mantiene compatibilità con la sintassi Unix standard. Il comando echo "osascript -e 'do shell script "/tmp/payload"'" | at 2230 schedula l'esecuzione attraverso osascript, bypassando alcune restrizioni di sicurezza.

Tool come CrackMapExec automatizzano l'abuso di at per il movimento laterale: crackmapexec smb 192.168.1.0/24 -u admin -p password --at-time "23:00" --at-command "cmd.exe /c start beacon.exe". MURKYTOP malware include funzionalità native per schedulare job AT remoti senza dipendenze esterne.

Per persistence avanzata, combinare at con altre tecniche aumenta l'efficacia. Creare un loop di re-scheduling dove ogni esecuzione programma la successiva: at 04:00 /every:M,T,W,Th,F,S,Su cmd.exe /c "malware.exe && at 04:00 /tomorrow cmd.exe /c malware.exe".

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.