Hogyan használják ki a Google OAuth-ot a kiberbűnözők?

A c/side kiberbiztonsági cég nemrég egy különösen rafinált kliensoldali támadást azonosított a parts[.]expert nevű Magento-alapú e-kereskedelmi weboldalon. Bár az oldal nem tartozik a leglátogatottabbak közé, az alkalmazott támadási módszer innovatív és kifejezetten aggasztó. A támadás kiváló példája annak, hogy a kiberbűnözők miként képesek a felhasználók és a biztonsági rendszerek bizalmát kihasználva „láthatatlanná” válni.

A támadás kiindulópontja a következő látszólag ártalmatlan Google OAuth URL:

https://accounts.google.com/o/oauth2/revoke?callback=…

Ez az URL normál esetben jogosultságok visszavonását szolgálja a Google-fiókokhoz kapcsolódó alkalmazásoknál. Azonban itt a támadó egy adott paramétert fegyverez fel. Ebben egy base64 kódolt JavaScript-et rejt el, amelyet a böngésző a megadott függvényen keresztül futtat le.

Ez a script első ránézésre nem tűnik gyanúsnak – az URL-ben nincs semmi, ami azonnal riasztana egy statikus elemző eszközt. Azonban a kód valódi célja csak bizonyos feltételek teljesülése esetén aktiválódik.

Mit csinál a script?

  1. WebSocket kapcsolat egy rosszindulatú szerverrel

Ha az oldal URL-je tartalmazza a “checkout” szót (pl. fizetési oldal), vagy a böngésző automatikusnak tűnik (pl. botanalízis), akkor a script WebSocket kapcsolatot létesít egy, már korábban is rosszindulatúként azonosított címre:

wss://livechatinc[.]network/chatpipe/029/

Ez a domain a VirusTotal szerint már egy ismert támadóinfrastruktúrához tartozik.

  1. Valós idejű, távoli kódfuttatás

A kapcsolat létrejötte után a böngésző base64-kódolt üzeneteket kap a támadó szerverétől. Ezeket a script dekódolja, majd a megfelelő függvénnyel futtatja, mintha a felhasználó saját maga gépelte volna be őket.

  1. Környezetérzékenység

A script csak akkor aktiválódik, ha valós esély van értékes adatok (pl. bankkártyaadatok) megszerzésére. Ez azt jelenti, hogy például böngészőautomata vagy bot esetén máshogy viselkedik, és csak a célzott pillanatokban hajt végre műveleteket ezzel nehezítve a lebukást.

Miért veszélyes ez a támadás?

Megbízható forrásnak tűnik

A támadás egy google.com domainhez tartozó URL-ről indul, amelyet szinte minden vírusirtó és tűzfal biztonságosnak ítél. Ezáltal sem a CSP (Content Security Policy), sem a DNS-szűrők nem képesek kiszűrni.

Obfuszkált és rétegzett logika

A támadó kód többrétegűen rejtőzik: először base64, majd további JavaScript alatt. Csak specifikus helyzetben, bizonyos oldalakon és viselkedések esetén aktiválódik, így a hagyományos statikus kódelemzők nem észlelik.

Valós idejű vezérlés

A WebSocket protokoll lehetővé teszi a támadók számára, hogy élőben irányítsák a támadást. Így akár dinamikusan is módosíthatják a weblapot, új űrlapokat injektálhatnak, vagy épp ellophatják a begépelt adatokat a fizetés pillanatában.

Hogyan védekezhetünk?

Az ilyen típusú támadások felismerése rendkívül nehéz a hagyományos eszközökkel. A legtöbb felhasználó nem használ olyan szintű scriptanalízist vagy hálózati viselkedéselemzést, ami szükséges lenne ezek kiszűrésére.

Javasolt védekezési stratégiák:

  • Third-party scriptek korlátozása: Böngészőszintű eszközökkel, mint például a NoScript vagy uMatrix, megelőzhetjük az ismeretlen forrásból származó kódok futtatását.
  • Haladó webalkalmazás-tűzfal (WAF): Ezek képesek lehetnek kiszűrni az ilyen kódok hálózati viselkedését, különösen WebSocket-forgalmat.
  • Vállalati környezetben dedikált biztonsági termékek, mint a c/side, képesek még a kód lefutása előtt elemezni és blokkolni a rosszindulatú JavaScript scripteket.

A parts[.]expert esete jól mutatja, hogy a modern kliensoldali támadások egyre kifinomultabbak és nehezebben észlelhetők. A támadók már nem csak saját szerverekről dolgoznak, hanem megbízható szolgáltatók infrastruktúráját használják ki például a Google OAuth URL-jeit. Az ilyen technikák ellen csak összetett, több szinten működő védelmi rendszerek jelenthetnek valódi védelmet. A c/side rendszerének sikerült idejében észlelni és leállítani ezt a támadást, de ez nem jelenti azt, hogy más oldalak és felhasználók védve lennének. A jövőben hasonló támadások egyre gyakrabban jelenhetnek meg, ezért a felhasználók és webfejlesztők számára elengedhetetlen a biztonságtudatos szemlélet és a megfelelő védelmi eszközök használata.

(pcw)

(c/side)