
Detectar webshells descartados em servidores Microsoft Exchange explorados através do grupo de vulnerabilidades 'proxylogon' (CVE-2021-26855, CVE-2021-26857, CVE-2021-26858, CVE-2021-27065)
Por favor, utilize as ferramentas da Microsoft:
Ao avaliar o impacto, recomendamos fortemente assumir a violação e examinar preventivamente todos os servidores MS Exchange que estiveram expostos publicamente desde janeiro, mesmo que não haja sinais de comprometimento ativo.
Observe que a exfiltração de dados e alterações de configuração eram possíveis (e estavam acontecendo) apenas através da parte SSRF da cadeia de exploração (ou seja, sem alcançar execução de código, sem descartar arquivos ou gerar novos processos no host do Exchange).
Isso é um falso positivo, os produtos antivírus reagem a palavras-chave listadas no script. detect_webshells.ps1 foi intencionalmente escrito como um arquivo independente usando PowerShell muito simples, para que você possa inspecioná-lo por conta própria. As palavras-chave que (corretamente) acionam o antivírus estão listadas na linha 94. Se você não se sentir confiante de que entende o que o script está fazendo, não o execute!
Esperamos que o fato de o software antivírus ter começado a detectar este script signifique que ele também é capaz de detectar webshells reais, tornando detect_webshells.ps1 desnecessário. Verifique se os diretórios do Exchange e do inetpub não estão na lista de permissões, e por favor, perceba que as webshells foram usadas apenas para o acesso inicial. Uma vez que os atacantes alcançaram a execução de código, eles geralmente implantaram mecanismos de persistência adicionais - às vezes removendo a própria webshell inicial para esconder seus rastros.
Portanto, não confunda ausência de webshells com ausência de comprometimento - infelizmente, seu servidor ainda pode ter sido invadido e os atacantes removeram a webshell ou um antivírus fez isso (sem expulsar completamente os atacantes do seu servidor).
Este script procura webshells deixadas em servidores Microsoft Exchange enquanto estavam vulneráveis às seguintes CVEs:
A atividade inicial durante janeiro de 2021 foi atribuída ao HAFNIUM, porém desde então outros atores de ameaças obtiveram esses exploits e começaram a usá-los. Antes da divulgação pública e das correções publicadas pela Microsoft (a partir de 27 de fevereiro aproximadamente), servidores Exchange expostos publicamente começaram a ser explorados indiscriminadamente. Dessa forma, instalar as últimas atualizações do Exchange logo após a Microsoft publicá-las não mitigou totalmente o risco de comprometimento anterior, portanto todos os servidores Exchange devem ser inspecionados em busca de sinais de acesso não autorizado.
detect_webshells.ps1 verificará a presença de webshells conhecidas em locais típicos:
inetpub/wwwroot/aspnet_client/: localização no sistema, local mais comum de webshells deixadas em ataques atuais; normalmente não contém nenhum arquivo, portanto a presença de qualquer coisa ali é suspeita$($env:exchangeinstallpath)/Frontend/: usado por atacantes mais sofisticados para se misturar com arquivos legítimos do Exchange (webshells podem ser adicionadas como novos arquivos ou modificando os existentes, incluindo web.config); os locais mais comuns são /owa/ e /ecp/, mas webshells podem ser deixadas em qualquer lugar dentro do diretório Frontenddetect_webshells.ps1 apenas procura por webshells e não tenta detectar eventos de exploração passados diretamente (use https://github.com/microsoft/CSS-Exchange/tree/main/Security e outros scripts mencionados abaixo para isso), nem está procurando por atores de ameaças particularmente sorrateiros (que podem excluir webshells após o uso ou evitar deixá-las completamente). Dessa forma, um resultado negativo pode significar apenas ausência de evidências de comprometimento neste host específico. Isso não garante que o host não foi explorado por outros meios.
Artigos/divulgações (incl. IoCs):
Scripts de detecção notáveis: