Skip to navigation

Threat reportMalwareTL-2026-2544

KREMLIN Banking Malware Forges Chrome/Edge Secure Preferences Integrity Checks to Force-Install Malicious 'AVSync' Extension

highACTIVE

A Brazilian cybercriminal operation (Elastic tracking designation REF9334) is distributing a multi-stage banking trojan toolkit called KREMLIN that manually recomputes the HMAC and encrypted-hash integrity values inside Chrome/Edge's Secure Preferences file, letting it silently register a malicious extension disguised as 'AVSync' without tripping the browser's unauthorized-extension protections.

Key facts for KREMLIN AVSync browser extension

IdentifiersTL-2026-2544
Also known asCHROMEBALLRAT (earlier campaign name)
SeverityHIGH
Exploitation statusExploited in the wild
Affected productsGoogle Google Chrome; Microsoft Microsoft Edge
AttributionREF9334 (medium confidence)
MalwareKREMLIN, PULSAR, Pulsar RAT, REMCOS
MITRE ATT&CK techniquesT1008 Fallback Channels, T1027 Obfuscated Files or Information, T1036.005 Match Legitimate Resource Name or Location, T1053.005 Scheduled Task, T1056.001 Keylogging, T1059.001 PowerShell, T1059.007 JavaScript, T1071.001 Web Protocols, T1102.001 Dead Drop Resolver, T1113 Screen Capture, T1176 Software Extensions, T1185 Browser Session Hijacking and 6 more in the attack flow
MotivationFINANCIAL
Target sectorsfinance, banking, payments
Target regionsbrazil, 005 - South America
Detection rules9 (1 shown free)
Sources7 cited sources

Detection coverage for KREMLIN AVSync browser extension

As of 2026-09-16, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-2544 across Splunk SPL, Microsoft KQL and Sigma, covering 24 indicator(s) of compromise. The whole corpus is readable without an account. Every threat comes with one complete detection in Splunk SPL, Microsoft KQL and Sigma, free for everyone; a free account adds daily TL Creds to unlock the rest. Paid plans add a larger daily allowance, correlation and the MCP server. Threadlinqs MCP server · View plans.

Free detection: KREMLIN WebSocket/HTTP C2 Beacon and RC4 Credential-ZIP Exfiltration

Detects network connections to the known KREMLIN C2 IP/domain set and the documented C2 URI patterns — the /google_ws/ WebSocket command channel (1-second poll), /google_api/ HTTP polling disguised as static-asset requests, and the /api/savecreds and /api/v1/fingerprint exfiltration endpoints that receive the RC4-encrypted keys.json/credential ZIP.

Splunk SPL

index=proxy (sourcetype="stream:http" OR sourcetype="pan:traffic" OR sourcetype="zscaler:web")
(dest_ip IN ("185.221.23.133","144.172.112.239","45.90.13.210","37.16.74.100","178.92.162.38","209.99.185.204"))
OR match(url, "(?i)(/google_ws/|/google_api/|/api/savecreds|/api/v1/fingerprint)")
OR match(dest_host, "(?i)(granderevolucao\.store|volmira\.site|zaviro\.online|cremeb\.com|connection\.upgradeonline\.site|lojinhadoluiz\.online|seguranca\.versionnova\.site|acrobat-updater\.com)")
| stats count min(_time) as first_seen max(_time) as last_seen values(url) as urls values(dest_port) as ports by src_ip, dest_ip, dest_host
| sort -last_seen

Microsoft KQL

DeviceNetworkEvents
| where Timestamp > ago(24h)
| where RemoteIP in ("185.221.23.133","144.172.112.239","45.90.13.210","37.16.74.100","178.92.162.38","209.99.185.204")
   or RemoteUrl has_any ("/google_ws/", "/google_api/", "/api/savecreds", "/api/v1/fingerprint")
   or RemoteUrl has_any ("granderevolucao.store","volmira.site","zaviro.online","cremeb.com","connection.upgradeonline.site","lojinhadoluiz.online","seguranca.versionnova.site","acrobat-updater.com")
| project Timestamp, DeviceName, InitiatingProcessFileName, RemoteIP, RemoteUrl, RemotePort
| sort by Timestamp desc

Sigma

title: KREMLIN WebSocket/HTTP C2 Beacon and Credential-ZIP Exfiltration
id: b5c6d7e8-9f0a-4b1c-8d2e-3f4a5b6c7d89
status: experimental
description: Detects HTTP/WebSocket traffic to known KREMLIN C2 infrastructure and the documented /google_ws/, /google_api/, /api/savecreds, and /api/v1/fingerprint URI paths used for command polling and RC4-encrypted credential-ZIP exfiltration.
references:
  - https://www.elastic.co/security-labs/threat-command/malicious-browser-extension-kremlin-banking-malware
  - https://crypto.news/kremlin-malware-uses-ethereum-to-update-attack-servers/
