Un malware asociado con los ataques a los dispositivos F5 BIG-IP Access Policy Manager (APM) inyecta una puerta trasera web (web shell) en la memoria en lugar de almacenarla en un archivo en disco, según un análisis publicado por Sophos el 7 de septiembre. Cuando Apache carga los scripts PHP propios del dispositivo, el malware añade la web shell a la copia que reside en la memoria, de modo que una verificación del archivo en disco puede dar un resultado limpio. Esos tres scripts son los mismos que F5 señaló a los clientes en marzo, cuando advirtió que sus cambios por sí solos no indican una intrusión.

Una web shell suele ser un pequeño script que un atacante coloca en carpetas del servidor web para ejecutar comandos a través de peticiones HTTP normales. Como se encuentra en disco, los defensores la buscan escaneando archivos y comparándolos con copias conocidas. Sin embargo, este enfoque no funciona aquí: como señalan los investigadores, la web shell 'no necesita existir en su forma final en disco'.

Los tres scripts son apm_css.php3, full_wt.php3 y webtop_popup_css.php3, parte del webtop del módulo APM. F5 los mencionó en marzo en una lista de indicadores de compromiso para el malware que rastrea como c05d5254, y entonces afirmó que su presencia por sí sola no indica un problema de seguridad. F5 también informó de casos donde la web shell se escribía en disco, pero señaló que estas 'han sido observadas funcionando solo en memoria', lo que explica que los archivos listados podrían no estar modificados. El análisis de Sophos aclara que ambas afirmaciones pueden ser ciertas a la vez.

Sophos examinó una única muestra sin identificar a la víctima ni explicar su origen. F5 ha relacionado esta actividad con los dispositivos afectados por CVE-2025-53521, una vulnerabilidad publicada el 15 de octubre de 2025 como un problema de denegación de servicio. El 27 de marzo de 2026, F5 la reclasificó como ejecución remota de código y confirmó que estaba siendo explotada. Un atacante no necesita autenticación para explotarla, y la compañía le otorgó una puntuación CVSS de 9.8 sobre 10 en la versión 3.1 y de 9.3 en la versión 4.0. La agencia estadounidense CISA la añadió a su catálogo de vulnerabilidades explotadas conocidas el mismo día, dando a las agencias civiles federales hasta el 30 de marzo para actuar.

La vulnerabilidad se aplica cuando una política de acceso de BIG-IP APM está configurada en un servidor virtual. El Centro Nacional de Ciberseguridad del Reino Unido considera BIG-IP APM un componente común, especialmente en grandes organizaciones. F5 publicó una lista de versiones afectadas y corregidas. El parche que soluciona este problema tiene casi un año de antigüedad: el Centro Nacional de Ciberseguridad de Irlanda, en un aviso emitido el 31 de marzo, confirmó que el parche publicado en octubre sigue siendo válido y protege contra explotaciones.

Cadena de infección

La web shell es el último paso de una cadena más larga, y las etapas anteriores sí tocan el disco. Sophos indica que un instalador separado, hallado en una muestra llamada 'umount', infecta el programa del servidor web Apache en /usr/sbin/httpd añadiendo código malicioso al inicio del archivo original. El tamaño de ese código coincide con la carga útil que contiene el instalador, lo que sugiere fuertemente que el instalador lo coloca ahí. ESET, que analizó muestras relacionadas en abril y bautizó el malware como 'PoisonedRefresh', afirma que el instalador está diseñado para ejecutarse como root y desactiva SELinux. También infecta umount, httpd y rc.local dentro de las imágenes de instalación de BIG-IP, probablemente para propagar el malware a otros sistemas a través de los medios de instalación.

El malware se aloja dentro del programa Apache y se ejecuta antes de que comience el código propio de Apache. Sophos indica que engancha la función de Apache Portable Runtime 'apr_dso_load' y no hace nada hasta que Apache carga el módulo PHP, libphp. Una vez PHP está cargado, el malware lee /proc/self/maps para localizar el módulo en memoria, modifica temporalmente los permisos de esas páginas, altera las llamadas que el módulo usa para abrir, medir y mapear archivos, y restaura los permisos originales. A partir de ahí controla lo que PHP ve cuando abre uno de los tres scripts, insertando la web shell en la memoria cuando el archivo se asigna.

