Selon Q Continuum (sur Substack), une étude automatisée a identifié 287 extensions Chrome qui exfiltrent l’historique de navigation, totalisant ~37,4 millions d’installations (~1 % des utilisateurs Chrome), avec des liens vers des courtiers de données tels que Similarweb et des acteurs associés.
• Méthodologie de détection: Les auteurs ont fait tourner Chromium en Docker derrière un proxy MITM (mitmdump), généré des charges de navigation synthétiques (URLs de taille croissante) et corrélé le volume sortant aux longueurs d’URL via un modèle linéaire (bytes_out = R × payload_size + b). Les endpoints avec R ≥ 1,0 sont jugés « fuites certaines »; 0,1 ≤ R < 1,0 « fuites probables » suivies d’un second passage plus fin. L’effort a consommé ~930 jours CPU.
• Constat principal: 287 extensions fuyardes, pour ~37,4 M d’installations. Les acteurs identifiés couvrent Similarweb, Curly Doggo, Offidocs, des acteurs chinois, et Big Star Labs que les auteurs estiment apparenté à Similarweb. Des honeypots ont confirmé des collectes/scrapes récurrents.
• Exemples d’exfiltration observés (extraits):
- Poper Blocker: payload ROT47 vers api2.poperblocker[.]com contenant l’URL visitée.
- Stylish: chiffrement hybride (AES‑256 + RSA‑OAEP, clé publique intégrée) vers userstylesapi[.]com; la taille du payload croît avec l’URL.
- BlockSite / Video Ad Blocker Plus: schéma identique avec clés/valeurs compressées (LZ‑String) incluant l’URL et le référent.
- Similarweb / Similar Sites: paramètres multi‑encodés (URL‑encoded) contenant la requête et le référent.
- WOT: encodage XOR + base64 inversable; payload inclut URL, référent et métadonnées.
- Smarty, CrxMouse, ApkOnline, Knowee AI, Super PiP: exfiltration via paramètres d’URL, Base64, en‑têtes HTTP (« location »), ou Google Analytics Measurement Protocol.
• Menaces évoquées: profilage/publicité ciblée, exfiltration d’URLs internes en contexte entreprise, couplage historique+cookies favorisant le harvesting d’identifiants.
• Honeypot et acteurs liés: Cinq plages IP ont touché les honeypots, dont un scraper « Kontera » relié à Similarweb/Curly Doggo/Offidocs selon les corrélations observées.
IoCs (extraits)
- IPs honeypot:
- 54.92.107.92 (HashDit)
- 34.29.32.249 (Blocksi AI Web Filter)
- 54.209.60.63 (nat.aws.kontera.com)
- 184.72.121.156 (nat-service.aws.kontera.com)
- 184.72.115.35 (nat-service1.aws.kontera.com)
- 54.175.74.27 (nat-service3.aws.kontera.com)
- 54.86.66.252 (nat-service4.aws.kontera.com)
- Domaines/Endpoints d’exfiltration (échantillon):
- api2.poperblocker[.]com, userstylesapi[.]com, category.blocksite[.]co
- rank.similarweb[.]com, data-api.similarsites[.]com, score.mywot[.]com
- api.joinsmarty[.]com, api.mousegesturesapi[.]com, www.uptoplay[.]net
- safe.videoadblockerplus[.]com, core.knowee[.]ai, www.google-analytics[.]com
- Extensions (ID Chrome, extraits):
- bkkbcggnhapdmkeljlodobbkopceiche (Poper Blocker)
- fjnbnpbmkenffdnngjfgmeleoegfcffe (Stylish)
- eiimnmioipafcokbfikbljfdeojpcgbh (BlockSite)
- hoklmmgfnpapgjgcpechhaamimifchmp (Similarweb)
- bhmmomiinigofkjcapegjjndpbikblnp (WOT)
- edjkecefjhobekadlkdkopkggdefpgfp (Smarty)
- jlgkpaicikihijadgifklkbpdajbkhjo (CrxMouse)
- lnhnebkkgjmlgomfkkmkoaefbknopmja (ApkOnline)
- necpbmbhhdiplmfhmjicabdeighkndkn (Similar Sites)
- hegneaniplmfjcmohoclabblbahcbjoe (Video Ad Blocker Plus)
- fcejkolobdcfbhhakbhajcflakmnhaff (Knowee AI)
- jjjpjmbnbdjhbkclajpagjkefefnednl (Super PiP)
TTPs observées
- Abus d’extensions navigateur pour la collecte d’historique (permissions/extensions Chrome).
- Exfiltration HTTP(S) via POST/GET, parfois en plaintext (URL param), en‑têtes ou GA Measurement Protocol.
- Obfuscation/Encodage: URL‑encoding multiples, Base64, ROT47, XOR+base64, LZ‑String (Base64/UTF‑16), hex.
- Chiffrement côté client: AES‑GCM 256 avec clé AES chiffrée RSA‑OAEP (clé publique embarquée).
- Marqueurs/métadonnées inclus: requête, lien précédent, référent, timestamps, canaux d’origine (ex. « exthead »), versions.
- Méthodologie de recherche: Docker+Chromium, MITM (mitmdump), workloads synthétiques, régression linéaire pour détecter la corrélation taille URL / trafic sortant, honeypots pour observer les scrapers.
Type d’article: publication de recherche visant à cartographier et documenter, à grande échelle, les fuites de navigation via des extensions Chrome et les écosystèmes de collecte associés.
🧠 TTPs et IOCs détectés
TTP
[‘Abus d’extensions navigateur pour la collecte d’historique (permissions/extensions Chrome)’, ‘Exfiltration HTTP(S) via POST/GET, parfois en plaintext (URL param), en-têtes ou GA Measurement Protocol’, ‘Obfuscation/Encodage: URL-encoding multiples, Base64, ROT47, XOR+base64, LZ-String (Base64/UTF-16), hex’, ‘Chiffrement côté client: AES-GCM 256 avec clé AES chiffrée RSA-OAEP (clé publique embarquée)’, ‘Marqueurs/métadonnées inclus: requête, lien précédent, référent, timestamps, canaux d’origine (ex. « exthead »), versions’, ‘Méthodologie de recherche: Docker+Chromium, MITM (mitmdump), workloads synthétiques, régression linéaire pour détecter la corrélation taille URL / trafic sortant, honeypots pour observer les scrapers’]
IOC
{‘ips’: [‘54.92.107.92’, ‘34.29.32.249’, ‘54.209.60.63’, ‘184.72.121.156’, ‘184.72.115.35’, ‘54.175.74.27’, ‘54.86.66.252’], ‘domains’: [‘api2.poperblocker[.]com’, ‘userstylesapi[.]com’, ‘category.blocksite[.]co’, ‘rank.similarweb[.]com’, ‘data-api.similarsites[.]com’, ‘score.mywot[.]com’, ‘api.joinsmarty[.]com’, ‘api.mousegesturesapi[.]com’, ‘www.uptoplay[.]net’, ‘safe.videoadblockerplus[.]com’, ‘core.knowee[.]ai’, ‘www.google-analytics[.]com’], ‘chrome_extension_ids’: [‘bkkbcggnhapdmkeljlodobbkopceiche’, ‘fjnbnpbmkenffdnngjfgmeleoegfcffe’, ’eiimnmioipafcokbfikbljfdeojpcgbh’, ‘hoklmmgfnpapgjgcpechhaamimifchmp’, ‘bhmmomiinigofkjcapegjjndpbikblnp’, ’edjkecefjhobekadlkdkopkggdefpgfp’, ‘jlgkpaicikihijadgifklkbpdajbkhjo’, ’lnhnebkkgjmlgomfkkmkoaefbknopmja’, ’necpbmbhhdiplmfhmjicabdeighkndkn’, ‘hegneaniplmfjcmohoclabblbahcbjoe’, ‘fcejkolobdcfbhhakbhajcflakmnhaff’, ‘jjjpjmbnbdjhbkclajpagjkefefnednl’]}
🔗 Source originale : https://qcontinuum.substack.com/p/spying-chrome-extensions-287-extensions-495