The rootkit, identified by ESET as 'PoisonedRefresh', intercepts PHP file loading on compromised BIG-IP APM systems and injects a web shell into memory without writing malicious code to disk. Sophos researchers noted that while the malware enables on-demand server-side code execution typical of webshells, it achieves this through deeper Linux- and Apache-specific tradecraft.
The implant was deployed by a separate installer component that had infected the Apache /usr/sbin/httpd executable used on BIG-IP APM systems. The malicious installer also modified SELinux configurations and achieved persistence across BIG-IP upgrade images, making it difficult to remove.
Once active, the rootkit hides key operational strings using RC4 encryption, gains execution before the host application's main() function by intercepting __libc_start_main, and hooks the Apache Portable Runtime module loader (apr_dso_load) to target Apache's PHP module. It then injects a PHP web shell into memory, modifying legitimate scripts like apm_css.php3, full_wt.php3, and webtop_popup_css.php3 without altering the files on disk, significantly reducing the detection surface.
The injected webshell accepts specially formatted requests, decrypts their contents, executes them through PHP's eval() function, and returns an HTTP 201 response disguised as CSS content. A protection mechanism delays the creation of a local backdoor when Apache starts, reducing the risk of service disruption and detection. The rootkit also creates a password-protected local communication socket that can launch an interactive Bash shell without opening a TCP listening port, though the socket is not directly exposed to the internet.