Een overtuigende nepversie van het populaire Mac CleanMyMac misleidt gebruikers om malware te installeren.
De site vraagt bezoekers om een commando in Terminal te plakken. Als ze dat doen, wordt SHub Stealer geïnstalleerd, macOS-malware die is ontworpen om gevoelige gegevens te stelen, waaronder opgeslagen wachtwoorden, browsergegevens, de inhoud van Apple Keychain, cryptocurrency-wallets en Telegram-sessies. Het kan zelfs wallet-apps zoals Exodus, Atomic Wallet, Ledger Wallet en Ledger Live aanpassen, zodat aanvallers later de herstelzin van de wallet kunnen stelen.
De site doet zich voor als de website van CleanMyMac, maar heeft geen verband met de legitieme software of de ontwikkelaars, MacPaw.
Onthoud: Legitieme apps vereisen bijna nooit dat u commando's in Terminal plakt om ze te installeren. Als een website u vraagt dit te doen, beschouw dit dan als een belangrijke waarschuwing en ga niet verder. Download bij twijfel alleen software van de officiële website van de ontwikkelaar of de App Store.
Lees het uitgebreide artikel om te zien wat we hebben ontdekt.

"Open Terminal en plak de volgende opdracht"
De aanval begint op cleanmymacos[.]org, een website die is ontworpen om eruit te zien als de echte CleanMyMac-productpagina. Bezoekers krijgen een geavanceerde installatieoptie te zien, zoals een ervaren gebruiker zou verwachten. De pagina instrueert hen om Terminal te openen, een commando te plakken en op Return te drukken. Er is geen downloadprompt, schijfimage of beveiligingsdialoogvenster.
Dat commando voert drie acties snel achter elkaar uit:
- Eerst wordt een geruststellende regel afgedrukt:
macOS-CleanMyMac-App: https://macpaw.com/cleanmymac/us/appom de uitvoer van de terminal er legitiem uit te laten zien. - Vervolgens decodeert het een base64-gecodeerde link die de echte bestemming verbergt.
- Ten slotte downloadt het een shellscript van de server van de aanvaller en stuurt het rechtstreeks door naar
zshvoor onmiddellijke uitvoering.
Vanuit het perspectief van de gebruiker gebeurt er niets bijzonders.
Deze techniek, bekend als ClickFix, is een veelgebruikte methode geworden voor het verspreiden van Mac . In plaats van misbruik te maken van een kwetsbaarheid, wordt de gebruiker misleid om de malware zelf uit te voeren. Omdat het commando vrijwillig wordt uitgevoerd, bieden beveiligingen zoals Gatekeeper, notarisatiecontroles en XProtect weinig bescherming zodra de gebruiker het commando plakt en op Return drukt.

Geofencing: Niet iedereen krijgt de payload
Het eerste script dat op de Mac van het slachtoffer terechtkomt, Mac een loader, een klein programma dat het systeem controleert voordat de aanval wordt voortgezet.
Een van de eerste controles bekijkt de toetsenbordinstellingen van macOS om te zien of er een Russisch toetsenbord is geïnstalleerd. Als dat het geval is, stuurt de malware een cis_blocked gebeurtenis naar de server van de aanvaller en sluit af zonder iets anders te doen.
Dit is een vorm van geofencing. Malware die gelinkt is aan Russisch sprekende cybercriminele groepen vermijdt vaak het infecteren van computers die lijken toe te behoren aan gebruikers in GOS-landen (het Gemenebest van Onafhankelijke Staten, waaronder Rusland en verschillende buurlanden). Door systemen te vermijden die lijken toe te behoren aan Russische gebruikers, verminderen de aanvallers het risico om de aandacht van lokale wetshandhavers te trekken.
Het gedrag bewijst niet waar SHub is ontwikkeld, maar het volgt een patroon dat al lang wordt waargenomen in dat ecosysteem, waar malware zo is geconfigureerd dat het geen systemen in de eigen regio van de operators infecteert.

