Por Threat Intelligence Team

Este blogpost apresenta uma definição sobre utilitários nativos de sistemas operacionais que são frequentemente abusados para conduzir diversas etapas de ataques. Os Binários e Scripts Living-off-the-Land (LOLBins) têm sido empregados com abrangência em campanhas de adversários cada vez mais sofisticados. Será apresentado um panorama sobre como as ameaças operam estes recursos para infectar vítimas e diminuir rastros de sua infecção.

1. Introdução

  • Ferramentas nativas de sistemas operacionais, ao longo dos anos, se popularizaram e tornaram-se mecanismos preponderantes nas mãos de atacantes que as combinam com malwares.
  • Usados por uma gama abrangente de atores, as diferentes combinações de campanhas maliciosas com estes recursos têm visado principalmente formas de tornar as ameaças mais furtivas, evadindo mecanismos de segurança.
  • Vários executáveis nativos de sistemas operacionais Windows, macOS e Linux vêm sendo empregados de forma maliciosa em larga escala e a equipe de Threat Intelligence da Tempest tem documentado diversas ameaças usando LOLBins em níveis e etapas distintas de ataques.
  • Antivírus e métodos de verificação de arquivos podem não entregar uma cobertura significativa das táticas, técnicas e procedimentos (TTP) que contemplam o uso de LOLBins, tornando necessária uma análise mais profunda, de modo a criar heurísticas que consigam diferenciar comportamentos anômalos do uso legítimo.

2. Definição

LOLBin é um termo utilizado como referência a quaisquer executáveis que já fazem parte do sistema operacional (SO). Este conceito pode ser estendido para o uso de scripts, bibliotecas e softwares, compreendendo os Binários, Scripts e Bibliotecas Living-off-the-Land (LOLBAS). Os Living-off-the-Land (LOLs) são utilitários legítimos, como os já populares powershell.exe, bitsadmin.exe, certutil.exe e psexec.exe do Windows.

Cada vez mais utilizados por agentes maliciosos, estes executáveis se tornam atrativos por dar a invasores a capacidade de contornar mecanismos de segurança e entregar arquivos ou payloads maliciosos sem a necessidade de modificar ou criar objetos dentro do sistema de arquivos ou através de algum processo já em execução no dispositivo. Um LOL se torna atrativo para os adversários quando alguma funcionalidade oferecida pelo utilitário pode ser reaproveitada para atividades mal-intencionadas e permita que esse comportamento se misture à outras atividades de uso regular, permanecendo ocultas, já que a sua execução aparentemente é benigna a priori.

3. Perspectiva dos atacantes

O monitoramento do time de Cyber Threat Intelligence (CTI) da Tempest reportou no mês de maio de 2021 uma campanha de phishing disseminando o ransomware Qakbot que, em sua cadeia de infecção (Figura 1), entregava um documento Excel carregando macro responsável por baixar uma DLL maliciosa através do utilitário rundll32.exe e em seguida extrair um payload de estágio final para iniciar o processo de encriptação.

Figura 1 – Processo de entrega e infecção do Qakbot. Imagem: Tempest.

 

Regularmente o monitoramento de CTI tem identificado o uso destas técnicas por cibercriminosos na América Latina, como Casbaneiro, Prilex e principalmente o Astaroth, documentado também pela Microsoft, em Julho de 2019[1], em relatório sobre campanha que entregavam um trojan fileless do Astaroth em campanha iniciada em 2018, abusando da linha de comandos e do gerenciamento do Windows (WMIC) para se instalar e executar o malware em segundo plano.

Nossos especialistas observaram no final do ano passado uma campanha massiva do Astaroth, visando expandir seus alvos e alcançando mais de 1 milhão de e-mails em um único dia de atividade. O processo de infecção utiliza um JScript executado através do processo do Windows wscript.exe. Os acatacantes se beneficiam também do processo legítimo bitsadmin.exe, que baixará um arquivo .EXE e DLLs dos servidores de comando e controle (C2).

Em campanha[2] noticiada no início deste ano, abordamos variante do Astaroth que passou integrar e realizar solicitações através do Finger[3], utilitário do Windows desenvolvido para gerenciamento de hosts e usuários remotos. Segundo os dados de telemetria da Tempest, as campanhas utilizando o finger.exe disseminavam uma URL que, ao ser acessada, executa um comando javascript para explorar web sites alvos e realizar ataques cross-site scripting (XSS). O Finger é o mais recente de uma série de LOLBins empregados em campanhas do Astaroth, enfatizando como a ameaça possui uma infraestrutura dinâmica e capaz de se adaptar através de múltiplos recursos.

