Webwinkels krijgen opnieuw te maken met een hardnekkige aanval. Volgens Sansec zijn 953 online stores besmet, merendeels winkels die op Magento draaien. Het opvallende: de campagne loopt al sinds juli 2025 en maakt gebruik van meerdere JavaScript-loaderdomeinen die voortdurend wisselen.
Voor winkelbeheerders betekent dit dat “even scannen” niet genoeg kan zijn. De malwarelaag kan zich aanpassen, bezoekers gericht benaderen en daarmee detectie en opschoning vertragen.
Waar het begon: loadercode in een langlopende campagne
Sansec meldt dat een dreigingsacteur bij honderden winkels loadercode achterliet. Die loader moet in de browser van bezoekers worden ingeladen en stuurt vervolgens vervolggedrag. In totaal werden vijf verschillende domeinen gebruikt voor die JavaScript-loader.
De eerste domeinen die lange tijd terugkeerden waren manulfie.click, neswnsssn.click, lanhd6549tdhse.top en additionalver.com. Sansec ziet dat die varianten op grote schaal werden aangetroffen bij online winkels.
Waarom de aanval moeilijk te stoppen is
De campagne blijkt flexibel. Zo raakten neswnsssn.click en manulfie.click in een later stadium verlopen en werden beide domeinen opnieuw geregistreerd. Bovendien veranderde de infrastructuur: ze gingen vervolgens gebruikmaken van nameservers van een domeinparkeer-dienst.
Sansec beschrijft dat de loader op manulfie.click nog steeds op meerdere winkels werd gevonden tussen augustus en oktober 2026, terwijl neswnsssn.click in diezelfde periode op een kleiner aantal winkels actief bleek.
Nieuwe fase: deepveindrilling.com achter Cloudflare
In oktober 2026 verschoof de aanvaller naar het domein deepveindrilling.com. Dit domein bevindt zich achter Cloudflare en reageert volgens Sansec alleen op verzoeken van scripts die in de browser van bezoekers van geïnfecteerde winkels worden geladen.
Sansec koppelt dit aan detectiemijding: de loader lijkt niet zomaar iedereen te bedienen. Daardoor kan het zijn dat een “lege” webscan minder snel het probleem zichtbaar maakt, omdat de echte uitvoering afhangt van wie de pagina bezoekt en hoe de browser daaruit de code ophaalt.
Gerichte uitvoering via visitor fingerprinting
Een belangrijke functie van de loader is visitor fingerprinting. De code maakt een profiel van de bezoeker en serveert daarna de payload alleen aan “echte” bezoekers. Dit is bedoeld om beveiligingsonderzoeken te ontwijken: automatische analysetools of niet-realistische verzoeken leveren mogelijk niet dezelfde resultaten op.
Sansec heeft volgens de rapportage het uiteindelijke payload-component nog niet volledig kunnen vastleggen. Wel is bekend dat eerdere loaderversies scripts ophaalden van crypto-gerelateerde domeinen, waaronder een domein dat een bekende walletnaam nabootste.
Hoe winkels binnenkomen: PolyShell en SessionReaper
Naast het plaatsen van loadercode meldt Sansec ook een route via bekende kwetsbaarheden. In maart werden 471 Magento-winkels geïnjecteerd met de loader via PolyShell (CVE-2026-48356).
Daarnaast zijn er meer dan 100 winkels gevonden waar bestanden waren geüpload via PolyShell of via SessionReaper (CVE-2025-54236). Dit wijst erop dat de campagne niet alleen afhankelijk is van “eenmalig” script-injectie, maar mogelijk gebruikmaakt van foutpaden om toegang en persistente wijzigingen te realiseren.
Zelf een “gepatchte” winkel kan opnieuw de loader krijgen
Het rapport bevat een relevant detail voor beheerders. Sansec noemt een winkel op Magento 2.4.7-p10 zonder ontbrekende core patches, die toch rond 16:46 UTC op 23 oktober de loader van deepveindrilling.com binnenkreeg—kort nadat een scan als “clean” was geclassificeerd.
Diezelfde winkel had op eerdere data al problemen: eComscan vond op 16 september een rogue admin account, en op 24 september een GSocket backdoor. Dat patroon past bij aanvallen waarbij persistente toegang blijft bestaan, ook nadat oppervlakkige checks zijn gedaan.
Welke indicatoren Sansec ziet in het verkeer
Sansec noemt ook CSP-gerelateerde monitoring. Hun CSP-monitoringservice (Sansec Watch) kreeg meldingen dat browsers van bezoekers de eerdere loaderdomeinen benaderden. Voor additionalver.com gaat het volgens Sansec om ongeveer 52.000 aanvragen die door bezoekers werden veroorzaakt.
Dat is een aanwijzing dat het probleem niet alleen beperkt blijft tot een paar besmette installaties, maar dat de loader actief wordt wanneer een bezoeker de juiste pagina’s laadt.
Wat winkelbeheerders nu moeten doen
Sansec is helder: eigenaren en beheerders moeten zowel de aanwezigheid van loadercode controleren als nagaan of er kwetsbaarheden of achterdeurtjes zijn achtergebleven.
1) Controleer je CMS en themabestanden op loadercode
Ga na waar de JavaScript-loader wordt ingeladen. Kijk naar content management componenten, aangepaste extensies en thema’s. Zoek naar verwijzingen naar de domeinen uit de campagne (zoals de genoemde manulfie.click, neswnsssn.click, lanhd6549tdhse.top, additionalver.com en deepveindrilling.com).
2) Beoordeel of er kwetsbaarheden of backdoors actief zijn
Omdat de aanval ook via PolyShell en SessionReaper lijkt te lopen, is het belangrijk niet alleen naar code te kijken, maar ook naar sporen van misbruik: geüploade bestanden, ongebruikelijke scripts en persistente mechanismen.
3) Zoek naar rogue administrator accounts
Sansec benadrukt het risico van niet-geregistreerde of ongeautoriseerde beheerderstoegang. Verifieer admin-accounts, bekijk wanneer ze zijn aangemaakt en controleer de bijbehorende permissies.
4) Wachtwoorden roteren en opschonen
Als je een besmetting vermoedt of bevestigt, wijzig dan alle wachtwoorden en herbouw waar nodig de betrokken onderdelen. Ook externe toegang (API-tokens, beheerdersaccounts, ondersteuningsaccounts) valt hieronder.
5) Zorg dat je deployment up-to-date is
Voer upgrades en security patches door voor de gebruikte Magento-versies en gerelateerde componenten. Let op: Sansec’s voorbeeld laat zien dat “clean na scan” niet automatisch gelijkstaat aan veilig, als een achterdeur nog actief is.
Vergelijkbare aanpak: waarom context en chaining belangrijk zijn
Deze campagne laat zien dat een loader op zichzelf niet het hele verhaal vertelt. Het gaat om ketens: invoer via een kwetsbaarheid, persistentie, en daarna gerichte uitvoering richting bezoekers. Dat is precies waarom SecOps-teams baat hebben bij context tussen alerts.
Wil je inspiratie voor hoe je signalen aan elkaar koppelt, lees dan ook: AI SOC: bewijs tussen alerts voor context.
Let extra op: supply chain en misbruik van tooling
Deze melding draait om webinjection via webwinkelinfrastructuur. Maar in hetzelfde bedreigingslandschap zien we vaker dat beveiligingslekken en “omwegen” worden misbruikt om code in de keten te plaatsen. Als je bredere supply chain risico’s wilt doordenken, kan dit artikel helpen als referentie: LiteLLM supply chain aanval: PyPI en Docker.
Conclusie
De bevindingen van Sansec schetsen een ernstige en langdurige aanval: 953 online stores besmet, vooral Magento-winkels, met wisselende JavaScript-loaders en gerichte visitor fingerprinting. Domeinen verlopen, worden opnieuw geregistreerd en soms reageert de infrastructuur alleen onder specifieke omstandigheden.
Daarom is je responsscope breed: controleer loadercode in je CMS, onderzoek kwetsbaarheidspaden zoals PolyShell en SessionReaper, speur naar rogue admin-accounts en roteer wachtwoorden. Combineer dat met actuele patches en een opschoning die ook persistente backdoors meeneemt—dan pas verklein je de kans dat de campagne opnieuw toeslaat.
Bron: https://www.securityweek.com/953-online-stores-infected-in-long-lasting-malware-campaign/
