Perché diamine NTFS consente eseguibili invisibili?


105

Puoi nascondere qualsiasi file all'interno di un altro file semplicemente digitando:

type sol.exe > container.txt:sol.exe

e per eseguire il file nascosto file basta usare:

start c:\hide\container.txt:sol.exe

Ma la parte pazza di questo è che non aumenta la dimensione del file (quindi è totalmente nascosto).

E se elimini il file con le cose nascoste all'interno, le cose nascoste non vengono eliminate. Usa solo:

more <  container.txt:sol.exe > sol.exe

Perché NTFS lo consente? Sembra il modo migliore per nascondere un virus.


1
bello, sembra mac risorse.
Stefano Borini,

15
peggio ancora, quando si avvia sol.exe in questo modo, il task manager mostra il nome del processo come container.txt
hasen

16
Dovremmo bombardare google in modo che "spaventoso" porti a questa domanda
hasen

4
Finché è in circolazione, è ancora sorprendente imbattersi occasionalmente in sviluppatori AV / altre persone che lavorano pesantemente con il filesystem che STILL non ne è a conoscenza. Non mi aspetto che lo sviluppatore medio di app lo sappia dal momento che non ce n'è bisogno, ma se sei pesante nelle cose del filesystem ... :-)
Brian Knoblauch,

Presumibilmente è anche possibile allegare un ADS a una cartella. È possibile eliminare ADS eliminando la cartella, ma quando la cartella è la radice dell'unità, non è possibile eliminare l'unità C: ad esempio, senza riformattare l'unità. Sembra un meccanismo per creare un virus rootkit nascosto per me (?).
HighTechGeek,

Risposte:


98

Ci sono due lati di questa domanda. Il primo è il motivo per cui esiste questa funzione, e il secondo è perché la GUI (o il prompt dei comandi) non semplifica la visualizzazione e la gestione della funzione.

Esiste perché è utile. Diverse altre piattaforme supportano più flussi di dati per file. Sul Mac, erano chiamati forchette , per esempio. Sono ragionevolmente sicuro che esistessero cose simili nel mondo dei mainframe, ma oggi non posso mettere le dita su esempi espliciti.

Su Windows moderno, viene utilizzato per contenere attributi aggiuntivi per un file. Potresti notare che la casella Proprietà disponibile da Esplora risorse ha una scheda Riepilogo che in Visualizzazione semplice (sono su Windows XP, il tuo chilometraggio differirà sugli altri gusti) include un mucchio di campi utili come Titolo, Oggetto, Autore e così via. I dati vengono archiviati in un flusso alternativo, anziché creare una sorta di database side-car per contenere tutto ciò che verrebbe separato dal file troppo facilmente.

Un flusso alternativo viene anche utilizzato per contenere il marcatore che indica che il file proviene da un'origine di rete non attendibile che viene applicata da Internet Explorer e Firefox durante i download.

La domanda difficile è perché non esiste un'interfaccia utente migliore per notare l'esistenza dei flussi e perché è possibile inserire contenuti eseguibili e, peggio, eseguirli in seguito. Se c'è un bug e un rischio per la sicurezza, eccolo qui.

Modificare:

Ispirato da un commento a un'altra risposta, ecco un modo per scoprire se la protezione antivirus e / o antimalware è a conoscenza di flussi alternativi.

Ottieni una copia del file di prova EICAR . Sono 68 byte di testo ASCII che risulta essere anche un eseguibile x86 valido. Sebbene completamente innocuo, è stato concordato dall'industria anti-virus di essere rilevato come se fosse un vero virus. Gli autori hanno pensato che testare il software AV con un vero virus sarebbe stato un po 'troppo simile a testare l'allarme antincendio accendendo il cestino dei rifiuti ...

Il file EICAR è:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Salvalo con l'estensione .COMe verrà eseguito (a meno che il tuo AV non stia prestando attenzione) e stamperà un saluto.

