Alternate Data Stream (ADS) - código malicioso

Postagem de conteúdo sobre pentest
Post Reply
User avatar
51M0N
Admin
Admin
Posts: 845
Joined: Fri Jan 02, 2015 2:06 pm

Alternate Data Stream (ADS) - código malicioso

Post by 51M0N » Mon Aug 17, 2015 7:10 pm

Fala galera ando meio sumido, mas segue essa técnica que estava perdida em meus arquivos, compartilhando por aqui....eheheh
_____________________

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.

Image

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:

Image

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.

Image

Algumas outras técnicas:

Image

Code: Select all

C:\ads>echo arquivo 1 > arq1.txt
C:\ads>echo arquivo 2 > arq1.txt:arq2
C:\ads>more < arq1.txt::$DATA
arquivo 1
C:\ads>more < arq1.txt:arq2:$DATA
arquivo 2
C:\ads>
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.

Image

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
"Você, eu, nem ninguém vai bater tão duro como a vida. Mas não se trata de bater duro. Se trata de quanto você aguenta apanhar e seguir em frente (...). É assim que se consegue vencer." by Rocky Balboa

User avatar
Kodo no Kami
Admin
Admin
Posts: 638
Joined: Fri Jan 02, 2015 1:56 pm
Contact:

Re: Alternate Data Stream (ADS) - código malicioso

Post by Kodo no Kami » Tue Aug 18, 2015 12:20 am

ads sempre foi massa brincar lembro que uma vez fiz ate um codigo em c para ler e escrever stream dos arquivos, um programa bom para ver o ads tambem é o filealyzer https://www.safer-networking.org/products/filealyzer/
Image

Conheça o sistema e manipule ele, se limite ao sistema e seja manipulado por ele ~kodo no kami

meu perfil yahoo

User avatar
51M0N
Admin
Admin
Posts: 845
Joined: Fri Jan 02, 2015 2:06 pm

Re: Alternate Data Stream (ADS) - código malicioso

Post by 51M0N » Tue Aug 18, 2015 8:15 am

Kodo no Kami wrote:ads sempre foi massa brincar lembro que uma vez fiz ate um codigo em c para ler e escrever stream dos arquivos, um programa bom para ver o ads tambem é o filealyzer https://www.safer-networking.org/products/filealyzer/
legal mano, depois se tiver com o codigo ai ainda manda ai pra nos ..ehehhe.. n sabia desse programa vou testar aqui =)
"Você, eu, nem ninguém vai bater tão duro como a vida. Mas não se trata de bater duro. Se trata de quanto você aguenta apanhar e seguir em frente (...). É assim que se consegue vencer." by Rocky Balboa

Post Reply

Return to “Pentest”