F5 BIG-IP APM-malware injecteert een PHP-webshell in het geheugen en omzeilt schijfscans

Malware die verband houdt met inbraken in F5 BIG-IP Access Policy Manager-apparaten verbergt een PHP-webshell in het geheugen in plaats van in een bestand op schijf, zei Sophos in een analyse die op 7 september werd gepubliceerd.

Wanneer Apache een van de eigen PHP-scripts van de drie apparaten laadt, voegt de malware de webshell toe aan de kopie in het geheugen, zodat een controle van het bestand op schijf schoon kan terugkomen. Deze drie scripts zijn dezelfde waar F5 klanten in maart op wees, toen het bedrijf zei dat wijzigingen daarin alleen geen inbraak aantonen.

Een webshell is meestal een klein script dat een aanvaller in de mappen van een webserver plaatst om opdrachten uit te voeren via gewone webverzoeken. Omdat het op schijf staat, zoeken verdedigers ernaar door bestanden te scannen en deze te vergelijken met bekende goede kopieën.

Die aanpak werkt hier niet. Zoals de onderzoekers het stellen: de webshell “hoeft niet in zijn definitieve vorm op schijf te bestaan.”

De drie scripts zijn apm_css.php3, full_wt.php3 en webtop_popup_css.php3, onderdeel van de BIG-IP APM webtop. F5 noemde ze alle drie in maart in een gepubliceerde lijst van indicatoren van compromissen voor de malware die het volgt als c05d5254, en zei destijds dat hun aanwezigheid alleen niet op een beveiligingsprobleem wijst.

F5 zei ook dat er gevallen zijn geweest waarin een webshell naar schijf werd geschreven, maar dat de webshells “alleen in het geheugen werkten”, wat betekent dat de bestanden die daarin worden vermeld mogelijk niet worden gewijzigd. De Sophos-analyse legt uit hoe beide uitspraken tegelijk waar kunnen zijn.

Sophos onderzocht één enkel monster. In de analyse wordt geen slachtoffer genoemd en wordt niet vermeld hoe het monster is verkregen.

F5 heeft de c05d5254-activiteit gekoppeld aan apparaten die getroffen zijn door CVE-2025-53521zei Sophos. F5 publiceerde deze fout voor het eerst op 15 oktober 2025 als een denial-of-service-probleem.

Op 27 maart 2026 zei F5 dat nieuwe informatie ertoe had geleid dat het de fout opnieuw had geclassificeerd als uitvoering van code op afstand, en dat er misbruik van was gemaakt. Een aanvaller heeft geen login nodig om het te gebruiken, en F5 beoordeelt het met een 9,8 op CVSS 3.1 en een 9,3 op CVSS 4.0.

CISA voegde het diezelfde dag toe aan de catalogus met bekende uitgebuite kwetsbaarheden, waardoor Amerikaanse federale civiele instanties tot 30 maart de tijd kregen om in actie te komen.

De fout is van toepassing wanneer een BIG-IP APM-toegangsbeleid is ingesteld op een virtuele server. Het Britse National Cyber ​​Security Centre noemt BIG-IP APM een veelvoorkomend onderdeel, vooral in grote organisaties. In het advies van F5 worden de getroffen en opgeloste releases vermeld.

Versies waarvan bekend is dat ze kwetsbaar zijn

Vast in

17.5.0 – 17.5.1

17.5.1.3

17.1.0 – 17.1.2

17.1.3

16.1.0 – 16.1.6

16.1.6.1

15.1.0 – 15.1.10

15.1.10.8

De patch die dit oplost is bijna een jaar oud. Het Ierse National Cyber ​​Security Center zei in een advies van 31 maart dat de patch die in oktober werd uitgebracht nog steeds geldig is en bescherming biedt tegen uitbuiting.

De webshell is de laatste stap in een langere keten, en de eerdere stappen raken de schijf. Sophos zei dat een afzonderlijk installatieprogramma, gevonden in een voorbeeld met de naam umount, het Apache-webserverprogramma op /usr/sbin/httpd infecteert door kwaadaardige code aan de voorkant van het echte bestand toe te voegen. De grootte van die toegevoegde code komt overeen met de lading die in het installatieprogramma zit, wat volgens Sophos sterk suggereert dat het installatieprogramma het daar plaatst.

ESET, dat in april gerelateerde voorbeelden analyseerde en de malware PoisonedRefresh noemde, zei dat het installatieprogramma bedoeld is om als root te worden uitgevoerd en SELinux uitschakelt. Het infecteert ook umount, httpd en rc.local in BIG-IP-installatiekopieën, wat volgens ESET vermoedelijk is gedaan om de malware via de installatiemedia naar andere systemen te verspreiden.

Omdat de malware zich in het Apache-programma bevindt, wordt deze uitgevoerd voordat de eigen code van Apache start. Sophos zei dat het een Apache Portable Runtime-functie, apr_dso_load, koppelt en niets doet totdat Apache de PHP-module, libphp, laadt.

Zodra PHP is geladen, leest de malware /proc/self/maps om de module in het geheugen te vinden, maakt deze geheugenpagina’s kort beschrijfbaar, herschrijft de aanroepen die de module gebruikt om bestanden te openen, te vergroten en toe te wijzen, en zet vervolgens de oorspronkelijke machtigingen terug. Vanaf dat moment bepaalt het wat PHP ziet wanneer het een van de drie scripts opent. Wanneer het bestand in het geheugen wordt geplaatst, plaatst de malware de webshell vóór de originele inhoud.