Sarebbe informativo salvarlo in un flusso di dati alternativo ed eseguire una scansione ...


11
In base alla progettazione, la dimensione del file visualizzata mostra solo la dimensione del flusso $ DATA principale. Questo è anche ciò che di solito vuoi. Non includere anche la lunghezza del nome del file (che è un tipo di metadati) nella dimensione del file. Per quanto riguarda essere un rischio per la sicurezza. Gli annunci non sono più un rischio di quanto non lo sia qualsiasi singolo file. Non ho mai sentito parlare di malware che si è diffuso / nascosto con successo con questi meccanismi.
Joey,

4
Non è possibile eseguire accidentalmente un eseguibile archiviato in un ADS di un file di testo. È ben nascosto, troppo ben nascosto per essere eseguito accidentalmente da un utente comune. Dovresti prima essere compromesso.
R. Martinho Fernandes,

7
@ashh: Martinho lo inchioda - l'oscurità che rende difficile trovare un eseguibile su un flusso del genere rende anche difficile eseguirne uno senza tentare attivamente. In contrasto con questo, per esempio, l'intero fiasco delle "estensioni di file nascoste", dove i file eseguibili potrebbero apparire, diciamo, file di testo nella GUI ... ed essere comunque eseguiti molto facilmente.
Shog9

3
Supponendo che tu abbia un AV che presti almeno attenzione in tempo reale al file .COM, non saresti in grado di collegarlo come ADS in quanto l'AV ti impedirebbe di accedere al file .COM (il collegamento come ADS richiede uno per accedere al file). Dovresti comunque essere in grado di allegare un file di testo con la stringa EICAR e nominarlo con un'estensione .COM all'interno dell'ADS. vale a dire digitare EICAR.txt> test.txt: EICAR.COM
KTC

2
Fatto interessante sul file EICAR.COM: non funzionerà su nessuna versione di Windows a 64 bit, quindi immagino che questo trucco non funzionerà più una volta che tutti saranno su macchine a 64 bit (che probabilmente durerà ancora un po ').
Kredns,

15

Questa funzionalità è necessaria per una funzionalità multipiattaforma di Windows Server: servizi per mac.

Ciò consente a un server Windows in esecuzione sulla condivisione NTFS di Mac tramite AFP. Affinché questa funzione funzioni, il file system NTFS deve supportare le forcelle e lo ha fin dal primo giorno.

E prima di chiedere, questa funzione è ancora utilizzata? Sì, ce l'ho in esecuzione e in uso quotidianamente su un server in un client che supporto.

Il principale problema di sicurezza arriva quando le persone e le applicazioni dimenticano o non si rendono conto che è lì.

Probabilmente dovrebbe esserci un'opzione per includere le forcelle nella dimensione totale del file o mostrarle in Windows Explorer.


2
Se hai intenzione di votare male, lascia un commento sul perché.
Bruce McLeod,

2
Questo suona come una ragione completamente plausibile per la funzionalità di esistere in primo luogo.
RBerteig,

3
l'aggiunta di questa funzione semplicemente per consentire la condivisione di file per Mac non sembra un motivo plausibile. La condivisione in rete non richiede che il file sia archiviato intatto sul lato server. Ho visto diversi * nix server di condivisione Apple che dividevano il file in dati e informazioni sulle risorse. Questo è trasparente per il cliente. La modifica del formato effettivo dell'unità solo per consentire AFP non sembra realistica. Potrebbe essere un bel vantaggio, ma non come il MOTIVO di questa funzione.
Simurr,

2
Sì, sto pensando [citazione necessaria] se hai intenzione di affermare che SfM è il motivo principale per cui MS ha implementato gli ADS in NTFS.
Afrazier

3
Citazioni trovate: ... Funzionalità ADS originariamente concepite per consentire la compatibilità con il Macintosh Hierarchical File System, HFS ; dove le informazioni sui file sono talvolta biforcute in risorse separate. I flussi di dati alternativi sono stati utilizzati in modo legittimo da una varietà di programmi, incluso il sistema operativo Windows nativo per archiviare informazioni sui file come attributi e archiviazione temporanea. fonte: windowsecurity.com/articles/Alternate_Data_Streams.html
JamesBarnett,

5

Immagino che uno degli usi principali (forse anche l'uso previsto) sia quello di consentire in modo trasparente l'aggiunta di qualsiasi tipo di metadati a un file. Il motivo per cui la dimensione del file non cambia è in questo scenario che non si desidera che il file appaia o si comporti in modo diverso per timore che l'applicazione di origine si basi su un aspetto dell'aspetto del file.

Potrei immaginare usi interessanti negli IDE, ad esempio, in cui a volte sono coinvolti più file per formare una singola unità (file di codice / file di modulo, ecc.), Che possono essere allegati al file originale in questo modo in modo che non possano essere accidentalmente separati.

Credo anche che ci sia un comando per trovare tutti questi "allegati" in un determinato albero di directory, quindi non sono in realtà completamente nascosti. Mi sorprenderebbe anche se i migliori scanner di virus non ne fossero a conoscenza e controllassero queste aree "nascoste", ma si potrebbe verificare collegando di proposito un eseguibile infetto a un file di testo e vedendo se viene rilevato.


Potresti per favore pubblicare un link a un tale eseguibile in modo che io possa provare? ;)
R. Martinho Fernandes,

Ti suggerisco di eseguire AVG sul tuo computer e quindi prendere uno degli eseguibili dalla cartella di quarantena per provare;)
jerryjvl

