quinta-feira, setembro 15, 2005

O Que são Streams NTFS?


Você já ouviu falar de Streams de Dados Alternativos, ou mais comumente chamados streams NTFS, ou ADS?

Bom, uma boa parte dos usuários dos sistemas baseados no NT (Windows NT, Windows 2000 e Windows XP) não sabem o que é. É uma característica pouco documentada também...

Os streams permitem que sejam criados arquivos escondidos completamente do Sistema; você não consegue vê-los usando o Explorer e muito menos usando qualquer outro gerenciador de arquivos ou o prompt de comando.

Para você criar um stream é necessário existir um outro arquivo pelo qual ele está conectado.

Por exemplo: você tem um arquivo chamado mensagem.txt que contém "Eu te amo", e outro arquivo com o mesmo nome que contém "Na verdade nem tanto...", escondido e ligado ao primeiro.

Isso é só um exemplo simples e inocente do que realmente pode ser um stream. Hackers podem até te enviar um arquivo chamado isso.txt e na realidade estar te enviando um outro arquivo virus.exe (escondido) dentro do stream.

Como criar um stream? Criar, ler e escrever em streams é quase a mesma coisa que lidar com um arquivo normal, exceto que os nomes dos streams são compostos de duas partes separadas por dois pontos.

A primeira parte aponta para o arquivo principal do stream (o arquivo que é visível).A segunda parte é o nome do stream.

O notepad é um aplicativo habilitado para streams e você pode usá-lo para criar os seus próprios streams:

Do Windows, clique em Iniciar/Executar, e escreva:
notepad c:\meu_arquivo.txt:meu_stream

Isso vai criar (ou ler se o arquivo já existir) o stream "meu_stream" que é ligado ao arquivo c:\meu_arquivo.txt.

Se você usar um gerenciador de arquivos como o Explorer ou o Total Commander, você vai ver que o c:\meu_arquivo.txt tem 0 bytes de tamanho e o arquivo c:\meu_arquivo.txt:meu_stream não pode ser visto.Qualquer mudança que você fizer ao meu_arquivo.txt não vai afetar o stream "meu_stream". Ou seja "meu_stream" é um armazenamento escondido.

Pode haver mais de um stream ligado ao arquivo principal, e eles não tem limite de tamanho.

Como ver os streams? Com certeza, existem diversas outras ferramentas capazes de procurarem streams, um exemplo é o lns.exe (List NTFS Streams) de linha de comando, que pode ser baixado no ntsecurity.nu, você tem que usá-lo do prompt de comando.

O Total Commander tem um plugin que pode ser usado para ver esses streams: NTFS FileStreams.

Outra opção é um freeware chamado Stream Explorer que pode também ser usado para ver os streams.

Outras informações e mais detalhadas em: NTFS Streams (em inglês) ou no Google.

Nenhum comentário: