Um malware ligado a invasões em appliances F5 BIG-IP Access Policy Manager esconde um web shell em PHP na memória, em vez de gravá-lo em um arquivo no disco, informou a Sophos em uma análise publicada em 7 de setembro.
Quando o Apache carrega qualquer um dos três scripts PHP nativos dos appliances — apm_css.php3, full_wt.php3 e webtop_popup_css.php3 — o malware injeta o web shell na cópia mantida em memória, o que faz com que uma verificação no arquivo em disco não encontre nada suspeito. Esses três scripts são os mesmos que a F5 indicou aos clientes em março, quando afirmou que alterações neles, isoladamente, não comprovam uma invasão.
Um web shell costuma ser um pequeno script que o invasor coloca em pastas de um servidor web para executar comandos por meio de requisições web comuns. Como ele fica gravado no disco, as equipes de defesa costumam localizá-lo por meio da varredura de arquivos e da comparação com cópias confiáveis. Essa abordagem não funciona neste caso. Como resumiram os pesquisadores, o web shell “não precisa existir em sua forma final no disco”.
A Sophos examinou uma única amostra e não nomeia nenhuma vítima nem informa como o sample foi obtido. Segundo a empresa, a carga útil parece ser uma etapa de uma cadeia mais longa, provavelmente implantada após a exploração da
CVE-2025-53521
, falha que afeta appliances em que uma política de acesso do BIG-IP APM está configurada em um servidor virtual.
A F5 publicou a falha pela primeira vez em 15 de outubro de 2025, como um problema de negação de serviço. Em 27 de março de 2026, a empresa informou que novas informações a levaram a reclassificar a falha como execução remota de código e que ela já havia sido explorada. O atacante não precisa fazer login para abusar da falha, e a F5 atribui notas 9,8 no CVSS 3.1 e 9,3 no CVSS 4.0. No mesmo dia, a CISA incluiu a falha em seu catálogo de Vulnerabilidades Conhecidas Exploradas, dando às agências civis federais dos Estados Unidos até 30 de março para agir.
Versões conhecidas por serem vulneráveis:
- 17.5.0 a 17.5.1, corrigido em 17.5.1.3
- 17.1.0 a 17.1.2, corrigido em 17.1.3
- 16.1.0 a 16.1.6, corrigido em 16.1.6.1
- 15.1.0 a 15.1.10, corrigido em 15.1.10.8
A Sophos afirma que o malware foi implantado por um instalador separado ou por um componente de propagação que havia infectado o executável Apache /usr/sbin/httpd usado em sistemas BIG-IP APM. A ESET, que analisou amostras relacionadas em abril e batizou o malware de PoisonedRefresh, disse que o instalador foi feito para ser executado como root, desativa o SELinux e também infecta os arquivos umount, httpd e rc.local em imagens de instalação do BIG-IP, provavelmente para espalhar o malware para outros sistemas por meio da mídia de instalação.
Segundo a Sophos, o instalador malicioso também alterou configurações do SELinux e garantiu persistência mesmo após atualizações das imagens do BIG-IP. Como o malware fica embutido no programa do Apache, ele é executado antes de o próprio código do Apache começar. A Sophos informou que ele intercepta a função apr_dso_load, do Apache Portable Runtime, e não faz nada até o Apache carregar o módulo PHP, libphp.
“A amostra de segunda etapa oculta strings operacionais importantes com RC4, obtém execução antes que a função principal main() do aplicativo hospedeiro seja invocada ao interceptar __libc_start_main, mira o módulo PHP do Apache ao fazer hook no carregador de módulos Apache Portable Runtime (APR) apr_dso_load e injeta um web shell PHP na memória.”
Depois que o PHP é carregado, o malware lê /proc/self/maps para localizar o módulo na memória, torna temporariamente essas páginas de memória graváveis, reescreve as chamadas que o módulo usa para abrir, dimensionar e mapear arquivos, e então restaura as permissões originais. A partir daí, ele passa a controlar o que o PHP vê ao abrir um dos três scripts. Quando o arquivo é mapeado na memória, o malware coloca o web shell antes do conteúdo original, sem alterar o arquivo em disco.
A Sophos observou que esses scripts provavelmente foram escolhidos porque estão presentes em ambientes webtop do BIG-IP APM e têm menos chance de acionar alertas de segurança. Além disso, os arquivos PHP no disco permanecem inalterados, o que reduz significativamente a superfície de detecção. A própria F5 disse em março que havia visto casos em que um web shell foi gravado no disco, mas observou que esses web shells “foram observados funcionando apenas em memória”, o que ajuda a explicar como as duas afirmações podem ser verdadeiras ao mesmo tempo.
O web shell lê o corpo bruto de uma requisição, verifica se há um marcador curto, decifra o restante e executa o conteúdo. Em resposta, ele devolve o status HTTP 201 e um tipo de conteúdo CSS, de modo que a troca pareça uma solicitação de folha de estilo.
O malware também abre um socket local em /run/bigtlog.pipe. Depois de verificar um token fixo, ele conecta esse socket a /bin/bash, o que fornece um shell interativo sem abrir uma porta de rede. A Sophos disse que não encontrou no sample código que fizesse a conexão com esse socket, nem qualquer outro uso do token, o que sugere que as duas formas de acesso são recursos separados.
A Sophos destaca ainda um mecanismo de proteção que retarda a criação da porta dos fundos local quando o Apache é iniciado, reduzindo o risco de interrupção do serviço e de detecção. “Quando o processo do Apache começa a fazer chamadas rotineiras de tempo, o implante cria e desconecta a thread de trabalho responsável por criar a porta dos fundos local via socket UNIX”, explicou a empresa. “Esse timing minimiza o risco de desestabilizar o serviço e ajuda o implante a se misturar ao comportamento normal em tempo de execução.”
A empresa de segurança compartilhou um conjunto de sinais de atividade maliciosa ligados ao malware, incluindo processos filhos do Apache lendo /proc/self/maps, alterando proteções de memória do libphp, criando /run/bigtlog.pipe ou iniciando /bin/bash. As equipes de defesa também são orientadas a investigar requisições POST incomuns para os endpoints .php3 visados e respostas PHP que combinem HTTP 201 com tipo de conteúdo text/css.
A ShadowServer Foundation, que mantém um rastreador de sistemas F5 BIG-IP APM vulneráveis à
CVE-2025-53521
, informou que 795 endpoints estavam expostos online ontem.
Publicidade
Vibecoding cria 10x mais sistemas, 20x mais vulneráveis. E quem ganha com isso é a galera do hacking ético e pentest. Quer ser pago para invadir sistemas? Então você tem que aprender com a Solyd que são os melhores do Brasil. Saiba mais...