O comportamento desses utilitários muitas vezes pode ser ignorado por usuários tradicionais e administradores, principalmente devido ao seu viés legítimo, não apresentando uma mudança de comportamento que caracterize uma atividade atípica ao sistema. Isso pode ser manuseado por adversários nos sistemas das vítimas para monitorar LOLBins e usufruir dos recursos para realizar ataques.

Algumas ameaças optam por escrever malwares que fazem uso dos executáveis mais comuns para ambientes Windows, como scripts PowerShell e utilitários msiexec e psexec. No macOS, temos o osascript[4] como LOLBin amplamente explorado para execução de AppleScripts maliciosos e em ambientes Unix comandos como gdb podem ser invocados em um terminal para carregar arquivos, bibliotecas ou executar comandos para escalar privilégios.

3.1.  Ataques Fileless

Técnicas avançadas conseguem incorporar o uso de LOLs para entregar malwares diretamente em memória.[5] Ou seja, sem gravar arquivos no disco ou no sistema de arquivos. Adverśarios vêm, ao longo dos últimos anos, incrementando o uso de técnicas como esta.

Isso se torna um problema para antivírus e outros[6] produtos de segurança de endpoint, que concentram grande parte de seu monitoramento em arquivos, visando detectar malwares e classificar atividades maliciosas, atualizando e inserindo novas assinaturas constantemente em sua plataforma.

O Relatório de Índice de Risco Corporativo, publicado pela SentinelOne e que se baseou em dados primeiro semestre de 2018[7], já mostrava uma crescente nos ataques fileless na época, com um pico de 94% acima do que era considerado como normal nos endpoints observados anteriormente pela empresa (Figura 2).

Figura 2 – Crescimento de alertas de ataques fileless no primeiro semestre de 2018. Fonte: SentinelOne.

 

Os dados também mostraram que a maioria dos executáveis observados, cerca de 77%, possuem um comportamento ou reputação desconhecida pela maioria dos sistemas de proteção. A natureza destes ataques se traduz no sequestro de ferramentas nativas sem necessariamente deixar rastros reconhecíveis da atividade maliciosa. Muitos destes ataques se baseiam em LOLs e podem ser iniciados através de um documento corrompido ou malicioso que leva à execução de código diretamente na memória de um dispositivo infectado.

Isso significa que o ataque em si pode não ser detectado apenas examinando novos processos, já que o código malicioso acaba sendo executado através do contexto de um processo já existente, deixando pouco ou nenhum rastro da infecção mesmo após ações como reinicialização do sistema de uma vítima.

3.2. Evasão de segurança no Windows

A principal serventia dos LOLs para criminosos vêm da capacidade de contornar permissões, como o User Account Control (UAC), mecanismo de segurança integrado ao Windows que controla o acesso a ao conteúdo de uso privilegiado, demandando de uma validação de credenciais e interação mínima com o usuário.

Adversários podem ignorar o UAC através de LOLs e sequestrar[8] DLLs como a Rundll32, que permite carregar objetos do tipo Component Object Model (COM) com permissões elevadas, não requerendo a validação de identidade por se tratar de um processo que já possui tais privilégios.

Outro mecanismo importante para controle de permissões de aplicativos é o Windows Defender Application Control[9] (WDAC), tecnologia para organizar políticas de permissões. Em 2019[10], no evento Black Hat USA, o pesquisador Casey Smith apresentou uma série de explorações que burlam listas de permissões através do executável dbgsrc.exe, um software[11] assinado pela Microsoft para depuração remota de aplicativos, podendo ser utilizado para monitorar vazamento de memória ou desempenho irregular de software. O executável foi utilizado para obter privilégios elevados no sistema e se comunicar com um servidor C2 via TCP.

O uso do dbgsrv.exe permitiu obter o controle de outro executável, o cbd.exe, entregando a capacidade de iniciar aplicativos e injetar código malicioso. O Microsoft Console Debugger (CDB)[12] também executa processos de depuração e pode ser utilizado por atacantes para alocar uma sessão de memória para processos específicos, ler arquivos ou partes da memória e executar comandos diretamente no prompt do Windows.