De webshell leest de onbewerkte hoofdtekst van een verzoek, controleert deze op een korte markering, decodeert de rest en voert deze uit. Het antwoordt met HTTP-status 201 en een CSS-inhoudstype, dus de uitwisseling lijkt op een verzoek om een ​​stylesheet.

De malware opent ook een lokale socket op /run/bigtlog.pipe. Na te hebben gecontroleerd of er een vast token is, verbindt het die socket met /bin/bash, waardoor een interactieve shell ontstaat zonder een netwerkpoort te openen.

Sophos zei dat het geen enkele code in het voorbeeld kon vinden om verbinding te maken met die socket, en geen ander gebruik van het token, dus de twee manieren lijken op afzonderlijke functies. Er is geen enkel bewijs dat de aanvaller de socket via de webshell bereikt.

Wat verdedigers kunnen controleren

Sophos zei dat zijn gedragssignalen aanwijzingen zijn om te onderzoeken, en geen bewijs op zichzelf, en naast bewijsmateriaal uit bestanden, processen en geheugen moeten worden gelezen. De onderstaande lijst combineert ze met de indicatoren die F5 in maart publiceerde.

  • Bestand: /run/bigtlog.pipe of /run/bigstart.ltm aanwezig
  • Binair: hash, grootte of tijdstempel komen niet overeen op /usr/bin/umount of /usr/sbin/httpd met een bekende goede kopie. F5 merkt op dat maten en tijdstempels verschillen tussen releases en technische hotfixes
  • Hulpmiddel: sys-eicheck mislukt omdat een van deze twee bestanden is gewijzigd
  • Logboek: een vermelding in /var/log/restjavad-audit waarin wordt weergegeven dat een lokale gebruiker de iControl REST API bereikt vanaf localhost
  • Logboek: een vermelding in /var/log/auditd die laat zien dat SELinux via dezelfde route wordt uitgeschakeld
  • Logboek: een vermelding in /var/log/audit die een bash-opdracht toont die wordt uitgevoerd via iControl REST. F5 zegt dat deze regels base64-gegevens tonen die in een bestand zijn geschreven en dat /run/bigstart.ltm wordt uitgevoerd
  • Verkeer: HTTP 201-reacties met een CSS-inhoudstype van het apparaat
  • Gastheergedrag: een Apache-werker die /proc/self/maps leest, geheugenrechten rond libphp wijzigt, een socket onder /run bindt of /bin/bash start
  • SHA-256: 26bd5b0722d1dbab5db749a063c49bc8638653ac2addfead7a9cb3d6d57bccc9
  • Bestand, zwak op zichzelf: wijzigingen in de drie .php3-scripts. F5 zegt dat hun aanwezigheid alleen geen probleem oplevert, en de Sophos-analyse legt uit waarom: het bestand hoeft helemaal niet te veranderen

De lijst van F5 bevat ook items die niet door de Sophos-analyse worden behandeld, waaronder /run/bigstart.ltm en de wijzigingen die van invloed zijn op sys-eicheck. Geen van beide verhalen beschrijft de hele inbreuk.

Als u al een patch heeft uitgevoerd

Met patchen wordt niet vastgesteld of een apparaat is gecompromitteerd voordat de patch werd uitgevoerd.

Het Ierse NCSC zei dat er geen tijdlijn voor exploitatie beschikbaar is en dat het verwacht dat er enige exploitatie heeft plaatsgevonden of had kunnen plaatsvinden voordat de fout en de oplossing ervan voor het eerst werden gepubliceerd in oktober 2025.

De Britse NCSC adviseert onderzoek te doen naar compromissen “ongeacht wanneer het systeem is bijgewerkt”.

  1. Voer de ingebouwde sys-eicheck-integriteitscontrole van F5 uit. De eigen indicatoren van F5 zeggen dat de wijzigingen in /usr/bin/umount en /usr/sbin/httpd ervoor zorgen dat dit hulpprogramma mislukt, dus een fout is zelf het signaal.
  2. Verzamel een qkview-rapport, stuur het naar F5 en dien een zaak in. Het Ierse NCSC zei dat F5 dat rapport kan controleren op tekenen van een compromis, en dat het aankaarten van een bijbehorende zaak een snellere en vollediger reactie oplevert.
  3. Vergelijk de inhoud van modules in het geheugen met de kopieën op schijf, wat Sophos aanbeveelt toe te voegen aan incidentrespons-playbooks voor kritieke webservers.
  4. Als een volledig onderzoek niet mogelijk is, adviseert de Britse NCSC om het apparaat te isoleren en als nieuw weer op te bouwen, en zegt dat dit tot een storing kan leiden.

Drie dingen zijn nog onbekend. F5 heeft niet gezegd wanneer de exploitatie begon.

Geen van de gepubliceerde adviezen of analyses zegt of het upgraden van een apparaat naar een vaste release de malware verwijdert die er al op is geïnstalleerd, en zowel Sophos als ESET beschrijven een component die is ontworpen om upgrade-images te overleven.

En niemand heeft een aanvaller genoemd: Sophos zei dat het niet genoeg bewijsmateriaal heeft om een ​​groep te noemen, en ESET zei in april dat het de kwestie ook nog niet had opgelost.

Thijs Van der Does