Introdução

As Additional Data Streams são também conhecidas como
Alternate Data Streams e Multiple Data Streams. Elas foram criadas originalmente para que dados para a descrição dos arquivos [Meta Data] pudessem ser inseridos facilmente no disco. Elas estão disponíveis em qualquer disco formatado com o NTFS, deste modo nada do que está aqui se aplica para FAT ou para Windows 9x/ME.

Figura 1: Streams

Cada arquivo ou pasta, que está presente na Stream principal, pode possuir várias streams ‘adicionais’. Cada stream adicional tem um nome, que pode ser qualquer coisa. Para que você entenda melhor como funciona as ADS, iremos agora ver como elas funcionam na prática.

ADS no Windows

O Windows cria ADS quando você insere dados de descrição no arquivo. Clique com o botão direito em qualquer arquivo, então clique em Propriedades e procure pela aba Resumo.

Figura 2: ADS no Windows

Inserir dados nesses campos fará com que o Windows crie uma ADS. Veremos isso mais tarde.

ADS na Prática

Crie uma pasta com o nome de Streams na sua unidade C:. Agora abra um Prompt de Comando e digite o seguinte:

CD C:streams

Depois de cada comando, aperte a tecla ENTER para confirmar.

Você deve estar agora na pasta C:streams>. Digite o seguinte comando:

echo conteudo normal > ads.txt

Agora abra o arquivo C:streamsads.txt no Bloco de Notas. Você deve ver o ‘conteudo normal’ na tela. Feche o Bloco de Notas e volte para o Prompt de Comando e digite:

dir

Figura 3

Temos o ads.txt com 18 bytes. Agora digite o seguinte comando no Prompt:

echo conteudo em ads > ads.txt:simples

Os dois pontos separam o nome do arquivo do nome da ADS. No nosso caso, criamos uma stream adicional com o nome de simples. Agora o arquivo ads.txt possui uma stream chamada ‘simples’ ligada a ele. Abra novamente o arquivo no Bloco de Notas e você deve ver somente o “conteudo normal” ainda. Digite novamente o comando dir:

dir

Figura 4

Sim, 18 bytes. O tamanho do arquivo ainda não foi modificado. Agora tente o seguinte comando no Prompt:

more < ads.txt:simples

Figura 5

Isso mesmo! Você tem o conteúdo da sua ADS, simples, na tela. Se você olhar no Windows Explorer não poderá ver qualquer diferença se o arquivo possui ou não um ADS, sendo necessário apagar o ads.txt para remover a stream. Note que as ADS podem possuir mais do que texto, inclusive, código executável (programas). Como o Windows não possui nenhum programa para lidar com ADS, trojans começaram a utilizar ADS para dificultar sua remoção, assim se adicionando como ADS em arquivos cruciais ao Windows, de modo que você não possa simplesmente remover o arquivo e necessite de ferramentas adicionais.

Utilizando o Streams.exe

Existe um programa chamado Streams.exe disponibilizado pela SysInternals que nos permite manipular ADS. Faça o download do streams.zip e tire o arquivo streams.exe e coloque-o na pasta do sistema, geralmente c:windowssystem32 ou c:winntsystem32.

Crie um novo arquivo na pasta c:streams com o nome de streams.txt. Crie ele com zero bytes (arquivo branco). Agora clique com o botão direito nele e vá em Propriedades e na aba Resumo. Preencha todos os campos com quaisquer dados que você quiser.

Abra novamente um Prompt de Comando. Digite o comando:

CD C:streams

Agora você está no C:Streams. Digite o comando:

streams streams.txt

Figura 6

Lá estão as ADS criadas pelo Windows quando você preencheu as informação de Resumo. O comando -d do streams.exe pode ser usado para remover as streams de um arquivo especificado, portanto tente o comando:

streams -d streams.txt

Com isso, as streams serão removidas do arquivo. Vá até a aba Resumo do arquivo novamente para ver que as informações que você colocou ali sumiram. Agora você pode apagar a pasta streams e o arquivo streams.txt.

Outros usos de ADS

ADSs também são usadas por antivírus. O Kaspersky por exemplo utiliza uma stream com o nome de KAVICHS para guardar as informações de scanning do arquivo.

Além disso, pastas também podem ter ADS. É possível utilizar comandos do tipo:

echo teste > C:streams:teste

Considerações Finais

Como você conseguiu ver, as ADS não são contadas junto com o tamanho dos arquivos. Além disso, é possível colocar dados binários e código executável nelas para que seja mais difícil de remover certos trojans e worms. O Windows não possui ferramentas boas para lidar com streams — o comando DEL do prompt, por exemplo, não é capaz de remover somente o ADS, ou seja, com ele você precisa apagar o arquivo todo para que o ADS seja removido.

Certos trojans se adicionam como ADS na pasta system32 ou em vários arquivos do Windows. Apagar a pasta system32 não é uma boa idéia, portanto se faz necessário uma ferramenta como o streams.exe, que você aprendeu a usar, ou o HijackThis, que possui uma ferramenta embutida, o ADS Spy, que é capaz de remover ADS.

Escrito por Altieres Rohr

Editor da Linha Defensiva.