Skip to content
NewA calmer, faster ZeroHour
MalwarehighExploited in the wild

The extension you never installed: KREMLIN forges Chrome's own integrity checks to steal banking sessions

Elastic Security Labsby Cyril François,Andrew Pease ()12 min read2 · 1 read
AI summary · glm-5.3Summaries by Vani AI

Elastic details KREMLIN, a Brazilian banking malware whose malicious Chrome/Edge extension forges Chromium integrity checks to steal sessions.

Elastic Security Labs tracked operation REF9334 and its KREMLIN toolkit, a Brazilian banking malware campaign impersonating twelve banks across seven campaigns since May 2025. The infection chain uses multi-stage obfuscated JavaScript loaders with sandbox checks (file and process counting), scheduled-task persistence, and an Ethereum smart contract acting as a dead-drop resolver for C2 and payload URLs, abusing Archive.org for hosting. The malicious browser extension bypasses Chromium integrity mechanisms by manipulating Secure Preferences and regenerating required HMACs and App-Bound encrypted hashes. Threat Command disrupted over 1,500 infections by registering the kill-switch canary domain.

Key facts
  • Malicious extension forges Secure Preferences HMACs and App-Bound hashes to bypass Chromium integrity checks
  • Ethereum smart contract used as dead-drop resolver to rotate C2 and payload hosting URLs
  • Targets customers of twelve Brazilian banks; lures and code comments in Portuguese
  • Elastic disrupted 1,500+ infections by registering the network canary kill-switch domain
  • Sideloading abuse of a legit SentinelOne binary and Node.js runtime download in the chain
Analyze this story with Vani AIImpact, who is affected and what defenders should do, in a new chat

Indicators of compromise

auto-extracted · verify before use · export allAll
TypeIndicatorContext
domainconnection.upgradeonline.sitepassing the campaign ID. In this sample, the URL is hxxps://connection[.]upgradeonline[.]site . Loader beacons to C2 Second stage: persistence and th
domaingranderevolucao.storelicious browser extension installer payload main-v2 hxxps://granderevolucao[.]store/5c92d3b8734b4f498752f735a1ca0987/{campaignId} .NET PE Inj
domainia601808.us.archive.orglegit SentinelOne binary for side-loading sentinel hxxps://ia601808[.]us[.]archive[.]org/5/items/sentinel_20260722_0435/Sentinel.jpg After the
domainvolmira.siteabA6740d07b . The extension and main-v2 parameters returned volmira[.]site and zaviro[.]online , respectively. Notably, the main-v2
domainwww.creamp1eonlyfans.netting to download a page from the unregistered domain hxxp://www[.]creamp1eonlyfans[.]net . Because this domain should not return any content, a
domainzaviro.onlinextension and main-v2 parameters returned volmira[.]site and zaviro[.]online , respectively. Notably, the main-v2 value was updated on
md55c92d3b8734b4f498752f735a1ca0987n installer payload main-v2 hxxps://granderevolucao[.]store/5c92d3b8734b4f498752f735a1ca0987/{campaignId} .NET PE Injector sub-module hxxps://archive[.]
sha256106eac79396a3ff77b8f375c391260ce422be2ae4d55d3aa75b2635cbdc0fa42tection For this analysis, we examine the following script: 106eac79396a3ff77b8f375c391260ce422be2ae4d55d3aa75b2635cbdc0fa42 . The obfuscation is fairly basic: function names are repla
sha2565ece7fd3766b0b7f8aadefa562313cea6c3c94f9398658dd389910e5be44f552ful pivot for finding additional first-stage samples (e.g., 5ece7fd3766b0b7f8aadefa562313cea6c3c94f9398658dd389910e5be44f552 ). The sandbox-detection heuristic consists of two checks.
sha256c8c38634dd44d7c6162c66174a6ee23ee404265125166e8d757681bdd66a4268ugging. For this analysis, we examine the following binary: c8c38634dd44d7c6162c66174a6ee23ee404265125166e8d757681bdd66a4268 . KREMLIN string decryption algorithm As noted at the begin
urlhttps://archive.org/download/hotelmoskva/hotelmoskva.jpg498752f735a1ca0987/{campaignId} .NET PE Injector sub-module hxxps://archive[.]org/download/hotelmoskva/hotelmoskva.jpg SentinelMemoryScanner.exe : legit SentinelOne binary for
urlhttps://connection.upgradeonline.sitedpoint, passing the campaign ID. In this sample, the URL is hxxps://connection[.]upgradeonline[.]site . Loader beacons to C2 Second stage: persistence and th
urlhttps://granderevolucao.store/5c92d3b8734b4f498752f735a1ca0987/{campaignId}r URL Malicious browser extension installer payload main-v2 hxxps://granderevolucao[.]store/5c92d3b8734b4f498752f735a1ca0987/{campaignId} .NET PE Injector sub-module hxxps://archive[.]org/downloa
urlhttps://ia601808.us.archive.org/5/items/sentinel_20260722_0435/Sentinel.jpger.exe : legit SentinelOne binary for side-loading sentinel hxxps://ia601808[.]us[.]archive[.]org/5/items/sentinel_20260722_0435/Sentinel.jpg After the modules download and the CAB archive extrac
urlhttps://volmira.site/api/ext?p=98d8049e-804f-11f1-b79f-ae3a8bb85d01URL, passing the Customer ID through the p query parameter: hxxps://volmira[.]site/api/ext?p=98d8049e-804f-11f1-b79f-ae3a8bb85d01 . How KREMLIN installs a Chrome extension without the Web
urlhttps://volmira.site/api/ext/versionintained. After retrieving the domains, the malware queries hxxps://volmira[.]site/api/ext/version to obtain the extension version. The response contains a
urlhttps://volmira.site//api/savecredsas the RC4 key are sent to the following two C2 endpoints: hxxps://volmira[.]site//api/savecreds and hxxps://zaviro[.]online//api/v1/fingerprint . The fol
urlhttps://zaviro.online//api/v1/fingerprinttwo C2 endpoints: hxxps://volmira[.]site//api/savecreds and hxxps://zaviro[.]online//api/v1/fingerprint . The following POST request was captured on our server:
urlhttp://www.creamp1eonlyfans.netattempting to download a page from the unregistered domain hxxp://www[.]creamp1eonlyfans[.]net . Because this domain should not return any content, a

From the original article

12 min read at elastic.co

Elastic Security Labs tracked this malicious browser extension across seven campaigns and 15 months, through Brazilian bank lures and the Ethereum smart contracts that hold its C2 configuration.

Elastic Security Labs

By Cyril François,Andrew Pease · elastic.co

Read the full article at Elastic Security Labs

A short excerpt; the article and its images belong to the publisher. Summary, key facts and assessment above are AI-written from the article and can be wrong.