Contact

Nieuws

Rekening saldo manipulatie door Code Injectors

Dit onderzoek beschrijft een recent fraudescenario, gedeeld door een van de DetACT-klanten en onderzocht door analisten van DetACT. In dit geval gebruikten cybercriminelen social engineering, remote access software en browsermanipulatie om een klant van een bank te misleiden. 

Het doel was om vertrouwen te winnen door een vervalst saldo op de rekening weer te geven, waarmee uiteindelijk frauduleuze transacties en oplichting met cryptocurrency mogelijk werden gemaakt. Dit artikel is bedoeld om fraudeonderzoekers te informeren over opkomende technieken in de manipulatie van digitale interfaces.

Verloop van de fraude

Het slachtoffer, een middelbare persoon met beperkte technische kennis, werd benaderd door wat een legitieme helpdesk leek. De beller beweerde dat er verdachte activiteiten waren vastgesteld op de bankrekening van het slachtoffer en bood aan om te helpen bij het beveiligen van het systeem. De toon was dringend, maar professioneel—voldoende om het vertrouwen van het slachtoffer te winnen.

Tijdens het telefoongesprek vroeg de oplichter om remote access tot de computer van het slachtoffer via Google Remote Desktop. Zodra toegang werd verleend, leidde de oplichter het slachtoffer naar de installatie van een browserextensie onder het voorwendsel van extra online beveiliging. De betreffende extensie was “Code Injector”, beschikbaar in de Chrome Web Store. Zonder dat het slachtoffer het wist, stelde deze tool de aanvaller in staat om de inhoud van webpagina’s in de browser te wijzigen.

Na installatie van de extensie injecteerde de aanvaller een script dat een vervalst saldo op de rekening simuleerde op de landingspagina van de online bankomgeving. Het weergegeven bedrag was aanzienlijk hoger dan het werkelijke saldo op de rekening. Deze kunstmatige weergave had als doel het slachtoffer te overtuigen dat er voldoende middelen beschikbaar waren voor deelname aan wat waarschijnlijk een cryptobeleggingsfraude betrof.

Belangrijkste bevindingen uit het onderzoek

Toen het slachtoffer later contact opnam met de bank vanwege andere verdachte creditcardtransacties, ontdekte het fraudeteam dat de door de klant genoemde balans niet overeenkwam met back-end gegevens.
Verdere analyse bracht het volgende aan het licht:

  • Het vervalste saldo verscheen alleen op de landingspagina van online bankieren, niet op de pagina’s met transactie- of rekeningdetails.
  • De weergave van de balans gebruikte Amerikaanse duizendtallen (komma’s), wat inconsistent is met het Europese formaat—een aanwijzing voor manipulatie.
  • De Chrome-browser op het apparaat van het slachtoffer had de extensie “Code Injector” geïnstalleerd, wat sterk duidt op lokale paginamanipulatie.
  • Het slachtoffer bevestigde dat hij of zij eind november of begin december hulp op afstand had ontvangen—overeenkomend met de datum op de screenshot van de gemanipuleerde balans.
  • Alle inlogpogingen en transacties kwamen van het apparaat van het slachtoffer zelf.
  • Grote creditcardtransacties werden geverifieerd via beveiligde methodes. Onderzoekers vermoeden dat het slachtoffer deze onbewust heeft goedgekeurd via QR-codes die tijdens schermdeling werden getoond, in de veronderstelling dat het om legitieme activiteit ging.

Code Injector - Onderzoek naar functionaliteit

Een code injector is een browserextensie of tool waarmee gebruikers aangepaste code—meestal JavaScript—kunnen invoegen in webpagina’s zodra deze in de browser worden geladen. Dit kan worden gebruikt om de weergave of het gedrag van een site op het scherm van de gebruiker aan te passen. Hoewel vaak gebruikt door ontwikkelaars voor testen of persoonlijke aanpassingen, kan het ook worden misbruikt om websites op een misleidende manier te veranderen—bijvoorbeeld door een vervalste rekeningbalans te tonen.

Code injectors zijn op zichzelf niet illegaal—het zijn legitieme tools voor ontwikkelaars of gevorderde gebruikers die websites willen aanpassen in hun eigen browser.

