Fileless malware: um olhar além da rede
A cibersegurança é uma corrida armamentista, com ferramentas defensivas e treinamento que levam os atores da ameaça a adotar técnicas de intrusão ainda mais sofisticadas e evasivas, enquanto tentam se firmar nas redes das vítimas. A maioria dos serviços modernos de proteção de endpoint (EPP) são capazes de identificar facilmente as cargas de malware tradicionais à medida que são baixadas e salvas no endpoint, o que significa que os invasores agora se voltaram para técnicas de malware sem arquivo, ou fileless malware, que nunca tocam o armazenamento da vítima.
Então, vamos nos aprofundar em fileless malware e examinar uma infecção de endpoint do mundo real para ilustrar as principais práticas de defesa que você precisa implementar hoje.
Noções básicas sobre como o fileless malware funciona
Malware sem arquivo é um nome um tanto impróprio, pois pode começar com um arquivo (e geralmente começa). Embora o malware tradicional contenha a maior parte de seu código malicioso em um arquivo executável salvo na unidade de armazenamento da vítima, as ações maliciosas do malware sem arquivo residem apenas na memória.
Quando se trata de malware tradicional, excluir o executável significa excluir a infecção. Isso torna mais fácil para as soluções de EPP identificar e desinfectar rapidamente. O malware sem arquivo, por outro lado, usa apenas o arquivo inicial “dropper” (geralmente um documento do Office ou algo semelhante) para abrir uma ferramenta de gerenciamento de sistema integrada como o PowerShell e executar um pequeno script. Em seguida, ele se esconde de ferramentas defensivas, injetando seu código malicioso em outros processos, o tempo todo sem tocar na unidade de armazenamento da vítima.
Parte do motivo pelo qual o malware sem arquivo se tornou uma técnica de ataque tão popular é que é extremamente difícil identificar e bloquear com precisão os estágios iniciais desses ataques sem acionar acidentalmente falsos positivos e evitar que as mesmas ferramentas realizem atividades legítimas.
Fileless malware em ação fora da rede
Embora a maioria do malware sem arquivo comece com alguma forma de arquivo dropper, existem variantes mais evasivas que realmente não exigem um arquivo. Essas instâncias geralmente se originam em uma de duas maneiras: 1) explorando uma vulnerabilidade de execução de código em um aplicativo ou 2) (e mais comumente) usando credenciais roubadas para abusar dos recursos de um aplicativo conectado à rede para executar comandos do sistema.
Recentemente, foi identificada uma infecção em andamento que usava a última técnica. Foi investigado um alerta gerado por meio do console de caça de ameaças e reunidos indicadores e telemetria de um endpoint de servidor no ambiente da vítima para identificar e corrigir a ameaça antes que ela atingisse seu objetivo.
Esta infecção em particular teve um ponto de entrada incomum: o Microsoft SQL Server da vítima. Embora a função principal do SQL Server seja armazenar registros de dados, ele também inclui procedimentos capazes de executar comandos do sistema no servidor subjacente. E enquanto as melhores práticas da Microsoft aconselham o uso de contas de serviço com privilégios limitados, muitos administradores ainda implantam o SQL Server com contas de nível de sistema elevadas, dando ao aplicativo de banco de dados e qualquer comando que ele execute controle livre sobre o servidor.
Antes de iniciar o ataque, o ator da ameaça obteve credenciais para acessar o SQL Server. Embora não se tenha certeza de como eles os adquiriram, é provável que tenha sido por meio de um e-mail de spear-phishing ou simplesmente forçando a entrada deles atacando credenciais fracas. Depois de terem acesso à execução de comandos SQL, os invasores tiveram algumas opções potenciais para iniciar comandos no sistema subjacente.
O método mais comum (de longe) é habilitar e usar o procedimento xp_cmdshell. Os invasores usaram essa abordagem ou (menos provável) carregaram seu próprio shellcode no mecanismo do SQL Server para copiar o aplicativo Windows PowerShell (PowerShell.exe) para o diretório Temp do servidor com o novo nome sysdo.exe. Renomear o aplicativo PowerShell antes de usá-lo foi uma tentativa de escapar das regras de detecção que não olham além do nome do aplicativo ao tentar detectar a execução do comando PowerShell.
Depois de criar a versão disfarçada do PowerShell, eles executaram o seguinte comando codificado e ofuscado (redigido por segurança) como o primeiro estágio da intrusão:
O comando ficou um pouco mais fácil de entender depois de decodificado e desofuscado:
O script do PowerShell acabou sendo muito básico. Ele primeiro faz uma solicitação da Web a um domínio malicioso e baixa a carga útil do segundo estágio, um arquivo de texto denominado nc.txt. O conteúdo desse arquivo de texto era outra payload do PowerShell, desta vez codificado em Base64. O script decodifica a nova carga útil e a executa usando o módulo Invoke-Expression. O ator da ameaça incluiu alguma ofuscação secundária adicional ao não chamar Invoke-Expression diretamente e, em vez disso, acessá-lo por meio de seu alias usando GAL I * X (Get-Aliases IEX).
A payload do segundo estágio foi uma versão ligeiramente modificada do popular módulo Invoke-ReflectivePEInjection do PowerSploit. Após a execução, o segundo estágio chama o mesmo domínio malicioso e baixa o terceiro estágio, um binário DLL chamado duser.dll.
Usando o módulo PowerSploit de reflective injection, o script PowerShell é capaz de carregar a DLL na memória e executá-la. Este binário de terceiro estágio acabou sendo um criptominer genérico, que teria usado os extensos recursos de processamento do SQL Server para minerar criptomoeda se não tivéssemos sido capazes de detectar e bloquear o ataque.
Rechaçando o fileless malware
Por fim, foi preciso identificar a intrusão por meio de uma variedade de métodos, incluindo a avaliação do comportamento do processo e o reconhecimento do criptominer. Uma vez que o agente da ameaça nunca tocou a unidade de armazenamento do servidor da suposta vítima ao longo de todo o ataque, as defesas de endpoint que apenas monitoram os arquivos teriam perdido completamente.
O uso do fileless malware continuará crescendo em prevalência daqui para a frente, à medida que ferramentas como o PowerSploit tornam mais fácil para os cibercriminosos iniciantes lançarem ataques evasivos. Para combater a ameaça, concentre-se na implantação de soluções de segurança EPP e Endpoint Detection and Response (EDR) capazes de identificar indicadores que existem apenas na memória.
Também é essencial que você promova práticas de senha fortes em toda a sua empresa, apoiadas por autenticação multifator sempre que possível, para evitar que o roubo de credenciais inicie um ataque. Combinadas, essas estratégias podem ajudar a reduzir significativamente o risco de sofrer uma violação devido ao malware sem arquivo fora da rede.