Scoperta Posizione di Sistema: System Location Discovery (T1614)
La tecnica T1614 descrive il tentativo di calcolare la posizione geografica di un host compromesso. Ricade sotto la tattica TA0007 (Discovery), la fase post-compromissione in cui l'attaccante si orienta nell'ambiente prima di decidere come agire. La logica è semplice ma potente: sapere "dove" si trova la vittima permette di modellare i comportamenti successivi, incluso se infettare davvero il bersaglio o astenersi.
Gli avversari deducono la geolocalizzazione attraverso più segnali. I più comuni sono i controlli di sistema locali: fuso orario, layout di tastiera, impostazioni di lingua e locale. Su Windows entrano in gioco funzioni API come GetLocaleInfoW, GetSystemDefaultLCID, GetUserDefaultLocaleName e GetGeoInfo. Negli ambienti cloud, la zona di disponibilità di un'istanza può essere letta interrogando l'instance metadata service. Un'alternativa esterna è la geolocalizzazione basata su indirizzo IP, ottenuta tramite servizi di lookup online.
L'impatto operativo è concreto: molte famiglie di malware usano questa scoperta come interruttore geografico. Numerosi loader e ransomware escludono deliberatamente le vittime nei paesi ex-sovietici, mentre altri limitano le infezioni a Nord America ed Europa. Con 25 software e 2 gruppi documentati che implementano questa tecnica, la scoperta della posizione è diventata un componente standard dell'automazione difensiva ed evasiva dei malware moderni, capace di ridurre la superficie di analisi e di eludere sandbox regionali.
Dal punto di vista offensivo, questa tecnica è banale da eseguire e difficile da distinguere dall'attività legittima, il che la rende ideale in fase di orientamento post-exploitation. In un laboratorio controllato conviene replicare i tre segnali principali: locale, fuso orario e geolocalizzazione IP.
Su Windows, i comandi nativi bastano per un primo profiling. Con PowerShell puoi leggere il locale tramite Get-WinSystemLocale e il fuso con Get-TimeZone, mentre da prompt classico systeminfo | findstr /C:"Time Zone" estrae la zona configurata. La chiave di registro HKCU\Control Panel\International espone lingua e formato. A livello di API, i sample reali chiamano GetLocaleInfoW, GetSystemDefaultLCID, GetUserDefaultLocaleName e kernel32!GetGeoInfo: in un tool custom di red team puoi invocarle direttamente per riprodurre il comportamento di PlugX o PureCrypter.
Su Linux l'equivalente è immediato:
locale
timedatectl
cat /etc/timezone
Su macOS si usano defaults read -g AppleLocale e systemsetup -gettimezone (quest'ultimo richiede privilegi). In ambiente cloud/IaaS, per emulare la scoperta della availability zone puoi interrogare l'endpoint dei metadati dell'istanza dall'interno della VM, che restituisce region e zona senza autenticazione: è il metodo usato per profilare host AWS e Azure.
La parte più interessante per un red team è la geolocalizzazione IP esterna, che malware come RedLine Stealer e InvisibleFerret sfruttano contro un servizio pubblico di ip-lookup per ottenere paese, città, ISP e coordinate. In laboratorio la simulazione consiste in una semplice richiesta HTTP a un endpoint di geolocalizzazione (curl -s
Per costruire catene realistiche, integra la scoperta come guardrail di esecuzione: molti campioni (Amadey, Saint Bot, Ragnar Locker, DarkGate, GlassWorm, Tsundere Botnet) abortiscono se rilevano locale russo o fusi associati. Riprodurre questa logica di geofencing è utile per testare la resilienza delle sandbox regionali del blue team.
Strumenti da laboratorio consigliati: Atomic Red Team (open source) offre test pronti per T1614; Sysmon (open source) e Sysinternals Process Monitor (gratuito) permettono di osservare le chiamate generate; per l'analisi delle API in un binario si usa x64dbg (open source) o Ghidra (open source), verificando quali funzioni di locale vengono risolte a runtime.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo