Finestre Nascoste: Hidden Window (T1564.003)

Le finestre nascoste rappresentano una tecnica sofisticata per mascherare attività malevole agli occhi degli utenti. Gli attaccanti sfruttano funzionalità legittime del sistema operativo per eseguire processi e applicazioni senza mostrare alcuna interfaccia visibile.

Questa capacità di occultamento si inserisce nella tattica TA0005 (Defense Evasion), permettendo agli avversari di mantenere la persistenza riducendo drasticamente la probabilità di essere scoperti. La tecnica risulta particolarmente efficace perché sfrutta meccanismi nativi dei sistemi operativi, rendendola difficile da distinguere da comportamenti amministrativi legittimi.

I numeri parlano chiaro: 16 gruppi APT hanno integrato questa tecnica nel loro arsenale, utilizzando 38 diversi malware che implementano varianti sempre più sofisticate. Tra questi spiccano attori di primo piano come APT28, FIN7 e Kimsuky, che hanno dimostrato particolare creatività nell'abuso di PowerShell e nella creazione di desktop virtuali nascosti.

PowerShell offre il metodo più diretto per nascondere finestre su Windows. Il comando base è semplicemente powershell.exe -WindowStyle Hidden, ma le varianti sono molteplici. Alcuni gruppi APT preferiscono -W Hidden per brevità, mentre altri utilizzano hidcon per mascherare console batch.

La vera eleganza sta nella manipolazione del registro di sistema. Modificando la chiave HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_PowerShell.exe, specificamente il valore WindowPosition, si possono far aprire le finestre completamente fuori schermo. Un valore massimo garantisce che la finestra sia invisibile anche con Alt+Tab.

Per test più avanzati, l'API CreateDesktop() permette di creare interi desktop nascosti. Questo approccio, utilizzato da malware come TrickBot per implementare hidden VNC (hVNC), crea un ambiente completamente isolato:

CreateDesktopW(L"HiddenDesk", NULL, NULL, 0, GENERIC_ALL, NULL)

Su macOS, la tecnica richiede la modifica dei file plist. Aggiungendo il tag <key>apple.awt.UIElement</key><true/> si previene la comparsa dell'icona nel Dock. Per nascondere completamente un'applicazione:

defaults write /Applications/MyApp.app/Contents/Info LSUIElement -bool true

Linux offre meno opzioni native, ma combinando nohup con redirect si ottengono risultati simili:

nohup ./malware > /dev/null 2>&1 &

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

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