O pesquisador esclarece que esta é uma forma bastante sofisticada de ataque, necessitando de conhecimento avançado sobre ferramentas nativas, mas que permite ultrapassar o WDAC, executar binários com privilégios elevados e injetar conteúdo malicioso no sistema da vítima. Existem diversas ferramentas hoje que podem ser abusadas de maneira semelhante, as quais são enumeradas no projeto Ultimate WDAC Bypass List[13], iniciativa de pesquisadores de red team.

Ferramentas como PowerShell, CertUtil e BITSAdmin representam hoje uma parcela mínima dos LOLs para Windows. Repositórios como o LOLBAS[14] já lista 135 possíveis executáveis com funções distintas que podem ser exploradas para efetuar download e upload de conteúdo malicioso, evasão de UAC, cópia de dados e meios para utilizar streams de dados.

A SentinelOne publicou em julho de 2020[15], análise de um novo LOLBin, o desktopimgdownldr.exe, também assinado pela Microsoft, que pode ser usado para acessar objetos do sistema e baixar conteúdo malicioso. Este binário tem como função original permitir a definição da tela de bloqueio para área de trabalho, baixando um arquivo de imagem para uma pasta padrão do sistema.

A pesquisa mostra que o recurso pode ser manipulado até mesmo quando o sistema está bloqueado, escondendo sua execução da vítima. Ao ser iniciado como administrador, o desktopimgdownldr.exe permite que sejam gravados arquivos diretamente no registro do sistema, possibilitando a visualização de objetos da COM e a alteração de seu conteúdo.

4. Monitoramento e detecção

Pela perspectiva da defesa, a combinação de Endpoint Detection Response (EDR) e a análise de logs agregados através de um Security Information Event Management (SIEM) oferece os sinais necessários para criar rotinas para análise de anomalias, permitindo monitorar possíveis invasores utilizando de LOLBins, bloqueando suas atividades baseadas no monitoramento e elaboração de alertas.

A base do projeto Sigma[16] entrega algumas regras e especificações padrão para induzir um modelo de detecção. O formato padrão de uma regra Sigma descreve de maneira genérica como um registro (log) pode ser analisado, definindo campos comuns aos logs e entrega uma estrutura de regra que pode ser convertida para tecnologias de SIEM.

Como exemplo, a F-Secure Labs divulgou em julho de 2020[17], a reprodução de exploração do BITSAdmin e do ExtExport utilizados em uma campanha dos operadores do malware Astaroth para ofuscar arquivos e obter o controle do sistema da vítima.

O BITSAdmin[18] é uma ferramenta de linha de comando do Windows para gerenciar tarefas de download e upload. Este recurso pode ser utilizado para transferir e executar código malicioso através de argumentos que transferem arquivos de um processo para outro, bem como criar arquivos que vão executar processos e adicionar processos à lista de tarefas do bitsadmin.exe.

Por sua vez, o ExtExport trata-se de um utilitário agregado ao Internet Explorer para carregar DLLs como slite3.dll. Atacantes conseguem abusar deste mecanismo para burlar controles do sistema de arquivos do Windows e injetar DLLs maliciosas.

Durante a reprodução da ameaça em ambiente controlado, os pesquisadores da F-Secure usaram o bitsadmin.exe para buscar arquivos de privilégios elevados e carregar um stager, executado também pela ferramenta. O stager executa o conteúdo de um script VBS recuperado do servidor C2, que carrega uma DLL nos registros do sistema. Em etapas finais este mesmo stager acessa argumentos de um arquivo de atalho .LNK que inicia o extexport.exe e permite executar o conteúdo malicioso da DLL, criando uma sessão do Meterpreter no dispositivo da vítima (Figura 3).

Figura 3 – Reprodução de ataque realizado em laboratório. Fonte: F-Secure Labs.

 

A pesquisa discorre sobre algumas formas de detecção e análise forense do fluxo de ataque. Algumas das abordagens genéricas, ideais para o desenvolvimento de mecanismos de detecção e alertas são enumeradas a seguir (Tabela 1).


Tabela 1 – Exemplo de análise de ferramentas para monitoramento. Fonte: F-Secure.

 

5. Comentário do analista

O monitoramento de LOLBins pode gerar grandes volumes de eventos e muitos falsos positivos, por isso é importante definir abordagens específicas para isso, as quais podem considerar uma visão mais genérica para criação de alertas ou mais profunda, comum a investigações forenses. Os exemplos citados em todo o documento seguem o principal comportamento da maioria das ameaças ativas, tendo LOLs mais conhecidos e abusados, baseados em ambientes Windows. Isso não diminui o nível de exposição de outros sistemas e o projeto GTFOBins[23] contempla uma lista extensa, com 258 binários diferentes que podem ser utilizados em atividades maliciosas em ambientes Unix.

