File Nascosti: Hidden Files and Directories (T1564.001)
La tecnica T1564.001 descrive l'abuso dei meccanismi nativi di occultamento file offerti dai sistemi operativi per sottrarre payload, configurazioni e dati raccolti allo sguardo di utenti e analisti. Rientra nella tattica TA0005 (Defense Evasion) e si colloca trasversalmente lungo la kill chain: viene impiegata subito dopo l'esecuzione iniziale per nascondere loader e persistenze, durante la collection per accumulare dati esfiltrandi in cartelle invisibili, e nella fase di command & control per mimetizzare log e file di configurazione.
Ogni piattaforma offre primitive diverse. Su Windows l'attributo hidden si applica tramite attrib.exe o direttamente via API SetFileAttributes, con l'ulteriore possibilità di combinare l'attributo system per rendere il file invisibile anche quando Explorer mostra i file nascosti. Su Linux e macOS basta anteporre un punto al nome del file, mentre macOS aggiunge il flag UF_HIDDEN impostabile con chflags hidden o SetFile -a V, che nasconde alla sola Finder lasciando visibile il file dal terminale.
I dati MITRE ATT&CK documentano 12 gruppi APT, 45 famiglie di malware e 1 campagna che sfruttano questa tecnica, con un impatto particolarmente marcato in scenari cross-platform e su supporti rimovibili USB. L'assenza di mitigazioni tecniche dirette rende la detection comportamentale l'unica linea di difesa efficace.
In un esercizio red team la tecnica è banale da implementare ma estremamente efficace se combinata con directory di sistema legittime. Su Windows il comando canonico resta attrib +h +s C:\ProgramData\
Un pattern realistico osservato in Tropic Trooper consiste nel creare directory sotto path plausibili come C:\ProgramData\Apple\Updates\ o C:\Users\Public\Documents\Flash\. Per USB drop, Mustang Panda replica la naming convention RECYCLE.BIN nella root del volume, sfruttando il fatto che Windows tratta quel nome come cestino di sistema.
Su Linux la sintassi è più leggera: mkdir /tmp/.cache-systemd && cp implant /tmp/.cache-systemd/.helper. In scenari di privilege escalation è interessante il tool libprocesshider (open source, disponibile su GitHub), usato da Rocke: si tratta di una libreria caricata via /etc/ld.so.preload che intercetta readdir nascondendo processi e file con un prefisso configurabile. Per una simulazione più sofisticata, REPTILE (open source) implementa un LKM rootkit con capacità di occultamento a livello kernel, adatto a lab isolati per validare la copertura EDR.
Su macOS i comandi rilevanti sono chflags hidden /path/file e SetFile -a V /path/file (quest'ultimo richiede Xcode Command Line Tools installato). Per il naming con punto: mv payload .payload replica il pattern di FruitFly, iKitten e Dacls. ThiefQuest aggiunge nove caratteri random dopo il punto per rendere il nome non predicibile.
Per il tooling di supporto in lab: Sysinternals Streams (gratuito) enumera Alternate Data Streams su NTFS, utile per validare se il blue team rileva payload nascosti in ADS come file.txt:hidden.exe. SharPersist (open source) include moduli di persistenza che sfruttano file hidden. Un red teamer maturo evita di lasciare timestamp di creazione anomali: dopo aver piazzato il file, allinea ctime/mtime a quelli della directory padre con touch -r parent_dir /path/.payload per ridurre le anomalie di timeline.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo