Nep-ChatGPT en -Gemini phishen advertentieaccounts en MFA
Een phishingcampagne richt zich op mensen die advertentieaccounts beheren. De aanvallers gebruiken nepversies van ChatGPT, Gemini, Claude en Perplexity om inloggegevens en codes voor meervoudige authenticatie (MFA) buit te maken. De pagina's draaien op browser-in-the-browser-aanvallen (BitB), aldus onderzoekers van browserbeveiligingsbedrijf Island.
De criminelen stemden een deel van de campagne af op de recente lancering van Muse, een AI-agent die Meta omschrijft als een assistent voor allerlei persoonlijke taken.
Waarom advertentieaccounts
Het doelwit zijn medewerkers van bureaus, mediainkopers en beheerders. Hun accounts geven vaak toegang tot meerdere onderliggende klantaccounts, en dat maakt ze waardevol.
Eenmaal binnen kunnen aanvallers het beschikbare tegoed meestal opmaken aan frauduleuze advertentiecampagnes. Ze kunnen de accounts ook doorverkopen aan andere criminelen, vaak voor flinke bedragen.
De nep-AI-tools worden aangeprezen bij adverteerders. Ze beloven te helpen kopers te bereiken, advertentiebriefings op te stellen en campagnes en uitgaven te plannen en door te lichten. Om een van die functies te gebruiken, moet het slachtoffer zijn account koppelen. Wie op "koppelen" klikt, krijgt binnen de pagina iets te zien wat lijkt op een inlogvenster van Google, met een adresbalk waarin accounts.google.com staat.
Zo werkt de BitB-truc
Beveiligingsonderzoeker mr. dox beschreef de browser-in-the-browser-techniek in maart 2022. De aanvaller tekent een nep-browservenster binnen een echt venster en toont daarin een frauduleuze inlogpagina.
Het venster ziet eruit als een gewone inlogpop-up, met een geloofwaardige titel, interface en de URL die de gebruiker verwacht. In werkelijkheid is het een iframe dat is gebouwd om alles te onderscheppen wat het slachtoffer intypt. De methode wordt sindsdien op grote schaal gebruikt, onder meer tegen gebruikers van Steam.
Volgens Island past de kit in deze campagne de interface aan voor Windows, macOS, iOS en Android. Hij bootst de vormgeving van de browser na en ondersteunt de donkere modus.
Een mens aan de knoppen
Zodra het slachtoffer in de BitB-flow belandt, neemt een menselijke operator het over en bepaalt wat het slachtoffer daarna te zien krijgt. De operator kan:
- tot drie keer om het wachtwoord vragen
- een sms- of authenticatorcode opvragen om MFA te omzeilen
- Okta-pushverzoeken of goedkeuringsprompts van Google tonen
- een QR-code laten zien
- codes die het slachtoffer invoert afwijzen
- het slachtoffer in een wachtscherm laten hangen
- de phishingflow op elk moment beeindigen of onderdrukken
Het platform ondersteunt inlogprocessen van Google, Meta, TikTok en Okta. Opdrachten worden doorgegeven via Socket.IO-events.
"Anders dan bij een transparante reverse-proxykit bouwt het zichtbare platform de interface van de provider lokaal na en verzamelt het inloggegevens en de MFA-status via zijn eigen API's", schrijven de onderzoekers in hun rapport.
Door deze opzet blijft het kwaadaardige verkeer verborgen. Voor een buitenstaander lijkt het alsof een AI-product communiceert met de backend van een willekeurige andere applicatie.
Onderdeel van een grotere operatie
Op basis van de infrastructuur koppelde Island de AI-lokkertjes aan een grotere operatie die ook nepvacatures en terugbetalingspagina's gebruikte. Al deze pagina's delen een stack van Next.js en Socket.IO en gemeenschappelijke API-endpoints. Veel ervan draaien op frontends bij Vercel met backends bij Railway of Render.
Die koppeling was mogelijk omdat de aanvaller oudere broncode had laten staan in verkeerd geconfigureerde openbare GitHub-repository's. Met die code konden de onderzoekers de activiteiten terugvoeren tot maart.
Het Telegram-kanaal waarmee de aanvallen werden aangestuurd, had honderden inzendingen van slachtoffers binnengekregen. Island tekent daarbij aan dat dit aantal niet per se overeenkomt met het aantal accounts dat daadwerkelijk is gecompromitteerd.
De onderzoekers telden tientallen URL's in de campagnes rond advertenties, terugbetalingen en werving. Ze staan allemaal in hun rapport.
Het nepvenster herkennen
BitB-pagina's zijn overtuigend, maar er is een eenvoudige test. Een echte OAuth-pop-up is een apart browservenster, dus je kunt hem buiten de hoofdbrowser slepen of van formaat veranderen. Een BitB-venster is gewoon een iframe binnen de pagina en kan geen van beide. Weigert een inlogpop-up het browserkader te verlaten, dan is hij nep.
Onze analyse
Deze campagne combineert twee dingen die op dit moment goed werken voor aanvallers: de belangstelling voor nieuwe AI-tools en de hoge waarde van gedeelde zakelijke accounts. Nep-AI-producten bieden een geloofwaardige reden om te vragen een account te koppelen, en een enkele bureaulogin kan in een keer toegang geven tot veel klanten. Voor marketingteams betekent dit dat accounts op advertentieplatforms dezelfde bescherming verdienen als financiele of beheerdersaccounts.
De menselijke operator in het proces is het meest zorgwekkende onderdeel. Omdat iemand in realtime codes kan afwijzen, wachtwoordprompts kan herhalen en kan wisselen tussen Okta, Google en QR-codes, bieden sms- en authenticatorcodes hier maar beperkte bescherming. Net als bij andere phishingkits die op specifieke doelgroepen mikken verandert het lokaas terwijl de backend hetzelfde blijft, zoals blijkt uit het hergebruik van een enkele stack voor advertenties, terugbetalingen en werving.
Voorlopig is de sleep-en-verkleintest een goedkope verdediging die het waard is om medewerkers aan te leren. Onbekende links controleren met tools zoals URL-reputatiecheckers kan ook helpen. Het is de moeite waard in de gaten te houden of de operators overstappen op nieuwe namen van AI-producten naarmate er meer lanceringen volgen, en of platforms als Meta, Google en TikTok reageren met sterkere phishingbestendige inlogopties voor advertentieaccounts.
