Anatomia do malware nativo para servidores da web IIS

Os pesquisadores da ESET publicam um white paper no qual analisam detalhadamente uma série de ameaças que visam os servidores da web IIS.

Os pesquisadores da ESET publicam um white paper no qual analisam detalhadamente uma série de ameaças que visam os servidores da web IIS.

Pesquisadores da ESET descobriram um conjunto de famílias de malware, não documentadas anteriormente, que são implementadas como extensões maliciosas para o software de servidor da web Internet Information Services (IIS). Visando servidores de e-mail do governo e sites que realizam transações de comércio eletrônico, bem como auxiliando na distribuição de malware, essa ameaça opera espionando e manipulando as comunicações do servidor.

Além de fornecer uma análise completa das famílias recentemente descobertas, nosso novo white paper, intitulado “Anatomia do malware IIS nativo”, serve como um guia para ajudar a detectar, analisar e mitigar esses tipos de ameaças do lado do servidor. Nesta publicação, resumimos as principais descobertas que descrevemos com mais profundidade neste documento.

Também estamos lançando uma série de postagens que apresentam as famílias de malware para IIS mais notáveis ​​recentemente descobertas, bem como estudos de caso sobre como esse tipo de malware é usado para crimes cibernéticos, espionagem cibernética e fraude do CEO. Além deste artigo no qual apresentamos uma visão geral da pesquisa, você também pode ler o primeiro artigo desta série, intitulado “IIStealer: A server‑side threat to e‑commerce transactions.”

Os resultados de nossa pesquisa de malware para IIS foram apresentados pela primeira vez na Black Hat USA 2021 e também serão apresentados na edição 2021 da conferência Virus Bulletin que será realizada no próximo dia 8 de outubro.

O Internet Information Service, também conhecido pela sigla IIS, é o software para servidor da web do Microsoft Windows que possui uma arquitetura modular extensível e que, desde a versão 7.0, suporta dois tipos de extensões: módulos nativos (DLL em C ++) e gerenciados (montagem .NET). Concentrando-se nos módulos nativos para IIS que são maliciosos, encontramos mais de 80 amostras exclusivas que foram usadas ativamente no contexto de uma campanha e as classificamos em 14 famílias de malware, 10 das quais não haviam sido documentadas anteriormente. As soluções de segurança da ESET detectam essas famílias como Win{32,64}/BadIIS y Win{32,64}/Spy.IISniff.

Como funciona o malware para IIS

O malware IIS é um tipo de ameaça usada para crimes cibernéticos, espionagem cibernética e fraude do SEO, mas em todos os casos, seu principal objetivo é interceptar solicitações HTTP que entram no servidor IIS comprometido e afetam a maneira como o servidor responde a (algumas de) essas solicitações.

Com a instalação padrão, o IIS já é persistente, portanto, o malware baseado em extensão do IIS não precisa implementar mecanismos de persistência adicionais. Depois de configurado como uma extensão do IIS, o módulo malicioso para o IIS é carregado pelo processo de trabalho do IIS (w3wp.exe), que lida com as solicitações enviadas ao servidor. É aqui que o malware direcionado ao IIS pode interferir no processamento da solicitação.

Identificamos cinco modos principais nos quais o malware IIS opera, conforme ilustrado na Figura 1:

  • Os backdoors para IIS permitem que seus operadores controlem remotamente o computador comprometido que possui o IIS instalado
  • Os infostealers (ladrões de informações) para IIS permitem que seus operadores interceptem o tráfego regular entre o servidor comprometido e seus visitantes legítimos, para roubar informações como credenciais de login e informações de pagamento. O uso de HTTPS não evita esse ataque, pois o malware para IIS pode acessar todos os dados manipulados pelo servidor, que é onde os dados são processados ​​em seu estado não criptografado.
  • Os injectors para IIS modificam as respostas HTTP enviadas a visitantes legítimos para fornecer conteúdo malicioso
  • Os proxies para IIS transformam o servidor comprometido em uma parte da infraestrutura C&C para outra família de malware e usam indevidamente o servidor IIS para transmitir a comunicação entre as vítimas desse malware e o servidor C&C real.
  • O malware para IIS, por meio de fraude do SEO, modifica o conteúdo enviado aos mecanismos de pesquisa para manipular algoritmos SERP e melhorar a classificação de outros sites de interesse dos atacantes.