author: AII-Detector — ThreadLinqs Intelligence
date: 2026-09-16
tags:
  - attack.command_and_control
  - attack.t1102.001
  - attack.t1071.001
  - attack.t1573.001
  - attack.t1008
  - attack.credential_access
  - attack.t1539
  - attack.t1555.003
  - attack.tool.kremlin
logsource:
  category: proxy
detection:
  selection_uri:
    c-uri|contains:
      - '/google_ws/'
      - '/google_api/'
      - '/api/savecreds'
      - '/api/v1/fingerprint'
  selection_domain:
    c-uri|contains:
      - 'granderevolucao.store'
      - 'volmira.site'
      - 'zaviro.online'
      - 'cremeb.com'
      - 'connection.upgradeonline.site'
      - 'lojinhadoluiz.online'
      - 'seguranca.versionnova.site'
      - 'acrobat-updater.com'
  condition: 1 of selection_*
falsepositives:
  - Extremely low; these are actor-registered domains and non-standard URI paths not used by legitimate Google services
level: critical

Known false positives:

  • Extremely low; /google_ws/ and /google_api/ are actor-chosen disguise paths, not genuine Google infrastructure — verify dest_ip/dest_host does not resolve to a legitimate Google ASN before dismissing

Tuning notes: Refresh the IP/domain lists on a short cycle — KREMLIN's smart-contract dead-drop resolver rotates the active installer/extension URLs roughly monthly and prior static domains still appear in older infections; add the current dead-drop contract address to a separate blockchain-read monitor rather than this network rule.

8 more detection rules (Splunk SPL, Microsoft KQL, Sigma) · unlock with TL Creds. Sign up free to unlock the detection rules or query them with the Threadlinqs MCP server (Purple)
  • Node.js Runtime Silent Download Chained from Script-Host Lure Execution · unlock with TL Creds
  • Chrome/Edge Developer-Mode Flip Combined with Unmanaged Extension Registration · unlock with TL Creds
  • Ethereum Smart-Contract Dead-Drop Resolver Lookup from Endpoint Process · unlock with TL Creds
  • KREMLIN Invoice-Lure Script Execution and Sandbox-Check Chain · unlock with TL Creds
  • KREMLIN Secure Preferences Integrity-Material Forgery (Write to Chrome/Edge Secure Preferences) · unlock with TL Creds
  • KREMLIN Known-Bad C2 Infrastructure Connection (Static IOC Match) · unlock with TL Creds
  • Portuguese Invoice-Lure JScript Execution via wscript/cscript (KREMLIN Initial Access) · unlock with TL Creds
  • MicrosoftNodeRuntimeUpdater Scheduled-Task Persistence, Secure Preferences Tamper, and SentinelOne DLL Side-Load · unlock with TL Creds

Indicators of compromise for KREMLIN AVSync browser extension

As of 2026-09-16, Threadlinqs Intelligence tracks 24 indicators of compromise for TL-2026-2544.

Sample indicators (3 of 24)

  • IP address: 185.221.23[.]133
  • Domain: granderevolucao[.]store
  • File hash: 106eac79396a3ff77b8f375c391260ce422be2ae4d55d3aa75b2635cbdc0fa42

Defanged, TLP:CLEAR. Full set of 24 indicators: unlock with TL Creds.

24 indicators of compromise · unlock with TL Creds. Compare plans

How KREMLIN AVSync browser extension works

The extension steals cookies, session/local storage, browser credentials, form input, screenshots and page content, and reports to a WebSocket/HTTP C2 that KREMLIN increasingly resolves via an Ethereum smart-contract dead drop.

KREMLIN is a Brazilian banking-malware toolkit, first observed in the wild around May 21, 2025 and formally branded 'KREMLIN' (author handle Kr3mlin4rt1st, v1.33+) in a JSE file header dated February 8, 2026. Elastic Security Labs, tracking the cluster as REF9334, documents seven distinct campaigns spanning 15+ months (Codecaudiog A/B, Acrobat, Framesync, Donalurdesconfeitos-Cremeb, Cremeb, and an ongoing 'Ethereum Transition' wave), all delivered via JavaScript files disguised as invoices, receipts, or payment confirmations impersonating 12 Brazilian banks and payment platforms (Banco do Brasil, Caixa, Bradesco, Sicoob, C6 Bank, Inter, BTG Pactual, Safra, PagBank, PicPay, Santander, Mercado Pago).