La web shell lee el cuerpo de la petición HTTP, comprueba si contiene un marcador corto, descifra el resto y lo ejecuta, respondiendo con el código de estado 201 y tipo de contenido CSS, lo que hace que la comunicación parezca una solicitud normal de una hoja de estilos. Además, el malware abre un socket local en /run/bigtlog.pipe. Tras comprobar un token fijo, conecta ese socket a /bin/bash, ofreciendo una shell interactiva sin abrir ningún puerto de red. Sophos no encontró ningún código en la muestra para conectar con ese socket ni otros usos del token, por lo que ambas vías parecen funciones separadas.

Qué deben comprobar los administradores

Según Sophos, sus señales de comportamiento son pistas a investigar y no pruebas por sí solas, por lo que deben interpretarse junto con la evidencia de archivos, procesos y memoria. La lista siguiente combina esas señales con los indicadores publicados por F5 en marzo:

  • Archivo: presencia de /run/bigtlog.pipe o /run/bigstart.ltm
  • Binario: discrepancia en el hash, tamaño o marca de tiempo de /usr/bin/umount o /usr/sbin/httpd en comparación con una copia buena conocida (F5 señala que tamaños y marcas de tiempo difieren entre versiones y hotfix de ingeniería)
  • Herramienta: fallo de sys-eicheck debido a cambios en alguno de esos dos archivos
  • Log: entrada en /var/log/restjavad-audit que muestre un usuario local accediendo a la API REST de iControl desde localhost
  • Log: entrada en /var/log/auditd que muestre la desactivación de SELinux por esa vía
  • Log: entrada en /var/log/audit que muestre un comando bash ejecutado mediante iControl REST; F5 indica que estas líneas muestran datos en base64 escritos en un archivo y la ejecución de /run/bigstart.ltm
  • Tráfico: respuestas HTTP 201 con tipo de contenido CSS desde el dispositivo
  • Comportamiento del host: un proceso Apache leyendo /proc/self/maps, cambiando permisos de memoria en torno a libphp, enlazando un socket bajo /run o iniciando /bin/bash
  • SHA-256: 26bd5b0722d1dbab5db749a063c49bc8638653ac2addfead7a9cb3d6d57bccc9
  • Archivo (débil por sí solo): cambios en los tres scripts .php3 (su presencia por sí sola no plantea un problema; el análisis de Sophos explica que el archivo no tiene por qué cambiar)

La lista de F5 incluye elementos que el análisis de Sophos no cubre, como /run/bigstart.ltm y los cambios que afectan a sys-eicheck. Ninguna de las dos fuentes describe la intrusión completa.

Si ya has aplicado el parche

Aplicar el parche no determina si el dispositivo estaba comprometido antes de instalarlo. El NCSC de Irlanda señala que no se dispone de un cronograma de explotación y espera que parte de la explotación estuviera ocurriendo o pudiera haber ocurrido antes de que se publicara la vulnerabilidad y su parche en octubre de 2025. El NCSC del Reino Unido recomienda investigar un posible compromiso 'independientemente de cuándo se actualizó el sistema'.

  • Ejecuta la comprobación de integridad integrada sys-eicheck de F5
  • Recopila un informe qkview y envíalo a F5, abriendo un caso para obtener una respuesta más rápida y completa
  • Compara el contenido de los módulos en memoria con las copias en disco, como recomienda Sophos para los playbooks de respuesta ante incidentes de servidores web críticos
  • Si no es posible una investigación completa, el NCSC británico aconseja aislar el dispositivo y reconstruirlo como nuevo, lo que puede causar una interrupción

Incógnitas pendientes

Quedan tres incógnitas: F5 no ha revelado cuándo comenzó la explotación. Ninguno de los avisos o análisis publicados indica si la actualización del dispositivo a una versión corregida elimina el malware ya instalado, ya que Sophos y ESET describen un componente diseñado para sobrevivir a las imágenes de actualización. Y aún no se ha identificado al atacante: Sophos carece de pruebas suficientes para atribuirlo a un grupo, y ESET dijo en abril que tampoco había resuelto la cuestión.

Cybersecurity
Cybersecurity
Cybersecurity
Cybersecurity