Finestre Nascoste: Hidden Window (T1564.003)

La tecnica Hidden Window consiste nell'occultare le finestre grafiche generate da processi legittimi o malevoli, sfruttando funzionalità native dei sistemi operativi pensate per amministratori di sistema e sviluppatori. Un attaccante può così eseguire script, comandi o intere sessioni interattive senza che l'utente noti alcun elemento visibile sullo schermo, ottenendo un vantaggio significativo in termini di stealth durante le operazioni post-compromissione.

La tecnica appartiene alla tattica TA0005 (Defense Evasion) e si colloca nelle fasi centrali della kill chain, tipicamente dopo l'Initial Access e durante Execution, Persistence e Command and Control. Su Windows viene abusato il parametro -WindowStyle Hidden di PowerShell, la chiave di registro HKEY_CURRENT_USER\Console per posizionare finestre fuori schermo, e le API ShowWindow() e CreateDesktop() per generare desktop virtuali invisibili che ospitano sessioni hVNC. Su macOS si sfrutta il tag apple.awt.UIElement nei file plist per rimuovere l'icona dal Dock, mentre su Linux vengono usati wrapper come nohup o multiplexer come tmux per mascherare shell interattive.

L'impatto è documentato in modo estensivo: 16 gruppi APT e 38 famiglie di software malevolo utilizzano attivamente questa tecnica, dai ransomware come LockBit 2.0 e AvosLocker ai RAT come QuasarRAT e AsyncRAT, fino agli stealer moderni come Lumma Stealer. Le contromisure MITRE si limitano a due mitigazioni (M1033 e M1038), segno che la difesa efficace passa quasi esclusivamente da detection comportamentale e controllo dell'esecuzione degli script.

In un esercizio red team, l'occultamento delle finestre è una tecnica di base che si combina con qualsiasi payload interattivo. Su Windows il metodo più immediato resta il classico:

powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -File payload.ps1

Gruppi come APT28, APT3, APT19, DarkHydrus e Kimsuky utilizzano varianti di questo pattern (-w hidden, -W Hidden, -WindowStyle Hidden), tutte equivalenti dal punto di vista funzionale ma potenzialmente utili per bypassare regole di detection basate su string matching esatto. Un'alternativa più elegante è invocare l'API ShowWindow(hwnd, SW_HIDE) direttamente da codice C# o C++, come fanno Medusa Group, AvosLocker e Kevin, evitando così di lasciare command line sospette in 4688 o Sysmon Event 1.

Per script batch, il tool hidcon (usato da Gamaredon Group) è un wrapper open source che esegue file .bat in console invisibile. In alternativa, sfruttando la classe .NET ProcessStartInfo con CreateNoWindow = true e WindowStyle = ProcessWindowStyle.Hidden si ottiene lo stesso risultato senza dipendenze esterne — approccio adottato da AsyncRAT, SharpDisco e Lumma Stealer.

Per scenari più avanzati, l'API CreateDesktop() permette di generare un desktop virtuale separato dove eseguire un intero explorer.exe con sessioni hVNC (hidden VNC). Framework come TrickBot e WarzoneRAT implementano nativamente questa capacità; in laboratorio si può replicare con Cobalt Strike (a pagamento) tramite il modulo VNC integrato, oppure con SILENTTRINITY (open source) che espone comandi per impostare WindowStyle Hidden nei suoi moduli BOO/IronPython.

Su macOS, per simulare la persistenza silenziosa di WindTail, modificare il file Info.plist dell'applicazione aggiungendo:

LSUIElement1

Questo rimuove l'icona dal Dock e dalla lista Cmd+Tab, mantenendo il processo attivo. Su Linux, per mascherare una reverse shell interattiva è sufficiente combinare nohup, redirezione dei descrittori e setsid per detach completo dal terminale, oppure utilizzare screen -dmS per creare sessioni detached persistenti.

Un LOLBin interessante da testare è DeviceCredentialDeployment.exe, invocato con cmd.exe come parent per sopprimere qualsiasi finestra figlia. Per l'orchestrazione lab-safe consiglio Atomic Red Team (open source), che include test atomici specifici per T1564.003 pronti da eseguire in ambienti isolati.

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.