Het gebruik ervan wordt echter wél illegaal wanneer deze zonder geïnformeerde toestemming van de gebruiker worden geïnstalleerd of worden ingezet om webinhoud op een misleidende manier te manipuleren, zoals het vervalsen van een banksaldo of het faciliteren van fraude. In dergelijke gevallen kan sprake zijn van computermisbruik, fraude of schending van privacywetgeving.

Hoewel de extensie inmiddels is verwijderd uit de Chrome Web Store (zie screenshot), is de code nog wel beschikbaar in de Firefox Add-on Store, de Edge Store en volledig te vinden op Github: hxxps://github[.]com/Lor-Saba/Code-Injector

Technische Analyse door DetACT

DetACT-analisten hebben de code gedownload en de bestanden uitgepakt om de werking te onderzoeken. De uitgepakte bestanden bevatten de volledige broncode van de "Code Injector" extensie, waaronder belangrijke JavaScript-bestanden die bepalen hoe de extensie scripts injecteert in webpagina’s.
Relevante bestanden zijn:

  •  /script/main/inject.js — het kernscript dat verantwoordelijk is voor het injecteren van code.
  •  /script/main/background.js — verwerkt achtergrondtaken en mogelijk regels of triggers voor injecties.
  •  /script/main/browser-action.js — heeft betrekking op interacties met de extensie.
  •  /manifest.json — definieert de rechten van de extensie en welke webpagina’s toegankelijk zijn. Dit bestand is verplicht bij elke extensie.

Toen we de inject.js files onderzochten viel het volgende op: Het script `inject.js` is verantwoordelijk voor het invoegen van aangepaste JavaScript, CSS of HTML in webpagina’s die in de browser worden weergegeven. Het stelt de extensie in staat om de inhoud van elke site te wijzigen op basis van vooraf gedefinieerde regels. 

Key Functionaliteit

JavaScript Injection (injectJS)

Het script controleert of er een link naar een extern JavaScript-bestand is. Zo ja, dan wordt het bestand geladen en wordt caching voorkomen door een tijdstempel toe te voegen. Als er geen link is, wordt de JavaScript direct in de pagina geïnjecteerd via een `<script>`-tag in de `<head>`.

CSS-injectie (`injectCSS`)

Werkt op vergelijkbare wijze. De extensie kan een extern stylesheet laden of ruwe CSS rechtstreeks invoegen via een `<link>`- of `<style>`-element.

HTML-injectie (`injectHTML`)

Hoewel niet volledig zichtbaar in de preview, kan de extensie ook ruwe HTML in de DOM van de pagina injecteren. Dit maakt het mogelijk zichtbare elementen toe te voegen of te vervangen.

Mogelijkheden tot misbruik

Deze mogelijkheden stellen een aanvaller in staat om webpagina’s visueel te manipuleren terwijl het slachtoffer ze ziet. Bijvoorbeeld:

  • De aanvaller kan saldo-velden op bankpagina’s aanpassen om valse bedragen te tonen.
  • Waarschuwingen of transactiedetails kunnen verborgen of aangepast worden.
  • De extensie kan valse meldingen, knoppen of bevestigingen simuleren om het slachtoffer te misleiden.
  • Deze aanpassingen beïnvloeden alleen de visuele weergave in de browser van het slachtoffer. De backendgegevens van de bank blijven onaangetast.

Aanbevelingen

Deze casus toont hoe fraudeurs social engineering combineren met eenvoudige technische middelen—zoals remote sessies, browserextensies en QR-codes—om slachtoffers overtuigend te manipuleren.

  • Wees alert bij meldingen van klanten over verdachte saldo’s of screenshots die niet overeenkomen met backendgegevens. Vraag door naar eventueel gebruik van remote-desktopsoftware en installatie van extensies of add-ons.
  • Let op: er zijn veel andere extensies beschikbaar met vergelijkbare functionaliteit in browser stores en op Github, zoals Kode Injector en Scripty.
  • Informeer klanten dat een browserextensie of add-on nooit nodig is voor het oplossen van bankzaken. Gebruik Client-Side-Detection scripts om manipulatie door code injectors op te sporen.