Scoperta dell'Orario di Sistema: System Time Discovery (T1124)

La tecnica T1124 – System Time Discovery descrive la raccolta, da parte di un avversario, dell'orario e del fuso orario di un sistema locale o remoto. Rientra nella tattica TA0007 (Discovery), la fase post-compromissione in cui l'attaccante osserva l'ambiente per orientarsi prima di agire.

Sebbene apparentemente banale, conoscere l'orario di sistema abilita molteplici obiettivi operativi. Un avversario può sincronizzare l'esecuzione di un payload con orari lavorativi per mimetizzarsi nel traffico legittimo, come fa ComRAT che opera dalle 9 alle 17 dal lunedì al venerdì. Può innescare time bomb che attivano wiper o ransomware solo dopo una data specifica, come osservato in Shamoon, DEADWOOD e DCSrv. Può inferire la localizzazione geografica della vittima dal timezone per raffinare il targeting, oppure usare il tick count come seed per algoritmi di generazione dominio (DGA), come in Conficker.

I numeri MITRE parlano chiaro: 13 gruppi APT documentati, 77 famiglie di malware, 3 campagne tracciate e zero mitigazioni ufficiali. L'assenza di mitigazioni riflette la natura stessa della tecnica: le API di sistema per leggere l'orario (GetSystemTime, GetTickCount, time()) sono legittime e ubique, impossibili da bloccare senza rompere il sistema operativo. La difesa si sposta quindi interamente sul piano della detection comportamentale e della correlazione con azioni successive.

In un red team engagement, System Time Discovery è una primitiva a bassissimo rumore che precede quasi sempre attività più invasive. Su Windows l'inventario dei comandi nativi è ampio e non richiede privilegi elevati.

Il classico net time \\hostname interroga l'orario di un host remoto tramite SMB ed è stato usato da Turla, FIN7, BRONZE BUTLER e nella campagna Operation CuckooBees. Per il fuso orario, w32tm /tz restituisce bias e nome della timezone attiva. In PowerShell, Get-TimeZone e [System.TimeZoneInfo]::Local offrono equivalenti object-oriented più discreti nei log della command line. Per lo uptime, l'API GetTickCount() è preferita dai malware come Medusa Ransomware, PUBLOAD e KEYPLUG perché non lascia traccia in event log.

Su Linux, i comandi date, timedatectl status, hwclock e la lettura di /proc/uptime o /etc/timezone coprono tutti i casi d'uso. A livello syscall, time(2), clock_gettime(2) e gettimeofday(2) sono invisibili senza auditd configurato in modo aggressivo.

Su macOS, systemsetup -gettimezone e date sono l'equivalente diretto, mentre in codice Objective-C il selettore timeIntervalSinceNow di NSDate è tipico di impianti come WindTail.

Su ESXi, come sfruttato da UNC3886, il comando esxcli system clock get letto via shell interattiva o API vSphere restituisce l'orario dell'host. Su network device Cisco IOS/NX-OS, show clock detail fornisce orario e sorgente NTP.

Per simulare la catena completa in laboratorio, Atomic Red Team (open source) contiene test dedicati a T1124 con payload pronti per Windows e Linux. Caldera (open source) di MITRE permette di orchestrare la discovery del timezone come step preliminare a un ability di scheduled task. Per lo sviluppo di implant custom, Sliver (open source) e Mythic (open source) espongono comandi nativi per interrogare l'orario senza spawnare processi figli visibili.

Una catena realistica in un assessment prevede: enumerazione timezone via API in-memory, calcolo della finestra oraria "business hours" della vittima, e schedulazione del payload principale via schtasks /create /sc once /st HH:MM in un momento di massima attività utente per confondersi nel rumore di fondo. Questa sequenza è esattamente il pattern che i detection ruleset D3FEND raccomandano di correlare.

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.