Figure 1. Overview of IIS malware mechanisms

Imagem 1. Visão geral dos mecanismos usados pelo malware para IIS.

Todos esses tipos de malware são analisados de forma detalhada no documento.

Como (e onde) é distribuído

Os módulos nativos para IIS têm acesso irrestrito a quaisquer recursos disponíveis para o processo de trabalho do servidor; portanto, as permissões de nível de administrador são necessárias para instalar o malware nativo para IIS. Isso reduz bastante as opções para o vetor de ataque inicial. Vimos evidências dos dois cenários a seguir:

  • O malware para IIS se propaga como uma versão trojanizada de um módulo IIS legítimo
  • O malware para IIS se propaga através da exploração do servidor

Por exemplo, entre março e junho de 2021, detectamos uma onda de backdoors para IIS sendo propagada por meio da exploração da cadeia de vulnerabilidades do RCE no Microsoft Exchange (CVE-2021-26855, CVE-2021-26857, CVE-2021-26858, e CVE-2021-27065), também conhecido como ProxyLogon. O alvo específico eram os servidores Exchange que tinham o Outlook web (também conhecido como OWA) habilitado. Como o IIS é usado para implementar o OWA, eles eram um alvo particularmente interessante para espionagem.

Depois que relatamos o primeiro caso em março de 2021, detectamos mais quatro campanhas de vários backdoors para IIS buscando explorar a mesma vulnerabilidade no Microsoft Exchange. Para complementar a nossa telemetria, realizamos uma varredura na Internet para detectar a presença desses backdoors, o que nos permitiu identificar e notificar outras vítimas do malware.

A imagem 2 mostra as localizações geográficas dos servidores afetados por essas cinco campanhas, usando dados de nossa telemetria e varreduras de internet.

Figure 2. Victims of native IIS backdoors spread via the ProxyLogon vulnerability chain

Imagem 2. Vítimas de backdoors nativos para IIS que se propagam pela cadeia de vulnerabilidades do ProxyLogon.

As seguintes entidades estavam entre as vítimas:

  • Instituições governamentais em três países do sudeste asiático;
  • Uma grande empresa de telecomunicações no Camboja;
  • Uma instituição dedicada à pesquisa no Vietnã;
  • Dezenas de empresas privadas pertencentes a diversos setores, localizadas principalmente no Canadá, Vietnã e Índia, e outras nos EUA, Nova Zelândia, Coréia do Sul e outros países.

Observe que, embora os backdoors para IIS possam ser adequados para espionar contas de e-mail de alto perfil, as vítimas de malware para IIS não se limitam aos servidores comprometidos; todos os visitantes legítimos de sites hospedados nesses servidores são vítimas em potencial, pois o malware pode ser usado para roubar dados confidenciais do visitante (infostealers para IIS) ou entregar conteúdo malicioso (injectors para IIS). Confira o white paper para obter mais informações sobre as vítimas das outras famílias de malware para IIS analisadas.

Análise do malware nativo para IIS

Do ponto de vista técnico, todos os tipos de malware nativo para IIS são implementados como bibliotecas de vínculo dinâmico (DLLs) escritas usando o API para IIS em C++. Qualquer DLL deste tipo deve:

  • Implementar uma classe herdada da classe CHttpModule ou CGlobalModule (ou ambas) e substituir vários dos métodos dessa classe (controladores de eventos)
  • Exportar a função RegisterModule, que é o ponto de entrada da biblioteca, responsável por criar as instâncias dessas classes e registrar os controladores implementados para os eventos do servidor, conforme ilustrado na Figura 3.
