2024: CVEs antigos, novos alvos: exploração ativa do ThinkPHP
Comentários editoriais e adicionais por Tricia Howard
Resumo executivo
Os pesquisadores da Akamai descobriram uma nova campanha direcionada aos aplicativos ThinkPHP que são vulneráveis a CVE-2018-20062 e CVE-2019-9082. A campanha parece ser orquestrada por um grupo de ciberameaças que fala chinês.
A campanha parece ter começado em outubro de 2023, visando um número limitado de clientes/organizações. Recentemente, Itonly se tornou difundida.
Os ataques se originaram de vários endereços IP associados a servidores hospedados no provedor de nuvem "Zenlayer" (ASN 21859), localizado principalmente em Hong Kong.
A exploração tenta recuperar código ofuscado adicional de outro servidor ThinkPHP comprometido para ganhar uma posição inicial.
Depois de explorar o sistema com sucesso, os invasores instalarão um shell da Web em chinês chamado Dama para manter o acesso persistente ao servidor.
As ações subsequentes podem envolver uma maior disseminação dentro do data center da vítima ou a inclusão do servidor para uso na infraestrutura de ataque.
Introdução
Estamos vendo uma tendência preocupante na segurança: os invasores estão explorando vulnerabilidades conhecidas, algumas delas com vários anos de idade, e estão tendo sucesso fazendo isso. Um exemplo importante disso são as vulnerabilidades CVE-2018-20062 e CVE-2019-9082 de ThinkPHP de execução remota de código (RCE). Como se pode inferir a partir dos nomes dos CVEs, eles estão no mundo real desde pelo menos 2018 e, no entanto, a atividade de ataque continua ainda hoje.
Detectamos pela primeira vez sinais desse comportamento de ataque em 17 de outubro de 2023. Observamos uma série limitada de sondagens que exploram essas vulnerabilidades, mas não da maneira esperada. Ao contrário dos comandos comuns de "prova de conceito" vistos com ferramentas e scanners automatizados, a carga útil instruiu os servidores vítimas a instalar um shell ofuscado a partir de um servidor remoto sob controle do invasor.
A campanha esteve ativa apenas durante alguns dias e, em seguida, esses testes limitados cessaram, mas isso parece ter sido apenas o início. Em abril de 2024, observamos uma campanha semelhante, e essa é muito maior do que sua antecessora.
Nesta publicação do blog, descreveremos os CVEs, as tentativas de exploração observadas e as mitigações recomendadas para aqueles afetados por essa campanha.
Sobre os CVEs
O que é ThinkPHP?
O ThinkPHP é uma estrutura de aplicativos da Web de código aberto chinesa, usada principalmente para desenvolver aplicativos da Web baseados em PHP. Ele fornece um conjunto de bibliotecas, componentes e ferramentas que simplificam o processo de criação de aplicativos da Web seguindo o padrão de arquitetura MVC (model-view-controller).
CVE-2018-20062 e CVE-2019-9082 são vulnerabilidades encontradas em versões mais antigas da popular estrutura ThinkPHP chinesa. Essas vulnerabilidades afetam os sistemas de gerenciamento de conteúdo baseados nessa estrutura, como NoneCMS e BMS de código aberto. Elas permitem que os invasores executem remotamente o código no servidor da vítima. Ambas as vulnerabilidades fazem parte de uma série de variantes de exploração que visam diferentes componentes do ThinkPHP, que foram divulgados ao longo de alguns anos a partir de 2018 quando o vetor de ataque inicial foi revelado.
Tentativas de exploração observadas
As tentativas de exploração (detectadas e gravadas pelo Akamai App & API Protector) tentam usar os CVEs para baixar um arquivo chamado "public.txt" que parece ser um servidor comprometido localizado na China. Em seguida, o novo arquivo mal-intencionado será salvo nos sistemas da vítima com o nome "roeter.php", que acreditamos ser uma grafia incorreta de "roteador" (Figura 1).
O arquivo de texto baixado contém uma versão ofuscada de um shell da Web, um script de backdoor do lado do servidor para controle remoto do servidor. O código de shell da Web usa ofuscação, especificamente uma transformação básica em ROT13 que resulta em uma única e longa cadeia de caracteres HEX (Figura 2). Curiosamente, os invasores escolheram uma senha muito simples, "admin", para acessar o shell da Web.
Os ataques se originaram de vários endereços IP associados a servidores hospedados no provedor de nuvem Zenlayer (ASN 21859), localizado principalmente em Hong Kong. Nossa breve inspeção do servidor que hospedava o código do backdoor revelou que ele também estava infectado com o mesmo shell da Web (Figura 3).
Isso sugere que o servidor pode ser outro nó na infraestrutura do invasor. Essa abordagem poderia ajudar a reduzir os custos operacionais e, mais importante, obscurecer a atribuição, tornando mais difícil para as autoridades derrubarem o servidor, pois não é possível simplesmente pedir ao ISP para desligar o servidor de produção de uma organização legítima.
O shell da Web Dama
O shell da Web demonstra recursos avançados, como navegação pelo sistema de arquivos, que permitem operações como edição de arquivos, exclusão e modificação de data e hora para fins de ofuscação. Embora seja comum observar os agentes de ameaças da Europa Ocidental e Oriental usando shells da Web em inglês (por exemplo, o shell da Web WSO-NG), esse se destaca por causa da origem chinesa da interface do usuário (Figura 4).
Além dos mecanismos avançados mencionados anteriormente, o Dama facilita o upload de arquivos para o servidor e reúne dados técnicos cruciais do sistema, incluindo versões precisas do SO e informações sobre PHP, o que auxilia na identificação de explorações pertinentes de escalonamento de privilégios (Figura 5).
Ele não para por aí. Os recursos de pós-exploração incluem verificação de portas de rede e acesso a bancos de dados e dados de servidor existentes. Além disso, o shell da Web oferece diversos métodos para escalonamento de privilégios, como Ignorar funções PHP confidenciais desativadas para escapar da área de segurança PHP e executar comandos shell no servidor.
Ele também aproveita o agendador de tarefas do Windows para reconfigurar o WMI e adicionar usuários altamente privilegiados. Embora seja equipado com um intérprete PHP para execução direta de código, o suporte para uma CLI (Interface de Linha de Comando) para execução direta de comandos shell de SO está notavelmente ausente, o que é surpreendente devido à sua extensa funcionalidade.
Mitigação com o App & API Protector
É altamente recomendável atualizar o ThinkPHP para a versão mais recente, atualmente a 8.0.
Como é desafiador identificar todos os ativos que podem estar vulneráveis a esses CVEs e a aplicação de patches em si pode não ser uma opção viável, recomendamos enfaticamente a implementação do App & API Protector com seu Adaptive Security Engine para reduzir os riscos associados aos CVEs do ThinkPHP.
Se você já estiver usando o Adaptive Security Engine, pode facilmente lidar com esses riscos ao configurar a ação de grupo Web Platform Attack como "Negar" para aumentar a proteção. Como alternativa, os clientes podem optar por definir a regra individual 3000189 ("ThinkPHP RCE (CVE-2018-20062)") como "Negar".
Resumo
Esse shell da Web é mais um exemplo de dia um. Apesar do tempo que já é conhecido, os invasores continuam a atacá-lo e explorá-lo, com sucesso relevante. Isso ressalta o desafio persistente enfrentado pelas organizações na identificação de ativos vulneráveis e na manutenção de processos eficazes de gerenciamento de patches.
Os recentes ataques originados por um adversário de língua chinesa destacam uma tendência contínua de os invasores usarem um shell da Web completo, projetado para controle avançado de vítimas. Curiosamente, nem todos os clientes-alvo estavam usando ThinkPHP, o que sugere que os invasores podem estar se direcionando indiscriminadamente a uma ampla gama de sistemas.
Essa é mais uma dicotomia interessante que tem aumentado recentemente na prevalência; ou seja, alguns aspectos dos ataques são altamente sofisticados (como os controles de ofuscação na tecnologia) e outros são quase aleatórios (como não ter suporte para uma CLI). À medida que ocorrem cada vez mais avanços tecnológicos, é provável que essa lacuna continue a crescer porque, embora a tecnologia seja avançada, isso não indica necessariamente que o invasor por trás dela também seja avançado. Isso não quer dizer que o criador do shell da Web Dama não é sofisticado; é simplesmente um comentário sobre como o setor está mudando como um todo.
Como nossos clientes estavam protegidos contra essas tentativas de ataque, não podemos determinar definitivamente a intenção final dos invasores. No entanto, com base na nossa experiência, os seus objetivos poderiam incluir a incorporação dos sistemas das vítimas na infraestrutura de ataque para lançar ataques adicionais, recrutar os servidores para um potente DDoS (Negação de Serviço Distribuída) ou uma rede de botnet criptografada, executar esquemas de ransomware ou extorsão ou realizar movimento lateral para coletar informações sobre as organizações.
Fique por dentro
O Akamai Security Intelligence Group continuará a monitorar e a defender contra ameaças, como o shell da Web Dama, e publicará nossas descobertas para a comunidade em geral. Para atualizações em tempo real, siga-nos no X (antigo Twitter).