Technologie voor het bestendig houden van malware op load balancers van F5 en Citrix

De afgelopen jaren hebben hackers zich gericht op netwerkapparaten die in contact staan met het openbare internet, zoals routers, VPN-concentrators en load balancers, om zo voet aan de grond te krijgen in bedrijfsnetwerken. Hoewel het niet ongebruikelijk is om kwetsbaarheden voor het op afstand uitvoeren van code in dergelijke apparaten aan te treffen, zijn incidenten waarbij aanvallers malware op deze apparaten kunnen installeren die herstarts of firmware-upgrades overleeft, zeldzaam en worden deze vaak toegeschreven aan geavanceerde, door georganiseerde groepen uitgevoerde APT’s.

Omdat ze gebruikmaken van flashgeheugen, dat na verloop van tijd kan verslechteren als er vaak naar wordt geschreven, slaan ingebouwde netwerkapparaten hun firmware vaak op in een alleen-lezen bestandssysteem en laden ze de inhoud ervan bij elke herstart in het RAM-geheugen. Dit betekent dat alle wijzigingen en bestanden die door de verschillende actieve services tijdens de normale werking van het apparaat worden gegenereerd, tijdelijk zijn, aangezien ze alleen in het RAM-geheugen voorkomen en nooit worden opgeslagen in het bestandssysteem, dat bij het herstarten van het apparaat in de oorspronkelijke staat wordt hersteld.

De uitzonderingen hierop zijn configuratiebestanden en scripts die via de interface voor apparaatbeheer worden gegenereerd en worden opgeslagen in een beperkt opslaggebied dat NVRAM (non-volatile RAM) wordt genoemd. Vanuit het perspectief van een aanvaller maakt deze beperking het moeilijker om netwerkapparaten op een blijvende manier te compromitteren; daarom worden bij grootschalige aanvallen op bijvoorbeeld thuisrouters geautomatiseerde botnets ingezet die de router periodiek opnieuw scannen en opnieuw infecteren.

In het geval van een gerichte aanval op een bedrijfsnetwerk geven aanvallers er echter de voorkeur aan onopgemerkt te blijven in plaats van hetzelfde apparaat meerdere keren aan te vallen, om zo geen detectiemechanismen te activeren die mogelijk worden geïmplementeerd als de kwetsbaarheid openbaar wordt gemaakt. Ze geven ook de voorkeur aan langdurige toegang tot dergelijke apparaten en gebruiken deze als bruggen naar interne netwerken, evenals als steunpunten van waaruit ze laterale bewegingen kunnen uitvoeren en hun toegang kunnen uitbreiden naar andere, niet-openbare apparaten.

Mogelijkheden voor persistentie in Citrix- en F5-loadbalancers

Sinds 2019 zijn er drie kritieke kwetsbaarheden aan het licht gekomen in load balancers van Citrix en F5 (CVE-2019-19781, CVE-2020-5

(902 en CVE-2022-1388) zijn deze kwetsbaarheden openbaar gedocumenteerd en in de praktijk misbruikt, wat aanleiding heeft gegeven tot waarschuwingen van het Amerikaanse Cybersecurity and Infrastructure Security Agency (CISA) en andere organisaties. Daarom hebben onderzoekers van Eclypsium, een bedrijf gespecialiseerd in firmwarebeveiliging, onlangs de mogelijkheden voor aanvallers onderzocht om op dergelijke apparaten een blijvende aanwezigheid te verkrijgen. Hun bevindingen zijn woensdag in een rapport gepubliceerd.

In mei 2022 meldde beveiligingsbedrijf Mandiant dat een cyberespionage-actor – destijds geïdentificeerd als UNC3524, maar later in verband gebracht met de Russische staatsgerelateerde APT29 (Cozy Bear) – bedrijfsnetwerken had gehackt en zelf was gehackt door de implementatie van een achterdeur. De inbraak bleef lange tijd onopgemerkt op netwerkapparaten, waaronder load balancers die geen detectietools zoals Endpoint Detection and Response (EDR) ondersteunden en waarop oudere versies van CentOS en BSD draaiden. Hoewel Mandiant de namen van deze apparaten of hun fabrikanten niet heeft genoemd, denken onderzoekers van Eclypsium dat het om F5- en Citrix-apparaten gaat, omdat de F5-load balancer op CentOS draait en Citrix (voorheen Netscaler) op FreeBSD draait.

“Eén kenmerk van UNC3524 springt eruit: hun TTP is onbetrouwbaar, ze gebruiken aangepaste open-source-software om hun achterdeur te bouwen en lijken slechts genoeg van het systeem te weten om de meest elementaire doelen te bereiken,” schreven onderzoekers van Eclypsium in hun paper, aldus het rapport. Rapport. “Hun implantaten waren zo onbetrouwbaar dat ze netwerkshells installeerden met als enig doel deze opnieuw op te starten nadat ze waren uitgevallen. Juist deze eigenschap vormde de aanleiding voor dit onderzoek, en de open vraag was: zou dit ook op een load balancer kunnen? Met behulp van een kant-en-klaar C2-framework? Is de malware veerkrachtig genoeg om na herstarts of zelfs upgrades te blijven bestaan? Is het mogelijk om een apparaat zo diep te infecteren dat een volledige reset en herinstallatie niet volstaan?”

Veel aanvalsgroepen kiezen ervoor om gekraakte versies van commerciële aanvalsframeworks zoals Cobalt Strike of Brute Ratel te gebruiken, maar de onderzoekers van Eclypsium wilden iets dat open source was en gemakkelijk te gebruiken door minder ervaren aanvallers; daarom kozen ze voor Sliver, een open-sourceframework voor het simuleren van tegenstanders, voor hun testimplantaten. Sliver is geschreven in Go, waardoor het platformonafhankelijk is en mogelijkheden biedt voor rotatie en tunneling.

Om te onderzoeken welke bestanden de F5-loadbalancer behoudt tijdens herstarts en firmware-upgrades, hebben de onderzoekers gekeken naar de functie voor het maken van configuratieback-ups die beschikbaar is via de beheerinterface. Deze functie kan worden gebruikt om een archief te genereren met alle configuraties en instellingen, dat later bij een nieuwe installatie kan worden overgenomen. Implementatie. Uit een archief met honderden bestanden selecteerden de onderzoekers drie uitvoerbare scripts en configuratiebestanden waarmee bij bepaalde gebeurtenissen scripts konden worden uitgevoerd.

“Een onverwachte bevinding in dit onderzoek betrof de documentatie van de leverancier; het blijkt dat deze apparaten door de jaren heen een schat aan informatie bevatten over niet-gedocumenteerde functies en mogelijkheden,” aldus de onderzoekers. “Zonder de documentatie van de leverancier zou dit onderzoek veel moeilijker zijn geweest. Het is belangrijk om te begrijpen hoe het apparaat met zijn configuratiebestanden omgaat.”

↑