Beveiligingsincident: Gemanipuleerd script geleverd via PushEngage

Samenvatting

We reageren op een beveiligingsincident waarbij PushEngage betrokken is. Een aanvaller kreeg toegang tot een inloggegevens voor ons content delivery network (CDN) en gebruikte deze om een gemanipuleerde versie van het JavaScript-bestand te leveren dat deze producten aan klantwebsites leveren. Gedurende een beperkte periode laadden websites die ons script insluiten dit gewijzigde bestand rechtstreeks van ons CDN.

De kwaadaardige code activeerde alleen voor ingelogde WordPress-beheerders. Toen het op een getroffen site werd uitgevoerd, probeerde het een verborgen beheerdersaccount aan te maken en een verborgen backdoor-plugin te installeren, en stuurde vervolgens gegevens naar een door de aanvaller gecontroleerde server. Gewone websitebezoekers werden niet getarget, maar omdat de code een aanvaller controle over een site kan geven, moet elke getroffen site als gecompromitteerd worden beschouwd.

Omvang – wat wel en niet is bereikt: 

Onze applicatieservers, onze broncode en de systemen die uw PushEngage-accountinformatie opslaan, worden afzonderlijk gehost en zijn niet gecompromitteerd. We hebben geen bewijs dat accountgegevens of persoonlijke gegevens die wij bewaren zijn benaderd. Het compromis was beperkt tot onze marketingwebsiteserver en, via een daarop opgeslagen CDN API-sleutel, ons CDN-account. Belangrijk is dat dit de urgentie voor getroffen site-eigenaren niet vermindert: het bestand dat aan uw site werd geleverd, was gemanipuleerd, daarom zijn de onderstaande stappen nog steeds belangrijk als u zich in het blootstellingsvenster bevond.