Als het systeem deze controle doorstaat, stuurt de loader een profiel van de machine naar de command-and-control-server op res2erch-sl0ut[.]com. Het rapport bevat het externe IP-adres van het apparaat, de hostnaam, de macOS-versie en de toetsenbordlocatie.
Elk rapport wordt voorzien van een unieke build-hash, een identificatiecode van 32 tekens die fungeert als een tracking-ID. Dezelfde identificatiecode verschijnt in latere communicatie met de server, waardoor de operators activiteiten kunnen koppelen aan een specifiek slachtoffer of een specifieke campagne.
"Systeemvoorkeuren heeft uw wachtwoord nodig om door te gaan"
Door payloads met en zonder build-hash te vergelijken, komt een ander veld op campagneniveau in de malwarebouwer aan het licht: BUILD_NAME. In het voorbeeld dat aan een build-hash is gekoppeld, is de waarde ingesteld op PAds; in de versie zonder hekje is het veld leeg. De waarde is ingebed in het heartbeat-script van de malware en wordt bij elke beacon-check-in samen met de bot-ID en build-ID naar de command-and-control (C2)-server verzonden.
Wat PAds kan niet worden bevestigd op basis van de payload alleen, maar de structuur komt overeen met het soort verkeersbron-tag dat vaak wordt gebruikt in pay-per-install- of advertentiecampagnes om na te gaan waar infecties vandaan komen. Als die interpretatie juist is, suggereert dit dat slachtoffers de valse CleanMyMac-site bereiken via betaalde plaatsingen in plaats van via organische zoekresultaten of directe links.
Zodra de loader een geschikt doelwit heeft gevonden, downloadt en voert hij de hoofdpayload uit: een AppleScript dat wordt gehost op res2erch-sl0ut[.]com/debug/payload.applescriptAppleScript is de ingebouwde automatiseringstaal van Apple, waarmee de malware met macOS kan communiceren via legitieme systeemfuncties. De eerste actie is het sluiten van het Terminal-venster dat het programma heeft gestart, waardoor het meest voor de hand liggende teken dat er iets is gebeurd, wordt verwijderd.
Vervolgens komt het verzamelen van wachtwoorden. Het script geeft een dialoogvenster weer dat sterk lijkt op een legitieme macOS-systeemprompt. De titel luidt 'Systeemvoorkeuren', het venster toont het hangslotpictogram van Apple en het bericht luidt:
De onhandige formulering – 'voor doorgaan' in plaats van 'om door te gaan' – is een aanwijzing dat de prompt nep is, hoewel veel gebruikers onder druk dit misschien niet opmerken.
"Vereiste applicatie-assistent. Voer het wachtwoord in om door te gaan."
Als de gebruiker zijn wachtwoord invoert, controleert de malware onmiddellijk of het correct is met behulp van de macOS-opdrachtregeltool. dsclAls het wachtwoord onjuist is, wordt dit geregistreerd en verschijnt de prompt opnieuw. Het script herhaalt de prompt maximaal tien keer totdat een geldig wachtwoord is ingevoerd of het aantal pogingen is opgebruikt.
Dat wachtwoord is waardevol omdat het de macOS Keychain ontgrendelt, het versleutelde opslagsysteem van Apple voor opgeslagen wachtwoorden, wifi-inloggegevens, app-tokens en privésleutels. Zonder het inlogwachtwoord is de Keychain-database slechts versleutelde data. Met het wachtwoord kan de inhoud worden ontsleuteld en gelezen.
Een systematische zoektocht naar alles wat de moeite waard is om te stelen
Met het wachtwoord in handen begint SHub een systematische scan van de machine. Alle verzamelde gegevens worden opgeslagen in een tijdelijke map met een willekeurige naam, bijvoorbeeld /tmp/shub_4823917/—voordat ze worden verpakt en naar de aanvallers worden verzonden.
De browser targeting is uitgebreid. SHub doorzoekt 14 Chromium-gebaseerde browsers (Chrome, Brave, Edge, Opera, OperaGX, Vivaldi, Arc, Sidekick, Orion, Coccoc, Chrome , Chrome , Chrome en Chromium) en steelt opgeslagen wachtwoorden, cookies en automatisch ingevulde gegevens uit elk profiel dat het vindt. Firefox krijgt dezelfde behandeling voor opgeslagen inloggegevens.
De malware scant ook geïnstalleerde browserextensies en zoekt naar 102 bekende cryptocurrency-wallet-extensies op basis van hun interne identificatiecodes. Deze omvatten MetaMask, Phantom, Coinbase Wallet, Exodus Web3, Trust Wallet, Keplr en vele andere.
Desktop wallet-applicaties zijn ook het doelwit. SHub verzamelt lokale opslaggegevens van 23 wallet-apps, waaronder Exodus, Electrum, Atomic Wallet, Guarda, Coinomi, Sparrow, Wasabi, Bitcoin Core, Monero, Litecoin Core, Dogecoin Core, BlueWallet, Ledger Live, Ledger Wallet, Trezor Suite, Binance en TON Keeper. Elke walletmap heeft een maximum van 100 MB om het archief beheersbaar te houden.
Naast portemonnees en browsers legt SHub ook de macOS Keychain-directory, iCloud-accountgegevens, Safari-cookies en browsegegevens, Apple Notes-databases en Telegram-sessiebestanden vast – informatie waarmee aanvallers accounts kunnen kapen zonder de wachtwoorden te kennen.
Het kopieert ook shell-geschiedenisbestanden (.zsh_history en .bash_history) en .gitconfig, die vaak API-sleutels of authenticatietokens bevatten die door ontwikkelaars worden gebruikt.
Al deze gegevens worden gecomprimeerd in een ZIP-archief en geüpload naar res2erch-sl0ut[.]com/gate samen met een hardgecodeerde API-sleutel die de malware-build identificeert. Het archief en de tijdelijke bestanden worden vervolgens verwijderd, waardoor er minimale sporen op het systeem achterblijven.