Permanecer fora do foco de mecanismos de segurança é um dos principais objetivos de qualquer agente de ameaça e os executáveis nativos já são muito populares em suas campanhas. A capacidade de conhecimento e sofisticação dos atacantes demonstra um esforço mordaz para garantir que seus golpes sejam bem sucedidos.

Por parte das equipes de segurança, é vital continuar a pesquisar e documentar como cada ambiente é utilizado, criando padrões de configuração (hardening) e processos de atualização e detecção de usos indevidos. A equipe de Threat Intelligence da Tempest monitora e cria alguns dos indicadores que podem ser utilizados em conjunto com soluções de EDR e SIEM, aperfeiçoando a forma e o contexto de alertas e agregando mais informações na tratativa e distinção de atividades maliciosas e benignas.

REFERÊNCIAS

[1] Microsoft Discovers Fileless Astaroth Trojan Campaign. Bleeping Computer. 8 Julho 2019. Disponível em: https://www.bleepingcomputer.com/.

[2] New Astaroth techniques focus on anti-detection measures. Tempest Side Channel. 11 Fevereiro 2021. Disponível em: https://www.sidechannel.blog/.

[3] Finger. Microsoft. 16 Outubro 2017. Disponível em: https://docs.microsoft.com/.

[4] OSAScrit. Consultado 24 Maio 2021. Disponível em: https://ss64.com/osx/.

[5] Command and Scripting Interpreter. MITRE ATT&ACK. 27 Abril 2021. Disponível em: https://attack.mitre.org/techniques/.

[6] How Fileless Malware Changes the Way We Treat Cyber Threats. SentinelOne. 4 Setembro 2018. Disponível em: https://www.sentinelone.com/blog/.

[7] S1 Risk Index Report. SentinelOne. 28 Agosto 2018. Disponível em: https://go.sentinelone.com/rs/.

[8] Abuse Elevation Control Mechanism: Bypass User Account Control. MITRE ATT&CK. 22 Julho 2020. Disponível em: https://attack.mitre.org/techniques/.

[9] Visão geral do Windows Defender Application Control e appLocker. Microsoft. 30 Setembro 2020. Disponível em: https://docs.microsoft.com/.

[10] Fantastic Red-Team Attacks and How to Find Them. BlackHat. 8 Agosto 2019. Disponível em: https://www.blackhat.com/us-19/.

[11] DbgSrv Command-Line Options. Microsoft. 23 Maio 2017. Disponível em: https://docs.microsoft.com/en-us/.

[12] Debugging Using CDB and NTSD. Microsoft. 28 Novembro 2017. Disponível em: https://docs.microsoft.com/.

[13] Ultimate WDAC Bypass List. BoHops Github. 6 Novembro 2020. Disponível em: https://github.com/bohops/.

[14] Living Off The Land Binaries and Scripts (and also Libraries). LOLBAS-Project Github. 21 Janeiro 2021. Disponível em: https://lolbas-project.github.io/.

[15] Living Off Windows Land – A New Native File “downldr”. SentinelOne. 2 Julho 2020. Disponível em: https://labs.sentinelone.com/.

[16] Generic Signature Format for SIEM Systems. SigmaHQ Github. 22 Maio 2021. Disponível em: https://github.com/SigmaHQ/sigma.

[17] Attack Detection Fundamentals: Code Execution and Persistence – Lab #1. F-Secure. 3 Julho 2020. Disponível em: https://labs.f-secure.com/blog/.

[18] BITSAdmin. Microsoft. 16 Outubro 2017. Disponível em: https://docs.microsoft.com/.

[19] Bitsadmin Download. SigmaHQ Github. 6 Dezembro 2019. Disponível em: https://github.com/SigmaHQ/.

[20] Suspicious Bitsadmin Job via PowerShell. SigmaHQ Github. 10 Janeiro 2020. Disponível em: https://github.com/SigmaHQ/.

[21] ExtExport.exe DLL Side Loading. F-Secure. 3 Julho 2020. Disponível em: https://labs.f-secure.com/blog/.

[22] NTFS Alternate Data Stream. SigmaHQ Github. 25 Agosto 2020. Disponível em: https://github.com/SigmaHQ.

[23] GTFOBins. GTFOBins Github. 15 Maio 2021. Disponível em: https://gtfobins.github.io/.