After the initial JavaScript stage performs basic obfuscation and sandbox/VM checks, it downloads a Node.js runtime and establishes persistence via a scheduled task ('MicrosoftNodeRuntimeUpdater', triggered at logon and every 30 minutes) that resolves further configuration through an Ethereum smart contract used as a dead-drop resolver. A C++ installer (~2.10MB, x64) is then delivered via DLL side-loading against a legitimate SentinelOne binary, which drops the final payload: the malicious Chrome/Edge extension plus either the PULSAR RAT (v1.6.6-2.4.5) or, from May 2026 onward, REMCOS RAT.

The extension-installation technique is the novel core of this threat: rather than relying on a known Chromium vulnerability, the installer extracts the legacy OSCrypt key from Chrome's Local State file (stripping the 5-byte DPAPI prefix and calling CryptUnprotectData), then launches Chrome under a debugger with --no-startup-window to intercept the LOAD_DLL_DEBUG_EVENT for chrome.dll, scans its .rdata section for the string 'OSCrypt.AppBoundProvider.Decrypt.ResultCode', and uses RIP-relative LEA instruction pattern matching to recover the App-Bound encryption key directly from process memory, together with a seed pulled from the browser's resources.pak. With both keys recovered, the malware regenerates the Secure Preferences integrity material: on Chromium builds prior to v144 it computes legacy HMACs from the seed, and on v144+ it hashes seed+data and encrypts the digest with the recovered OSCrypt key, then overwrites the protection.macs, protection.super_mac, and the per-extension *_encrypted_hash / *_super_encrypted_hash fields. It additionally flips extensions.ui.developer_mode and registers the extension under extensions.settings.<extension_id>, causing Chrome to treat the forged entry as fully trusted on next launch.

The installed extension (masquerading as 'AVSync System Inc', extension ID ndpbidppejfanjbhfgjlohfanbfbklff; earlier campaigns used 'FrameSync Driver/Plugin' and a QR-themed variant) requests tabs, cookies, storage and webRequest permissions and: harvests Login Data/Login Data For Account, Web Data, and Network/Cookies databases; logs keystrokes from all input/textarea elements via a MutationObserver-backed listener; intercepts and redirects HTTP requests using MD5-hashed domain targeting; injects attacker-supplied HTML retrieved from endpoints disguised as CSS files; captures screenshots and up to 1,000 history entries from the last 15 days; and exfiltrates a RC4-encrypted (key = SHA-256 of plaintext) ZIP archive containing a keys.json (both v10 legacy and v20 App-Bound OSCrypt keys) to /api/savecreds and /api/v1/fingerprint. Live command delivery runs over a WebSocket at /google_ws/, polling once per second, alongside HTTP polling at /google_api/ disguised as static asset requests, all payloads lz-string compressed and base64 encoded.

Infrastructure has evolved from static domains (granderevolucao[.]store, cremeb[.]com, lojinhadoluiz[.]online) toward an Ethereum smart-contract dead-drop resolver (most recently 0xCD7360A83E5cdbBbbbcEB0e78748babA6740d07b) whose setConfig() method stores the current installer URL, extension download location, the SentinelOne decoy binary (JPEG-encoded), and a .NET RunPE sub-module, with prior contracts rotated roughly monthly since May 19, 2026. Timezone clustering of contract transactions (UTC-3, 9am-6pm), Portuguese-language code comments/variable names, and an author email recovered from Internet Archive upload metadata all point to a Brazil-based operator; a possible second operator running a modified toolkit copy (seguranca.versionnova[.]site, token MichelleMignon171) was also observed. Elastic disrupted part of the campaign by registering a canary/kill-switch domain used in the malware's anti-sandbox logic, and reports over 1,515 confirmed infected systems, overwhelmingly in Brazil.

MITRE ATT&CK techniques by tactic:

Command and Control

T1008 Fallback Channels; T1071.001 Web Protocols; T1102.001 Dead Drop Resolver; T1573.001 Symmetric Cryptography

Defense Evasion

T1027 Obfuscated Files or Information; T1036.005 Match Legitimate Resource Name or Location; T1497.001 System Checks; T1574.001 DLL

Persistence

T1053.005 Scheduled Task; T1176 Software Extensions

Credential Access

T1056.001 Keylogging; T1539 Steal Web Session Cookie; T1555.003 Credentials from Web Browsers

Execution

T1059.001 PowerShell; T1059.007 JavaScript; T1204.002 Malicious File