Figure 3. A typical RegisterModule function of native IIS malware

Figura 3. Uma função típica do RegisterModule do malware nativo para IIS.

Os eventos do servidor (server events) referem-se às etapas que o servidor IIS executa durante o processamento da solicitação (veja a Figura 4), mas também a outras ações executadas pelo servidor (por exemplo, enviar uma resposta HTTP). Esses eventos geram notificações de eventos, que são tratadas por controladores de eventos implementados nos módulos do servidor (veja a Imagem 5).

Figure 4. HTTP request-processing pipeline in IIS

Imagem 4. Processamento de solicitações HTTP no IIS.

Resumindo, é nos controladores de eventos (ou nos métodos das classes principais do módulo IIS) onde a funcionalidade maliciosa do malware para IIS é implementada e onde qualquer engenheiro reverso deve focar sua análise. Para se aprofundar nos fundamentos do malware para IIS e como analisar esses binários, confira o capítulo “Anatomy of native IIS malware” de nosso white paper.

Imagem 5. Controladores de eventos: métodos das classes do módulo, CHttpModule e CGlobalModule.

Comunicação de rede

Um recurso notável do malware para IIS é a forma como se comunica com seus operadores. Os módulos maliciosos para IIS, especialmente os backdoors para IIS, raramente criam novas conexões com seus servidores C&C. Eles funcionam como implantes passivos, permitindo que atacantes os controlem, fornecendo algum “segredo” em uma solicitação HTTP enviada ao servidor da web IIS comprometido. É por isso que os backdoors para IIS geralmente possuem um mecanismo para reconhecer as solicitações feitas por atacantes que são usados ​​para controlar o servidor e possuem uma estrutura predefinida, como:

  • URL ou corpo da solicitação que corresponde a uma expressão regular específica;
  • A presença de um cabeçalho HTTP personalizado específico;
  • Um token incorporado (na URL, no corpo da solicitação ou em um dos cabeçalhos) que corresponde a uma senha hardcodeada;
  • Um valor hash de um token incorporado que corresponde a um valor hardcodeado;
  • Uma condição mais complexa, por exemplo, uma relação entre todos os itens acima.
Figure 6. Passive C&C communication channel (IIS backdoors)

Imagem 6. Canal de comunicação C&C passivo (backdoors para IIS)

Por outro lado, algumas categorias de malware para IIS implementam um canal C&C alternativo – usando protocolos como HTTP ou DNS – para obter as configurações atuais em tempo real. Por exemplo, um injetor para IIS contata seu servidor C&C toda vez que há uma nova solicitação de um visitante legítimo para o site comprometido e usa a resposta do servidor para modificar o conteúdo entregue a esse visitante (como código malicioso ou adware).

Figure 7. Alternative C&C communication mechanism (IIS injectors)

Imagem 7. Mecanismo alternativo de comunicação com o C&C (injectors para IIS)

A Tabela 1 resume como os canais de comunicação com o C&C, bem como outras técnicas notáveis, são implementados pelas 14 famílias de malware para IIS analisadas.

Group #
Functionality
C&C channel
Detection evasion and obfuscation techniques
BackdoorInfostealerProxySEO fraudInjectorAttacker request verification (e.g. specific header present, specific URI, query string parameter)Encryption/
encoding
Alternative channel protocol
Group 1HTTP header with hardcoded passwordbase64
Group 2HTTP header with hardcoded passwordRSA + AES-CBC
Group 3HTTP header presentbase64
Group 4HTTP header with hardcoded passwordXOR + base64Anti-logging
Group 5URI and HTTP header with hardcoded passwordString stacking
Group 6Query string parameter
Group 7Relationship between HTTP headers, HTTP body formatAES-CBCAnti-logging
Group 8HTTP header with hardcoded password
Group 9No support for attacker requestsHTTPEncrypted strings (XOR 0x56)
Group 10No support for attacker requestsHTTP to obtain JavaScript config
Group 11HTTP header with hardcoded passwordDNS TXT to obtain config, HTTP for C&CString encryption (ADD 0x02)
Group 12, variant AHTTP header with password whose MD5 hash is hardcodedHTTPString encryption (ADD 0x01)
Group 12, variant BHTTPUPX packing
Group 12, variant CNo support for attacker requestsHTTPString encryption (XOR 0x0C)
Group 13Query string parameterHTTP
Group 14No support for attacker requestsHTTP

