NTFS Alternate Data Streams: Architettura, Impatti sulla Sicurezza e Strategie di Mitigazione

Su ICTPower.it è stato pubblicato il mio articolo NTFS Alternate Data Streams: Architettura, Impatti sulla Sicurezza e Strategie di Mitigazione dedicato appunto ai NTFS Alternate Data Stream, una funzione del file system NTFS.

Il file system denominato New Technology File System (NTFS) fu introdotto per la prima volta da Microsoft nel 1993 con il rilascio di Windows NT 3.1 che e venne ideato quando Microsoft abbandonò lo sviluppo congiunto con IBM del sistema operativo OS/2 e decise di sviluppare internamente Windows NT, riproponendo alcune delle caratteristiche presenti nel file system HPFS di OS/2.

Tra le varie funzionalità dell’NTFS venne introdotta anche l’Alternate Data Streams (ADS), con l’obiettivo di fornire compatibilità con i client Macintosh. Il file system HFS (Hierarchical File System) utilizzato sui Mac era infatti caratterizzato da una struttura con fork: data fork (contenuto) e resource fork (metadati). Per consentire ad un computer Windows NT di interagire correttamente con file provenienti da macOS, NTFS implementò gli ADS. Ciò permise di conservare i metadati (come icone, risorse, descrizioni, preferenze) associati ai file HFS senza comprometterne il contenuto principale, facilitando la condivisione e l’interoperabilità in ambienti eterogenei Windows / macOS.

Nell’articolo ho volto approfondire l’argomento sotto vari aspetti:

  • Architettura e nomenclatura degli stream.
  • Strumenti pratici per rilevare e gestire gli NTFS ADS
  • Vettori di abuso dei NTFS ADS: esecuzione via LOLBAS, bypass del Mark-of-the-Web, staging/esfiltrazione dati.
  • Mitigazioni operative: EDR/AV, ASR rules, limitazioni agli strumenti LOLBAS, detection basate su ATT&CK T1564.004, hunting con Sysmon/Splunk e preservazione del MOTW.

Durante la scrittura dell’articolo ho scritto anche un’applicazione .NET che realizza un Proof of Concept (POC) di come gli NTFS Alternate Data Streams possono essere utilizzati per occultare dati. 

Il POC, disponibile al seguente repository GitHub ermannog/POC-NTFS-ADS: Proof of Concept of NTFS Alternate Data Stream, realizza un semplice keylogger registrare il log dei tasti premuti su un NTFS Alternate Data Stream dell’eseguibile stesso, per maggiori dettagli vi rimando all’articolo.

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.