Tutorials

🕵️ 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

#exploitation#post-exploitation#windows

🕵️ 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

bash
<file_principale>:<nome_stream>

✅ Esempio: Scrivere uno script nascosto dentro ADS

bash
echo MaliciousCode > innocuo.txt:backdoor.txt

In questo caso, backdoor.txt è uno stream alternativo nascosto dentro innocuo.txt.

✅ Eseguire un file eseguibile nascosto

bash
notepad innocuo.txt:backdoor.txt

(se il contenuto è compatibile, es. un .txt o script interpretabile)

✅ Eseguire un binario (con interprete esplicito)

bash
start .\innocuo.txt:malware.exe
Nota: Alcuni antivirus moderni monitorano questi comportamenti e potrebbero bloccare l'esecuzione.

🔎 Rilevazione di ADS

🧰 Utilizzo del comando dir con flag /R

bash
dir /R

Questo mostra tutti gli ADS presenti in una directory (solo su NTFS).

🧰 Utilizzo di Sysinternals - Streams.exe

bash
streams.exe C:\Users\Target\Documents

Mostra 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.exe o 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.