Het deel dat blijft stelen nadat je hebt opgeruimd
De meeste infostealers zijn smash-and-grab-operaties: ze worden één keer uitgevoerd, nemen alles mee en verdwijnen weer. SHub doet dat ook, maar gaat nog een stap verder.
Als het bepaalde wallet-applicaties vindt, downloadt het een vervanging voor het kernlogicabestand van de applicatie van de server van de aanvaller en vervangt het dit stilzwijgend. We hebben vijf van dergelijke vervangingen teruggevonden en geanalyseerd. Alle vijf waren voorzien van een achterdeur, elk afgestemd op de architectuur van de doelapplicatie.
De doelwitten zijn op Electron gebaseerde apps. Dit zijn desktopapplicaties die zijn gebouwd op webtechnologieën en waarvan de kernlogica zich bevindt in een bestand met de naam app.asar. SHub beëindigt de actieve toepassing en downloadt een vervangende versie. app.asar van de C2-server overschrijft het origineel in de applicatiebundel, verwijdert de codesignatuur en ondertekent de app opnieuw, zodat macOS deze accepteert. Het proces wordt stil op de achtergrond uitgevoerd.
De vijf bevestigde crypto-wallet-apps zijn Exodus, Atomic Wallet, Ledger Wallet, Ledger Live en Trezor Suite.
Exodus: stille diefstal van inloggegevens bij elke ontgrendeling
Bij elke ontgrendeling van de wallet stuurt de aangepaste app stilzwijgend het wachtwoord en de seed phrase van de gebruiker naar wallets-gate[.]io/api/injectionEr wordt een bypass van één regel toegevoegd aan het netwerkfilter om het verzoek door te laten via de eigen domein-allowlist van Exodus.
Atomic Wallet: dezelfde exfiltratie, geen bypass nodig
Bij elke ontgrendeling stuurt de aangepaste app het wachtwoord en de mnemonische code van de gebruiker naar wallets-gate[.]io/api/injectionEr is geen netwerkfilter-bypass nodig — het Content Security Policy van Atomic Wallet staat al uitgaande HTTPS-verbindingen naar elk domein toe.
Ledger Wallet: TLS-bypass en een valse herstelwizard
De aangepaste app schakelt TLS-certificaatvalidatie uit bij het opstarten. Vijf seconden na het opstarten vervangt het de interface door een valse herstelwizard van drie pagina's die de gebruiker om zijn seed-zin vraagt en deze naar wallets-gate[.]io/api/injection.
Ledger Live: identieke wijzigingen
Ledger Live ondergaat dezelfde wijzigingen als Ledger Wallet: TLS-validatie wordt uitgeschakeld en de gebruiker krijgt dezelfde valse herstelwizard te zien.
Trezor Suite: valse beveiligingsupdate-overlay
Nadat de applicatie is geladen, verschijnt er een overlay op volledig scherm die is aangepast aan de interface van Trezor Suite. Deze overlay toont een valse kritieke beveiligingsupdate waarin de seed-zin van de gebruiker wordt gevraagd. De zin wordt gevalideerd met behulp van de eigen BIP39-bibliotheek van de app, voordat deze wordt verzonden naar wallets-gate[.]io/api/injection.
Tegelijkertijd wordt het updatemechanisme van de app uitgeschakeld via Redux store-onderschepping, zodat de gewijzigde versie intact blijft.
Vijf portemonnees, één eindpunt, één operator
In alle vijf gemodificeerde applicaties is de exfiltratie-infrastructuur identiek: dezelfde wallets-gate[.]io/api/injection eindpunt, dezelfde API-sleutel en dezelfde build-ID.
Elk verzoek bevat een veld waarin de bronportemonnee wordt geïdentificeerd—exodus, atomic, ledger, ledger_liveof trezor_suite—waardoor de backend inkomende inloggegevens per product kan routeren.
Deze consistentie tussen vijf onafhankelijk gemodificeerde applicaties wijst er sterk op dat één enkele operator alle achterdeurtjes tegen dezelfde backend-infrastructuur heeft gebouwd.

