🕵️ Alternate Data Streams (ADS) - Guida Completa
Alternate Data Streams ADS è una funzionalità del file system NTFS introdotta per garantire la compatibilità con il file system HFS di MacOS. Ogni file su NTFS può contenere più stream di dati: - Main
🕵️ Alternate Data Streams (ADS) - Guida Completa
📌 Cos'è l'Alternate Data Stream (ADS)?
Alternate Data Streams (ADS) è una funzionalità del file system NTFS introdotta per garantire la compatibilità con il file system HFS di MacOS. Ogni file su NTFS può contenere più stream di dati:
- Main stream (data stream): Contiene i dati "visibili" del file.
- Alternate streams (resource streams): Possono contenere metadati, contenuti nascosti o addirittura codice eseguibile.
Questi stream alternativi non sono visibili tramite i classici comandi di file listing come dir o ls, e vengono spesso usati per scopi di evasione da parte di attaccanti.
🎯 Obiettivi degli attaccanti nell'uso degli ADS
- Nascondere payload o script all'interno di file apparentemente innocui.
- Evitare antivirus basati su firme e static analysis.
- Bypassare i controlli degli utenti e degli amministratori.
- Persistenza e lateral movement in ambienti compromessi.
⚙️ Creazione e uso degli ADS
📁 Sintassi
<file_principale>:<nome_stream>✅ Esempio: Scrivere uno script nascosto dentro ADS
echo MaliciousCode > innocuo.txt:backdoor.txtIn questo caso, backdoor.txt è uno stream alternativo nascosto dentro innocuo.txt.
✅ Eseguire un file eseguibile nascosto
notepad innocuo.txt:backdoor.txt(se il contenuto è compatibile, es. un .txt o script interpretabile)
✅ Eseguire un binario (con interprete esplicito)
start .\innocuo.txt:malware.exeNota: Alcuni antivirus moderni monitorano questi comportamenti e potrebbero bloccare l'esecuzione.
🔎 Rilevazione di ADS
🧰 Utilizzo del comando dir con flag /R
dir /RQuesto mostra tutti gli ADS presenti in una directory (solo su NTFS).
🧰 Utilizzo di Sysinternals - Streams.exe
streams.exe C:\Users\Target\DocumentsMostra tutti gli ADS presenti nei file e consente anche di rimuoverli.
🧨 Tecniche di attacco con ADS
1. Fileless execution
Caricare un payload all'interno di uno stream e poi eseguirlo tramite interprete o script loader.
2. Staging di malware
ADS può contenere porzioni di malware che verranno richiamate successivamente da un dropper.
3. Persistence mechanism
Alcuni attaccanti salvano payload o script in ADS e poi li schedulano tramite chiavi di registro o schtasks.
4. Data exfiltration
Tecnica avanzata in cui dati sensibili vengono compressi e nascosti in ADS per essere esfiltrati senza apparire in modo visibile nel file system.
🔐 Difesa e mitigazione
- Monitoraggio regolare con
streams.exeo tool SIEM per la ricerca di ADS sospetti.
- Configurare GPO e policy di audit per registrare l'accesso a file con stream multipli.
- Utilizzare antivirus con supporto per ADS detection.
- Limitare i privilegi di scrittura/esecuzione su directory critiche.
🧭 Collegamenti correlati
- [[Post-Exploitation su Windows]]
- [[Tecniche di evasione AV]]
- [[Sysinternals Toolkit]]
- [[Persistence Techniques]]
📝 Note Finali
Alternate Data Streams rappresentano un meccanismo subdolo e poco noto di nascondere contenuti all'interno del file system. In contesto post-exploitation, il loro utilizzo è particolarmente efficace quando combinato con tecniche di persistenza e attacchi fileless.
Una buona difesa è la conoscenza: monitorare, auditare e comprendere le caratteristiche intrinseche del sistema operativo può fare la differenza nella rilevazione e prevenzione di queste tecniche.