Tabela 1. Resumo das ofuscações implementadas e as funcionalidades suportadas pelas famílias de malware para IIS analisadas.

Mitigação

Como os módulos nativos para IIS só podem ser instalados com privilégios de administrador, os atacantes devem primeiro obter acesso elevado ao servidor IIS. As dicas a seguir podem fazer com que o seu trabalho seja mais difícil:

  • Use contas dedicadas com senhas exclusivas e fortes para a administração do servidor IIS. Solicite autenticação multifator (MFA) para essas contas. Monitore o uso dessas contas.
  • Instale periodicamente atualizações de segurança para o seu sistema operacional e analise cuidadosamente quais serviços são expostos àiInternet para reduzir o risco de exploração do servidor.
  • Considere o uso de um firewall de aplicativo da web e/ou solução de segurança de endpoint em seu servidor IIS.
  • Os módulos nativos para IIS têm acesso irrestrito a quaisquer recursos disponíveis para o processo de trabalho do servidor. Neste caso, é necessário instalar módulos IIS nativos de fontes confiáveis ​​para evitar o download de versões trojanizadas. Esteja especialmente atento aos módulos que prometem recursos muito bons para ser verdade, como aprimorar o SEO de forma mágica.
  • Verifique regularmente a configuração do servidor IIS para verificar se todos os módulos nativos instalados são legítimos (assinados por um fornecedor confiável ou instalados propositalmente).

Para obter mais detalhes sobre como detectar e remover o malware para IIS, confira o capítulo Mitigação de nosso white paper. Também publicamos um conjunto de regras YARA que você pode aproveitar para detectar as 14 famílias de malware para IIS analisadas.

Conclusão

Os servidores da web Internet Information Services (IIS) têm sido atacados por vários agentes mal-intencionados, tanto para crimes cibernéticos quanto para espionagem cibernética. A arquitetura modular do software, projetada para fornecer extensibilidade aos desenvolvedores da web, pode ser uma ferramenta útil para que atacantes se tornem parte do servidor IIS e interceptem ou modifiquem seu tráfego.

Ainda é muito estranho que softwares de segurança para endpoints (e outros) sejam usados ​​em servidores IIS, o que faz com que seja ainda mais fácil para os atacantes operarem sem serem detectados por longos períodos de tempo. Isso deve chamar a atenção de todos os portais da web sérios que desejam proteger os dados de seus visitantes, incluindo credenciais de autenticação e informações de pagamento. As organizações que usam o OWA também devem estar atentas, pois ele depende do IIS e pode ser um alvo interessante para espionagem.

Embora as ameaças que visam os servidores IIS não se limitem ao malware nativo para IIS, acreditamos que este documento será um ponto de partida útil para os profissionais de segurança compreenderem, identificarem e removerem as ameaças que visam o IIS, e um guia para que nossos colegas pesquisadores realizem engenharia reversa nesse tipo de ameaças e compreendam suas táticas, técnicas e procedimentos mais comuns.

Detalhes técnicos adicionais sobre malware e indicadores de comprometimento podem ser encontrados em nosso white paper e no GitHub. Caso tenha dúvidas ou queira enviar amostras relacionadas com o assunto abordado nesta publicação, entre em contato conosco pelo e-mail threatintel@eset.com.

Um agradecimento especial aos pesquisadores de malware da ESET, Marc-Étienne Léveillé e Mathieu Tartare, pelo trabalho realizado nesta pesquisa.

Newsletter

Discussão