Een hardnekkige achterdeur vermomd als de eigen updateservice van Google
Om langdurige toegang te behouden, installeert SHub een LaunchAgent, een achtergrondtaak die macOS automatisch uitvoert telkens wanneer de gebruiker zich aanmeldt. Het bestand wordt geplaatst op:
~/Library/LaunchAgents/com.google.keystone.agent.plist
De locatie en naam zijn gekozen om de legitieme Keystone-updater van Google na te bootsen. De taak wordt elke zestig seconden uitgevoerd.
Elke keer dat het wordt uitgevoerd, start het een verborgen bash-script op dat zich bevindt op:
~/Library/Application Support/Google/GoogleUpdate.app/Contents/MacOS/GoogleUpdate
Het script verzamelt een unieke hardware-identificatiecode van de Mac de IOPlatformUUID) en stuurt deze als bot-ID naar de server van de aanvaller. De server kan reageren met base64-gecodeerde commando's, die het script decodeert, uitvoert en vervolgens verwijdert.
In de praktijk geeft dit de aanvallers de mogelijkheid om Mac elk moment commando's uit te voeren op de geïnfecteerde Mac , totdat het persistentie-mechanisme wordt ontdekt en verwijderd.
De laatste stap is een valse foutmelding die aan de gebruiker wordt getoond:
"Uw Mac deze applicatie Mac . Probeer de versie voor uw systeem opnieuw te installeren of te downloaden."
Dit verklaart waarom CleanMyMac niet geïnstalleerd leek te zijn en het slachtoffer op pad stuurde om een probleem op te lossen dat in werkelijkheid niet bestond.
De plaats van SHub in een groeiende familie van Mac
SHub is geen op zichzelf staande creatie. Het behoort tot een snel evoluerende familie van op AppleScript gebaseerdemacOS-infostealers, waaronder campagnes zoals MacSync Stealer (een uitgebreide versie van malware die bekend staat als Mac.c, voor het eerst gezien in april 2025) en Odyssey Stealer, en heeft kenmerken gemeen met andere malware die inloggegevens steelt, zoals Atomic Stealer.
Deze families hebben een vergelijkbare architectuur: een ClickFix-bezorgketen, een AppleScript-payload, een valse wachtwoordprompt voor Systeemvoorkeuren, recursieve functies voor het verzamelen van gegevens en exfiltratie via een ZIP-archief dat wordt geüpload naar een command-and-control-server.
Wat SHub onderscheidt, is de geavanceerdheid van de infrastructuur. Functies zoals per-slachtoffer build-hashes voor het volgen van campagnes, gedetailleerde wallet-targeting, wallet-applicatie-backdooring en een heartbeat-systeem dat op afstand commando's kan uitvoeren, wijzen allemaal op een auteur die eerdere varianten heeft bestudeerd en veel heeft geïnvesteerd in het uitbreiden ervan. Het resultaat lijkt meer op een malware-as-a-service-platform dan op een eenvoudige infostealer.
De aanwezigheid van een DEBUG De tag in de interne identificatiecode van de malware, samen met de gedetailleerde telemetrie die tijdens de uitvoering wordt verzonden, suggereert dat de bouwer op het moment van analyse nog actief in ontwikkeling was.
De campagne past ook in een breder patroon van aanvallen waarbij merken worden geïmiteerd. Onderzoekers hebben soortgelijke ClickFix-campagnes gedocumenteerd waarbij GitHub-repositories, Google Meet, berichtenplatforms en andere softwaretools werden geïmiteerd, allemaal met als doel gebruikers ervan te overtuigen dat ze legitieme installatie-instructies volgden. De website cleanmymacos.org lijkt hetzelfde patroon te volgen, waarbij een bekend Mac als lokmiddel wordt gebruikt.
Wat te doen als u mogelijk bent getroffen
Het meest effectieve onderdeel van deze aanval is ook het eenvoudigste: het overtuigt het slachtoffer om zelf de kwaadaardige opdracht uit te voeren.
Door een terminalopdracht als een legitieme installatiestap te presenteren, omzeilt de campagne veel van de ingebouwde beveiligingen van macOS. Er hoeft geen app te worden gedownload, er wordt geen schijfimage geopend en er verschijnt geen duidelijke beveiligingswaarschuwing. De gebruiker plakt gewoon de opdracht en drukt op Return.
Dit weerspiegelt een bredere trend: macOS wordt een steeds aantrekkelijker doelwit en de tools die aanvallers gebruiken worden steeds krachtiger en professioneler. SHub Stealer is, zelfs in zijn huidige vorm, een stap verder dan veel eerdere infostealers voor macOS.
Voor de meeste gebruikers is de veiligste regel ook de eenvoudigste: installeer alleen software uit de App Store of van de officiële website van een ontwikkelaar. De App Store voert de installatie automatisch uit, dus er is geen Terminal-opdracht, geen giswerk en geen moment waarop u moet beslissen of u een willekeurige website kunt vertrouwen.
- Voer het commando niet uit. Als u het Terminal-commando dat op cleanmymacos[.]org of een vergelijkbare site wordt weergegeven nog niet hebt uitgevoerd, sluit dan de pagina en ga niet terug.
- Controleer of de persistentieagent aanwezig is. Open Zoeker, druk op Cmd + Shift + G, en ga naar
~/Library/LaunchAgents/.
Als u een bestand ziet met de naam com.google.keystone.agent.plist die u niet hebt geïnstalleerd, verwijder deze dan. Controleer ook:~/Library/Application Support/Google/. Als een map met de naam GoogleUpdate.app aanwezig is en u deze niet hebt geïnstalleerd, verwijder deze dan. - Behandel de seed phrase van uw wallet als gecompromitteerd. Als u Exodus, Atomic Wallet, Ledger Live, Ledger Wallet of Trezor Suite hebt geïnstalleerd en u hebt deze opdracht uitgevoerd, ga er dan vanuit dat uw seed phrase en walletwachtwoord zijn blootgesteld. Verplaats uw geld onmiddellijk naar een nieuwe wallet die op een schoon apparaat is aangemaakt. Seed phrases kunnen niet worden gewijzigd en iedereen met een kopie heeft toegang tot de wallet.
- Wijzig uw wachtwoorden. Uw macOS-aanmeldingswachtwoord en alle wachtwoorden die zijn opgeslagen in uw browser of sleutelhanger moeten als blootgesteld worden beschouwd. Wijzig ze vanaf een apparaat dat u vertrouwt.
- Trek gevoelige tokens in. Als uw shell-geschiedenis API-sleutels, SSH-sleutels of ontwikkelaarstokens bevatte, trek deze dan in en genereer ze opnieuw.
- Start Malwarebytes Mac. Dit programma kan de resterende onderdelen van de infectie detecteren en verwijderen, waaronder LaunchAgent en gewijzigde bestanden.
Indicatoren van compromittering (IOC's)
Domeinen
cleanmymacos[.]org— phishing-site die zich voordoet als CleanMyMacres2erch-sl0ut[.]com— primaire command-and-control-server (levering van laders, telemetrie, gegevensuitvoer)wallets-gate[.]io— secundaire C2 gebruikt door wallet-backdoors om seed-zinnen en wachtwoorden te exfiltreren
We rapporteren niet alleen over bedreigingen - we verwijderen ze ook
Cyberbeveiligingsrisico's mogen zich nooit verder verspreiden dan een krantenkop. Houd bedreigingen van uw apparaten door Malwarebytes vandaag nog te downloaden.




