Een zogenaamde Changelly zero-day-exploit die onder aspirant-aanvallers circuleert, blijkt lokaas te zijn. Volgens een onderzoek van ThreatMon is de code een工具 voor het kapen van cryptocurrency-transacties, en de mensen die het meeste gevaar lopen zijn degenen die het uitvoeren. Dit nep-Changelly zero-day wallet-kaping-schema laat zien hoe aanvallers de nieuwsgierigen, de opportunisten en de zorgelozen kunnen treffen met hetzelfde stukje JavaScript.

Hoe de nep-Changelly-exploit slachtoffers lokte

De campagne was verpakt als een werkende exploit voor een kwetsbaarheid in Changelly, een cryptocurrency-exchange-dienst. Beweringen over een zero-day-fout zijn een effectief lokaas. Een zero-day is een kwetsbaarheid waarvan de leverancier nog niet op de hoogte is, dus de belofte van een kant-en-klare exploit trekt mensen aan die hopen er winst uit te halen of het simpelweg willen testen.

Dat is de val. Volgens ThreatMon werden de nep-kwetsbaarheidsclaims gebruikt om gebruikers ertoe te verleiden met de code aan de slag te gaan. In plaats van Changelly aan te vallen, werkt het script tegen degene die het uitvoert. De aspirant-aanvaller wordt het doelwit.

De aanpak is in essentie niet nieuw. Beveiligingsonderzoekers zien al lang boobytrapped proof-of-concept-code en nep-tools gericht op mensen die naar shortcuts zoeken. Wat deze zaak opmerkelijk maakt, is de specifieke payload: een script dat is gebouwd om direct in de browser crypto-transacties te verstoren.

Wat het kwaadaardige script doet met wallet-adressen

Het kwaadaardige JavaScript was ontworpen om twee dingen te doen, op basis van de bevindingen van ThreatMon:

  • Wallet-adressen vervangen. Wanneer een gebruiker een bestemmingsadres voor een transactie invoert of kopieert, kan het script een adres invoegen dat door de aanvaller wordt beheerd. Fondsen die te goeder trouw worden verzonden, belanden in de verkeerde wallet.
  • Weergegeven exchange-waarden manipuleren. Het script kan de getallen op het scherm wijzigen, zodat de koersen of bedragen die een gebruiker ziet niet overeenkomen met de werkelijkheid. Dit helpt de diefstal te verbergen en laat de transactie normaal lijken.

Crypto-transacties zijn over het algemeen onomkeerbaar. Zodra munten naar het adres van een aanvaller zijn verzonden, is er doorgaans geen bank om te bellen en geen chargeback om aan te vragen. Dat maakt elke tool die stilletjes een bestemmingsadres wijzigt bijzonder schadelijk.

Waarom hijacking op browserniveau moeilijk te spotten is

Dit soort aanval hoeft niet in een exchange in te breken, een wachtwoord te kraken of een private key te stelen. Het werkt op het punt waar je informatie bekijkt en bevestigt: je browser. Als de pagina zelf wordt gewijzigd door geïnjecteerd JavaScript, is wat je ziet mogelijk niet wat er werkelijk gebeurt.

Een paar redenen waarom dit moeilijk te ontdekken is:

  • Lange adressen zijn moeilijk te lezen. Wallet-adressen zijn reeksen willekeurige tekens. Weinig mensen controleren elk teken, en aanvallers rekenen daar vaak op.
  • De interface ziet er nog steeds legitiem uit. Als weergegeven exchange-waarden worden gemanipuleerd, kan het scherm consistent en betrouwbaar lijken tot op het moment van verzenden.
  • Er is geen duidelijke waarschuwing. Anders dan bij een mislukte login of een beveiligingsmelding, levert een vervangen adres geen foutmelding op.

De les is dat het browserbeeld alleen geen betrouwbare bron van waarheid is wanneer er echt geld in het spel is.

Wat dit voor jou betekent

De meeste lezers zullen nooit op zoek gaan naar exploit-code, maar het onderliggende risico geldt breed. Elk script dat in je browsersessie draait, of het nu van een dubieuze download, een geplakt console-fragment, een schimmige extensie of een gecompromitteerde pagina komt, kan veranderen wat je ziet tijdens een crypto-transactie.

Als je met crypto omgaat, behandel officieuze "exploit"- of "bonus"-code dan standaard als vijandig. Code die gemakkelijke toegang tot iemands anders fondsen belooft, zou argwaan moeten wekken, niet nieuwsgierigheid. En als je een beveiligingsonderzoeker of hobbyist bent, analyseer onbekende code dan alleen in een geïsoleerde omgeving, nooit op een machine of browserprofiel dat aan je echte wallets is gekoppeld.

Netwerkhygiëne is ook belangrijk. Niet-vertrouwde netwerken voegen een andere manier toe waarop aanvallers kunnen knoeien met wat je online doet, zoals blijkt uit Microsofts waarschuwing over Russische hackers op hotel-wifi-netwerken. Dat rapport ging over diefstal van inloggegevens en malware, niet over crypto, maar de waarschuwing geldt: vermijd het behandelen van crypto op netwerken die je niet vertrouwt.

Controles die je crypto-transacties beschermen

Een paar gewoonten verkleinen de kans op fondsverlies door adres-vervangende scripts sterk:

  1. Controleer het adres op het scherm van een hardware-wallet. Het scherm van het apparaat staat los van je browser, dus geïnjecteerd JavaScript kan het niet wijzigen. Vergelijk het adres daar met je beoogde ontvanger.
  2. Voer nooit officieuze exploit-code uit. Als een zogenaamde Changelly zero-day of een andere exploit opduikt in een forum of chat, voer die dan niet uit, en plak nooit onbekende code in je browserconsole.
  3. Wees waakzaam bij exchange-pop-ups. Bereik exchanges door het adres zelf te typen of een bookmark te gebruiken, en negeer onverwachte prompts.
  4. Gebruik een scriptblocker. Beperken welke JavaScript kan draaien, verkleint de ruimte voor geïnjecteerde code om te opereren.
  5. Verstuur eerst een kleine testtransactie. Bevestig bij grote overschrijvingen dat de fondsen op de juiste plek aankomen voordat je het volledige bedrag verstuurt.
  6. Houd crypto-activiteit op een schoon browserprofiel. Minder extensies en minder niet-gerelateerde tabbladen betekenen minder kansen dat iets interfereert.

Belangrijkste punten

De nep-Changelly zero-day wallet-kaping-campagne is een herinnering dat het meest overtuigende lokaas vaak gericht is op mensen die denken dat zij de aanvaller zijn. De praktische verdediging is eenvoudig: voer geen code uit die je niet kunt vertrouwen, blokkeer onnodige scripts en bevestig elk wallet-adres op het scherm van een hardware-wallet voordat je een transactie goedkeurt. Behandel je browser als niet-vertrouwd voor de laatste controle, en blijf voorzichtig op openbare of onbekende netwerken wanneer je crypto verplaatst.