Você pode ocultar qualquer arquivo dentro de outro arquivo digitando:
type sol.exe > container.txt:sol.exe
e para executar o arquivo oculto, use:
start c:\hide\container.txt:sol.exe
Mas a parte louca disso é que não aumenta o tamanho do arquivo (por isso está totalmente oculto).
E se você excluir o arquivo com o material oculto, o material oculto não será excluído. Apenas use:
more < container.txt:sol.exe > sol.exe
Por que o NTFS permite isso? Parece ser a melhor maneira de esconder um vírus.
windows
ntfs
virus
alternate-data-stream
Kredns
fonte
fonte
Respostas:
Existem dois lados dessa questão. A primeira é por que esse recurso existe, e a segunda é por que a GUI (ou o prompt de comando) não facilita a visualização e o gerenciamento do recurso.
Existe porque é útil. Várias outras plataformas suportam vários fluxos de dados por arquivo. No Mac, eles eram chamados de garfos , por exemplo. Estou razoavelmente certo de que coisas semelhantes existiam no mundo do mainframe, mas não consigo identificar exemplos explícitos hoje.
No Windows moderno, é usado para armazenar atributos extras para um arquivo. Você pode perceber que a caixa Propriedades disponível no Windows Explorer possui uma guia Resumo que, no modo de exibição Simples (no Windows XP, sua milhagem será diferente nos outros tipos), inclui vários campos úteis, como título, assunto, autor e assim por diante. Esses dados são armazenados em um fluxo alternativo, em vez de criar algum tipo de banco de dados de carro lateral para armazenar tudo o que seria separado do arquivo com muita facilidade.
Um fluxo alternativo também é usado para conter o marcador que diz que o arquivo veio de uma fonte de rede não confiável aplicada pelo Internet Explorer e Firefox em downloads.
A pergunta difícil é por que não existe uma interface de usuário melhor para perceber que os fluxos existem e por que é possível colocar conteúdo executável neles e, pior ainda, executá-lo mais tarde. Se houver um bug e um risco de segurança aqui, é isso.
Editar:
Inspirado em um comentário para outra resposta, eis uma maneira de descobrir se sua proteção antivírus e / ou anti-malware está ciente de fluxos alternativos.
Obtenha uma cópia do arquivo de teste EICAR . São 68 bytes de texto ASCII que também são um executável x86 válido. Embora completamente inofensivo, o setor de antivírus concordou em ser detectado como se fosse um vírus real. Os criadores pensaram que testar o software antivírus com um vírus real seria como testar o alarme de incêndio, acendendo a lixeira em chamas ...
O arquivo EICAR é:
Salve-o com a extensão
.COM
e ele será executado (a menos que seu AV esteja prestando atenção) e imprima uma saudação.Seria informativo salvá-lo em um fluxo de dados alternativo e executar uma verificação ...
fonte
Esse recurso é necessário para um recurso de plataforma cruzada do Windows Server: serviços para mac.
Isso permite que um servidor Windows executando no compartilhamento NTFS para macs via AFP. Para que esse recurso funcione, o sistema de arquivos NTFS precisa oferecer suporte a garfos, e possui desde o primeiro dia.
E antes que você pergunte, esse recurso ainda é usado? Sim, eu o tenho em execução e em uso diariamente em um servidor em um cliente que eu suporte.
O principal problema de segurança ocorre quando pessoas e aplicativos esquecem ou não percebem que está lá.
Provavelmente deve haver uma opção para incluir os garfos no tamanho total do arquivo ou mostrá-los no Windows Explorer.
fonte
Eu imagino que um dos principais usos (talvez até o uso pretendido) seria permitir de forma transparente a adição de qualquer tipo de metadados a um arquivo. O motivo pelo qual o tamanho do arquivo não é alterado é que, nesse cenário, você não deseja que o arquivo tenha aparência ou se comporte de maneira diferente, a menos que o aplicativo de origem se baseie em algum aspecto da aparência do arquivo.
Eu poderia imaginar usos interessantes nos IDEs, por exemplo, onde às vezes vários arquivos estão envolvidos para formar uma única unidade (arquivo de código / arquivo de formulário, etc.), que pode ser anexada ao arquivo original dessa maneira para que eles não possam se separar acidentalmente.
Eu também acredito que existe um comando para encontrar todos esses 'anexos' em uma determinada árvore de diretórios, para que eles não sejam completamente ocultos. Também me surpreenderia se os melhores antivírus não estivessem cientes disso e verificassem essas áreas 'ocultas', mas você pode verificar isso anexando propositadamente um executável infectado a um arquivo de texto e ver se ele é detectado.
fonte
Aqui está um bom artigo sobre a potencial vulnerabilidade de segurança apresentada pelo Alternate Data Streams .
fonte
Boa pergunta, eu não tinha conhecimento adequado de ADS até o ano passado e sou desenvolvedor de Windows há muitos anos. Eu posso garantir que não estou sozinho nisso.
A respeito de poder verificar dados alternativos nos arquivos, encontrei a pequena ferramenta útil chamada Lads disponível no software Frank Heyne. Ele pode listar ADS em todos os arquivos em um determinado diretório, mesmo em arquivos criptografados (e também dentro de subdiretórios).
fonte