Alternate Data Stream (ADS) – código malicioso

Introdução ADS

Alternate Data Stream (ADS) é uma característica do sistema de arquivos NTFS do Windows que fornece a capacidade de colocar dados em arquivos e pastas existentes, sem afetar sua funcionalidade e tamanho, qualquer fluxo associado com o arquivo/pasta não é visível quando visto através de utilitários convencionais, tais como o Windows Explorer ou o comando DIR ou quaisquer outras ferramentas do navegador de arquivos.

Devido a esta natureza de ocultar vários usuários mal intencionados os hackers vêm explorando esse método para armazenar secretamente seus componentes de rootkit no sistema comprometido sem ser detectado. Por exemplo, o Rootkit chamado ‘Mailbot.AZ’ [1] usou essa técnica para esconder seu arquivo de driver na pasta system32 (C:\ Windows\system32) como um stream ‘18467’.

Quando você lê o conteúdo de um arquivo em um volume que não é NTFS você é capaz de acessar apenas um fluxo de dados. Consequentemente, você não vê o verdadeiro conteúdo original desse arquivo. Tal fluxo principal não tem nome e é o único que um sistema de arquivos NTFS não pode ser manipular. No entanto, quando você cria um arquivo em um volume NTFS, as coisas podem ser diferentes. Veja abaixo a estrutura de um arquivo multi-stream.

Imagem

Porque dar importância ao ADS

Usando ADS poderia permitir ignorar o comportamento esperado das aplicações. Leve em conta que os fluxos NTFS são totalmente integrados pelo Windows, o que também implica que a maioria dos componentes web são construir em cima do que ele suporta (PHP, Java e etc), mesmo que os desenvolvedores não estão cientes disso.

Podemos usar os arquivos contendo ADS enviando em uma rede local desde que a unidade de destino está no formato NTFS.

Em certos casos, os fluxos são usadas para explorar servidores remotos web. Se um script do lado do servidor, como PHP ou ASP é executado em um servidor web que não é corrigido corretamente, o codigo-fonte do arquivo ASP/PHP pode ser visto usando uma URL como esta: https://www.site.com/index.asp::$DATA
Essa é uma vulnerabilidade crítica de código-fonte do lado do servidor poderia revelar informações sensíveis, incluindo como o site foi codificado e como as informações estão ocorrendo, com essas informações podemos traçar um determinado ataque específico no servidor.

Ao longo dos anos várias vulnerabilidades foram identificadas em produtos diferentes, isso porque foi relatado a mais de anos como podem ver o CVE-1999-0278[2] e CVE-2010-2731[3].

Sintaxe/Informações internas de ADS – técnicas

<filename>:<stream name>:<stream type> mais informações podem ser vista [4]

Agora vamos digitar alguns comandos básicos para ocultar um arquivo de texto dentro do outro (.txt), veja abaixo:

Imagem

O segundo comando informa o nome do arquivo sucedido por um sinal de “:” assim o nome do arquivo oculto, podemos aplicar esses mesmo conceitos em diretórios é para executáveis.

Imagem

Algumas outras técnicas:

Imagem

0.JPG

Podemos ver na imagem abaixo o uso da opção /B permite que o invasor execute o comando sem abrir uma nova janela, caso a janela fosse aberta poderia alertar o usuário de que algo esta ocorrendo de diferente.
Com isso o atacante tem uma shell na porta 2222 e com isso tem acesso ao sistema a qualquer hora.

Imagem

Em 2009, o ADS foi usado por um Trojan[5] chamado FFSearcher[6], o trojan implantava um arquivo DLL que continha o código malicioso, onde atacada a DLL chamada de Netcfgx.dll que é usada para configuração de rede, com isso o registro era alterado para apontar para o ADS DLL em vez do arquivo DLL normal, os usuários não poderiam ver nenhuma diferença.

Ferramentas/dicas para encontrar ADS

Abaixo algumas ferramentas/dicas para encontrar ADS em sistemas NTFS:

AdsCheck.exe
Lads.exe
LNS – List NTFS Streams
Ads Spy
SFind
Streams.exe
A detecção de ADS usando “dir /R” está disponível foi disponível a partir da versão do windows vista

Referências
[1] http://www.f-secure.com/v-descs/mailbot_az.shtml
[2] https://web.nvd.nist.gov/view/vuln/deta … -1999-0278
[3] https://web.nvd.nist.gov/view/vuln/deta … -2010-2731
[4] https://msdn.microsoft.com/en-us/librar … 2147217396
[5] http://www.cknow.com/cms/vtutor/trojans.html
[6] http://secureworks.com/research/threats/ffsearcher/
Snort IDS and ADS : https://www.linkedin.com/pulse/20140601 … -based-dlp
http://www.symantec.com/connect/article … ta-streams
http://www.windowsecurity.com/articles/ … reams.html
http://blogs.technet.com/b/askcore/arch … -ntfs.aspx
http://vlaurie.com/computers2/Articles/ … treams.htm
http://www.academia.edu/6870459/Advance … _windows_8
https://web.archive.org/web/20150320145 … play&id=53

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s