Hackers podem explorar a estrutura de isolamento de contêineres do Windows para burlar a segurança de endpoints
31 de Agosto de 2023

Novas descobertas mostram que atores mal-intencionados podem se aproveitar de uma astuta técnica de evasão de detecção de malware e contornar soluções de segurança de endpoints manipulando a Windows Container Isolation Framework.

As descobertas foram apresentadas pelo pesquisador de segurança da Deep Instinct, Daniel Avinoam, na conferência de segurança DEF CON realizada no início deste mês.

A arquitetura de contêiner da Microsoft (e por extensão, o Windows Sandbox) usa o que é chamado de imagem gerada dinamicamente para separar o sistema de arquivos de cada contêiner do host e ao mesmo tempo evitar a duplicação de arquivos do sistema.

É nada mais do que uma “imagem do sistema operacional que possui cópias limpas de arquivos que podem ser alterados, mas links para arquivos que não podem ser alterados que estão na imagem do Windows que já existe no host", reduzindo assim o tamanho geral para um sistema operacional completo.

"O resultado são imagens que contêm 'arquivos fantasma', que não armazenam dados reais, mas apontam para um volume diferente no sistema", disse Avinoam em um relatório compartilhado com o The Hacker News.

"Foi neste ponto que a ideia me ocorreu - e se pudermos usar esse mecanismo de redirecionamento para ofuscar nossas operações de sistema de arquivos e confundir os produtos de segurança?"
É aqui que entra o driver minifiltro Windows Container Isolation FS (wcifs.sys).

A principal função do driver é cuidar da separação do sistema de arquivos entre os contêineres do Windows e o host deles.

O driver lida com o redirecionamento de arquivos fantasmas através da análise dos pontos de reanálise vinculados a eles e das tags de reanálise associadas que identificam unicamente o proprietário, ou seja, o implementador do driver de filtro de sistema de arquivos que realiza processamentos adicionais definidos pelo filtro em um arquivo durante operações de E/S.

Duas dessas estruturas de dados de tag de reanálise usadas pelo filtro de isolamento de contêiner do Windows, segundo a Microsoft, são IO_REPARSE_TAG_WCI_1 e IO_REPARSE_TAG_WCI_LINK_1.

A ideia, em resumo, é fazer com que o processo atual seja executado dentro de um contêiner fabricado e aproveitar o driver de minifiltro para lidar com as solicitações de E/S de forma que ele possa criar, ler, escrever e excluir arquivos no sistema de arquivos sem alertar o software de segurança.

Fonte: Microsoft Vale a pena destacar nesta fase que um minifiltro se conecta à pilha do sistema de arquivos indiretamente, registrando-se no gerenciador de filtro para as operações de E/S que escolhe filtrar.

Cada minifiltro é alocado um valor de "altitude" do tipo inteiro determinado pela Microsoft baseado nos requisitos e ordem de carga do filtro.

O driver wcifs.sys possui uma faixa de altitude de 180000-189999 (especificamente 189900), enquanto os filtros antivírus, incluindo os de terceiros, funcionam numa faixa de altitude de 320000-329999.

Como resultado, várias operações de arquivos podem ser realizadas sem que seus callbacks sejam acionados.

"Porque podemos substituir arquivos usando a tag de reanálise IO_REPARSE_TAG_WCI_1 sem a detecção dos drivers antivírus, o algoritmo de detecção deles não receberá o quadro completo e, portanto, não será acionado", explicou Avinoam.

Isso dito, a realização do ataque requer permissões administrativas para se comunicar com o driver wcifs.sys e ele não pode ser usado para substituir arquivos no sistema hospedeiro.

A revelação vem como a empresa de cibersegurança demonstrou uma técnica furtiva chamada NoFilter que explora a Windows Filtering Platform (WFP) para elevar os privilégios de um usuário a nível de SYSTEM e potencialmente executar código malicioso.

Os ataques permitem o uso do WFP para duplicar tokens de acesso para outro processo, disparar uma conexão IPSec e aproveitar o serviço de Spooler de Impressão para inserir um token SYSTEM na tabela e tornar possível a obtenção do token de outro usuário conectado no sistema comprometido para movimento lateral.

Publicidade

Curso gratuito de Python

O curso Python Básico da Solyd oferece uma rápida aproximação à linguagem Python com diversos projetos práticos. Indo do zero absoluto até a construção de suas primeiras ferramentas. Tenha também suporte e certificado gratuitos. Saiba mais...