2
@martinho, vuoi il file di prova EICAR: X5O! P% @ AP [4 \ PZX54 (P ^) 7CC) 7} $ EICAR-STANDARD-ANTIVIRUS-TEST-FILE! $ H + H * Basta incollare quel testo (esattamente 68 byte di testo ASCII, vedi eicar.org/anti_virus_test_file.htm per l'intera storia) in un file chiamato con l'estensione .COM. Verrà eseguito e stamperà un messaggio. A meno che il tuo AV non funzioni, ovviamente. Rilascialo in un flusso di dati alternativo e controlla anche lì.
RBerteig,

@RBerteig: Hey figo ... non sapevo che ci fosse una cosa del genere.
jerryjvl,

@jerryjvl, come si suol dire, batte il test dell'allarme antincendio accendendo il cestino dei rifiuti ...
RBerteig,

5

Ecco un buon articolo sulla potenziale vulnerabilità della sicurezza rappresentata da Alternate Data Streams .


6
<nitpick> È una vulnerabilità, non una minaccia </nitpick>. E non è un grosso problema come sembra. Devi avere già le credenziali per usarlo.
Romandia,

Nessun problema. A proposito, controlla l'ortografia. E ricorda sempre: le minacce sfruttano le vulnerabilità. Le minacce sono di solito persone, ma contano anche le catastrofi naturali e create.
Romandia,

@romandas, quali credenziali hai già bisogno di avere? A casa la maggior parte degli utenti Windows (in particolare XP) esegue i privilegi di amministratore, quindi perché non è un grosso problema come sembra?
Ash,

@ashh, "con un metodo per nascondere ... su un sistema danneggiato". Il sistema deve già essere compromesso in primo luogo per nascondere qualcosa e allo stesso modo per eseguire qualcosa di nascosto in questo modo.
KTC,

5

Bella domanda, non ero adeguatamente a conoscenza di ADS fino allo scorso anno e sono stato uno sviluppatore di Windows per molti anni. Posso garantire che non sono solo su questo.

Per quanto riguarda la possibilità di verificare la presenza di dati alternativi sui file, ho trovato l'utile piccolo strumento chiamato Lads disponibile dal software Frank Heyne. Può elencare ADS su tutti i file in una determinata directory, anche su file crittografati (e anche all'interno di sottodirectory).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.