Wie moet nu handelen: Als uw site PushEngage actief had en een beheerder was ingelogd tijdens het onderstaande blootstellingsvenster, beschouw uw site dan als gecompromitteerd en volg onmiddellijk [Wat te controleren en te doen](#what-to-check-and-do). De meest betrouwbare controles vinden plaats op uw server, niet in het WordPress-dashboard.

Blootstellingsvenster

Op basis van de logboeken van onze CDN-provider was de ongeautoriseerde configuratie met gemanipuleerde bestanden ongeveer enkele uren op 12 juni 2026 (UTC) aanwezig. Voor een subset van gebruikers bleef het tot 14 juni (UTC) vanaf bepaalde CDN-randlocaties worden geleverd. We zijn bezig met het bevestigen van de precieze periode waarin getroffen inhoud werd geleverd en zullen deze melding bijwerken zodra aanvullende details zijn geverifieerd.

Alleen sites die het getroffen script laadden met een ingelogde beheerder tijdens dit venster, konden gecompromitteerd zijn.

De getroffen bestanden waren de standaard insluitingsscripts geleverd vanaf:

Wat er gebeurde

Een aanvaller heeft misbruik gemaakt van een bekende kwetsbaarheid in een plug-in van derden voor WordPress (UpdraftPlus) om toegang te krijgen tot de server waarop onze marketingwebsite wordt gehost. Deze server is volledig gescheiden: andere host, andere infrastructuur dan de applicatieservers die PushEngage draaien en klantgegevens opslaan.

Op de marketing server heeft de aanvaller een API-sleutel voor onze CDN-account gevonden. Met die sleutel hoefden ze onze applicatie-oorsprong helemaal niet aan te raken. Ze hebben de bestanden gewijzigd die onze CDN serveerde, zodat het gemanipuleerde script gedurende een beperkte periode werd geleverd aan sites die het insloten, voordat we de wijziging detecteerden en ongedaan maakten.

We hebben de marketingwebsite sindsdien hersteld, naar een nieuwe server gemigreerd en alle referenties geroteerd, inclusief de CDN API-sleutel.

Wat de kwaadaardige code deed

Op een getroffen site, toen een ingelogde beheerder een pagina laadde, probeerde de code het volgende:

  1. Bevestigen dat deze draaide in een WordPress admin-context, en vervolgens de beveiligingstokens verzamelen die nodig zijn om als die beheerder te handelen.
  2. Een verborgen beheerdersaccount aanmaken. Bekende accounts zijn developer_api1 ([email protected]) en willekeurige accounts van de vorm dev_xxxxxx.
  3. Een zelfverborgende backdoor-plug-in installeren die zich verbergt voor het dashboard en een niet-geauthenticeerde webshell en code-uitvoerings-eindpunt blootlegt — wat effectief volledige controle over de site verleent.
  4. De nieuwe referenties en sitegegevens verzenden naar een door de aanvaller gecontroleerde server.

Omdat de backdoor zich verbergt voor de WordPress admin-schermen, zal het dashboard alleen niet vertellen of je getroffen bent. De betrouwbare controles bevinden zich op het bestandssysteem van de server en via een scan aan de serverzijde.

Wat te controleren en te doen

Als je PushEngage op je website draaide EN een beheerder was ingelogd op je WordPress-site tijdens het blootstellingsvenster, doe dan zo snel mogelijk het volgende. Als je niet zeker weet of een beheerder was ingelogd, is het veiliger om te controleren.

  1. Verwijder ongeldige beheerdersaccounts. Zoek naar developer_api1 / [email protected] en alle onverwachte dev_xxxxxx-accounts en verwijder ze.
  1. Controleer het bestandssysteem – niet alleen het dashboard — op de backdoor-plug-in. Onder wp-content/plugins, zoek naar content-delivery-helper (“Content Delivery Helper”) of database-optimizer (“Database Optimizer”). De vermomming roteert, dus vertrouw op wat er op schijf staat boven wat het dashboard laat zien. Verwijder alles wat je vindt.
  1. Voer een server-side malware scan uit. Omdat de payload alleen draaide voor ingelogde beheerders, zijn dashboard- en client-side controles onbetrouwbaar; een server-side scan is de meest betrouwbare manier om de backdoor of verdere wijzigingen te vinden.
  1. Als je een van de bovenstaande indicatoren vindt, ga er dan van uit dat er sprake is van volledige compromittering en roteer alles: beheerderswachtwoorden, applicatie-/API-sleutels, database-referenties en je WordPress-beveiligingssleutels/salts in wp-config.php. De backdoor stond willekeurige code-uitvoering toe, dus er kan aanvullende persistentie bestaan.

Als u geen van deze indicatoren vindt en er geen beheerder was ingelogd tijdens het venster, is uw site zeer waarschijnlijk niet getroffen en zijn er geen verdere acties vereist dan standaard hygiëne (schakel tweefactorauthenticatie in, houd software up-to-date).

Wat we tot nu toe hebben gedaan

  • De manipulatie gedetecteerd en de getroffen CDN-bestanden onmiddellijk teruggedraaid; de CDN-cache geleegd zodat schone bestanden worden geleverd.
  • De CDN API-sleutel en alle gerelateerde inloggegevens ingetrokken en geroteerd.
  • De gecompromitteerde marketingwebsite hersteld en gemigreerd naar een nieuwe server op aparte infrastructuur.
  • Bevestigd dat onze applicatieservers, broncode en klantgegevenssystemen, die op aparte infrastructuur staan, geen bewijs van toegang vertonen.
  • Ons beveiligingsteam ingeschakeld en samenwerken met onze CDN-provider om leveringslogboeken te verkrijgen.

Status en doorlopend risico

Onze CDN-configuratie is gecorrigeerd en de gemanipuleerde bestanden zijn verwijderd, de getroffen inloggegevens zijn geroteerd en het toegangspunt op onze marketingserver is hersteld. 

Het herstellen van onze systemen maakt een site die al gecompromitteerd was niet schoon. Als uw site tijdens het blootstellingsvenster is getroffen, blijven het ongeldige beheerdersaccount en de verborgen backdoor-plugin bestaan totdat u ze verwijdert met de bovenstaande stappen. We raden aan om snel te handelen. We zullen deze pagina bijwerken als er aanvullende relevante informatie verschijnt.

Indicatoren van compromis

Voor site-eigenaren en beveiligingsteams:

Ongeldige accounts:

Vermommingen van backdoor-plugins (roterend; controleer het bestandssysteem):

  • content-delivery-helper   “Content Delivery Helper”   v2.7.1
  • database-optimizer        “Database Optimizer”         v2.9.4

Aanvallersinfrastructuur:

  • tidio.cc   (lookalike domein — NIET het legitieme tidio.com)

Unieke strings:

  • jX9kM2nP4qR6sT8v            (encryptiesleutel gebruikt door de malware)
  • WPM File Manager & Shell    (backdoor shell-interface)

Contact

Als u vragen heeft, hulp nodig heeft bij het controleren van uw site, of iets ongewoons opmerkt, neem dan contact met ons op via [email protected]. We geven prioriteit aan incidentgerelateerde vragen en houden deze pagina up-to-date.

Het beschermen van onze klanten is een prioriteit voor ons. We begrijpen dat dit incident zorgwekkend kan zijn en betreuren elke verstoring die het heeft veroorzaakt. De bovenstaande informatie weerspiegelt ons onderzoek tot nu toe en we zullen deze pagina bijwerken naarmate aanvullende details worden bevestigd.

Voeg een reactie toe

We zijn blij dat je een reactie hebt achtergelaten. Houd er rekening mee dat alle reacties worden gemodereerd volgens ons privacybeleid, en alle links zijn nofollow. GEBRUIK GEEN trefwoorden in het naamveld. Laten we een persoonlijke en betekenisvolle conversatie hebben.

Bezoekers betrekken en behouden nadat ze uw website hebben verlaten

Verhoog de waarde van elk websitebezoek met pushmeldingen die moeilijk te missen zijn.

  • Voor Altijd Gratis Plan
  • Eenvoudige Installatie
  • 5 Sterren Support