Collection

T1113 Screen Capture; T1185 Browser Session Hijacking

Remediation for KREMLIN AVSync browser extension

Immediate actions

  • Block network IOC domains and IPs listed below at proxy/firewall/DNS layer
  • Hunt for the scheduled task 'MicrosoftNodeRuntimeUpdater' (also seen as 'AcrobatBrowserExtension') and remove it
  • Enumerate installed Chrome/Edge extensions for developer-mode entries and the AVSync/FrameSync extension IDs, then remove and reset affected browser profiles
  • Force-rotate credentials and invalidate active sessions for any user whose browser profile shows signs of Secure Preferences tampering
  • Flag and quarantine inbound e-mail/messaging attachments named like COMPROVANTE_<Bank>_DD-MM-YYYY.js or similar Portuguese invoice/receipt lures

Workarounds

  • Restrict extension installation to browser-managed enterprise policy sources only
  • Deploy DNS-layer blocking for newly-registered domains matching the actor's naming conventions

Longer-term hardening

  • Enforce Chrome/Edge ExtensionInstallForcelist and ExtensionInstallBlocklist enterprise policies to prevent unmanaged extension installation
  • Disable browser Developer Mode via GPO/managed policy (ExtensionInstallSources, DeveloperToolsAvailability)
  • Deploy EDR with behavioral detection for chrome.exe launched under a debugger flag and for direct writes to Secure Preferences
  • Monitor for DLL side-loading against legitimate security-vendor binaries (e.g., SentinelOne)
  • Add Ethereum smart-contract read monitoring for known dead-drop-resolver addresses associated with this actor

Affected and fixed versions

  • Google — Google Chrome
    Vulnerable versions: all versions relying on Secure Preferences HMAC/hash integrity for unmanaged extension trust, including pre-v144 legacy HMAC scheme and v144+ encrypted-hash scheme
  • Microsoft — Microsoft Edge
    Vulnerable versions: Chromium-based Edge builds sharing the same Secure Preferences integrity design as affected Chrome versions

Timeline of KREMLIN AVSync browser extension

  • Earliest known toolkit activity: an Internet Archive JPEG upload (output_image_202505.jpg) under account 'Radduxx' later found to carry payload configuration
  • Codecaudiog A campaign begins, delivering the malicious extension plus locked-ioc-23 RAT v1.6.6/1.7.3
  • Codecaudiog B campaign observed running in parallel with a distinct customer/config ID
  • Acrobat campaign delivers locked-ioc-23 RAT v1.7.1/1.7.2 without the browser extension component
  • Framesync-branded extension variant first observed hosted via locked-ioc-11
  • Framesync campaign deploys extension v12.0.0 (extension ID djodclnjknbpambeaaapadmdfhmbpeog) without an accompanying RAT
  • Donalurdesconfeitos-Cremeb campaign begins; the 'locked-ioc-22' branding is introduced into the toolkit for the first time
  • A JSE loader file header explicitly credits author 'Kr3mlin4rt1st' and names the toolkit locked-ioc-22, version 1.33
  • Cremeb campaign introduces a QR-code social-engineering lure alongside a QR-themed extension variant and locked-ioc-23 RAT v2.4.5
  • First Ethereum smart contract dead-drop resolver deployed (0x902EDbFECFF38f285Bf26283fB9cEB3700061873); locked-ioc-24 RAT substitutes locked-ioc-23 from this point forward
  • Operator rotates to a second smart contract (0x4f7D712D0B53fDf3c96896EB411467B30Da23406) for C2 configuration delivery
  • Third smart contract rotation (0x64Def0A6099c4DE9C413B108EAae85A3C7457615); a possible second operator running a modified toolkit copy is observed via locked-ioc-9 (Waves A-C)
  • Backup/failover C2 domains locked-ioc-18 and locked-ioc-16 first observed alongside the current smart contract locked-ioc-6
  • Elastic Security Labs (tracking as REF9334) and BleepingComputer publicly disclose the campaign, reporting 1,515+ confirmed infections predominantly in Brazil; Elastic discloses it registered a canary/kill-switch domain to disrupt part of the operation

Sources cited for KREMLIN AVSync browser extension

More from REF9334

Previous and next in malware

Drafted by the Threadlinqs research pipeline from 7 sources; published ; last updated —.

Threadlinqs Intelligence — Real-Time Threat Detection Platform

[ 0 threats ] [ 0 det ] [ CRIT: 0 ] [ HIGH: 0 ]
// threat_feed
$ sort --newest
Showing all threats

Live intelligence console

Threat level

Latest Threats