Selon Malwarebytes, une campagne d’ingénierie sociale imite une page « Google Account Security » pour pousser les victimes à installer un PWA et, pour celles qui obéissent à tous les prompts, un APK Android déguisé en mise à jour critique; l’infrastructure C2 s’appuie sur le domaine google-prism[.]com, routé via Cloudflare.

Le flux web en 4 étapes demande l’« installation » du PWA (masquant la barre d’adresse), l’autorisation de notifications push, la sélection et l’envoi de contacts via le Contact Picker API, puis l’accès à la position GPS (latitude, longitude, altitude, cap, vitesse). Une fois installé, le script de page lit le presse-papiers lors des événements de focus/visibilité, tente d’intercepter les SMS via WebOTP, dresse une empreinte détaillée du device et effectue un heartbeat toutes les 30 s.

Le cœur persistant est le service worker: il survive à la fermeture de l’onglet, gère les notifications push comme canal C2, exécute des tâches en arrière-plan, met en file les données volées dans la Cache API hors-ligne et les renvoie dès le rétablissement du réseau; il exploite Background Sync et Periodic Background Sync (tag c2-checkin) pour maintenir la persistance tant que le PWA reste installé. ⚠️ La boîte à outils inclut un relais WebSocket transformant le navigateur en proxy HTTP (bypass des contrôles IP, accès potentiels aux ressources internes depuis un réseau d’entreprise) et un scan réseau interne (ports 80/443/8080 sur le sous-réseau local) par technique de temporisation; une commande de « remote eval » permet l’exécution JavaScript arbitraire.

Quand le navigateur ne suffit plus, la couche web livre un APK Android (com.device.sync), présenté comme « Verified by Google » (affiché 2.3 MB, réel ~122 KB) et étiqueté « System Service ». L’implant demande 33 permissions (dont SMS, journal d’appels, micro, contacts, contrôle d’accessibilité), embarque un clavier personnalisé (capture de frappes), un écouteur de notifications (potentiels 2FA), un service d’accessibilité (lecture d’écran/actions), un service d’autoremplissage (interception de credentials), et renforce la persistance via droits administrateur appareil, réception au démarrage et alarmes de redémarrage; des composants suggèrent des overlays de phishing et une FileProvider pour mises à jour en plusieurs étapes.

Malwarebytes précise que la campagne n’exploite pas de faille Google mais abuse de fonctionnalités web légitimes via un habillage convaincant de « contrôle de sécurité ». Le billet fournit des procédures de nettoyage pour Android, Windows/Chromium, Firefox et Safari. Type d’article: analyse de menace visant à documenter un toolkit de surveillance navigateur+mobile basé sur PWA/service workers et une usurpation de marque.

• IOCs:

  • Domaine C2: google-prism[.]com
  • Hash SHA-256: 1fe2be4582c4cbce8013c3506bc8b46f850c23937a564d17e5e170d6f60d8c08 (sync.apk)
  • Package Android: com.device.sync (nom affiché: System Service)

• TTPs clés:

  • Usurpation de marque Google + PWA (disparition de la barre d’adresse)
  • C2 via notifications push et service worker persistant (Background/Periodic Sync)
  • Exfiltration: Contact Picker API, géolocalisation, presse-papiers, WebOTP
  • Proxy/relais WebSocket depuis le navigateur de la victime; remote eval JS
  • Scan réseau interne (ports 80/443/8080) par timing
  • Mise en file/offline via Cache API et relecture à la reconnexion
  • APK Android avec clavier keylogger, listener notifications, accessibilité, autofill, admin appareil, boot receiver, overlays potentiels

🧠 TTPs et IOCs détectés

TTP

[‘Usurpation de marque Google + PWA (disparition de la barre d’adresse)’, ‘C2 via notifications push et service worker persistant (Background/Periodic Sync)’, ‘Exfiltration: Contact Picker API, géolocalisation, presse-papiers, WebOTP’, ‘Proxy/relais WebSocket depuis le navigateur de la victime; remote eval JS’, ‘Scan réseau interne (ports 80/443/8080) par timing’, ‘Mise en file/offline via Cache API et relecture à la reconnexion’, ‘APK Android avec clavier keylogger, listener notifications, accessibilité, autofill, admin appareil, boot receiver, overlays potentiels’]

IOC

{‘domaine’: ‘google-prism[.]com’, ‘hash’: ‘1fe2be4582c4cbce8013c3506bc8b46f850c23937a564d17e5e170d6f60d8c08’, ‘package_android’: ‘com.device.sync’}


🔗 Source originale : https://www.malwarebytes.com/blog/privacy/2026/02/inside-a-fake-google-security-check-that-becomes-a-browser-rat