首次在微軟商店中發現挖礦劫持軟體
1月17日,賽門鐵克在Microsoft Store上發現了幾個可能不受歡迎的應用程序(PUA),這些應用程序秘密使用受害者的CPU來挖掘加密貨幣。我們向Microsoft報告了這些應用程序,隨後他們將這些應用程序從商店中刪除。
這些應用程序包括計算機和電池優化教程、互聯網搜索、網路瀏覽器以及視頻查看和下載,它們來自三個開發人員:DigiDream,1clean和Findoo。總的來說,我們發現了來自這些開發人員的八個應用程序共享相同的危險行為。經過進一步調查,我們認為所有這些應用程序很可能是由同一個人或組織開發的。
圖1.在Microsoft Store上找到的八個挖礦應用程序
用戶可以通過Microsoft商店中的免費應用top列表或關鍵字搜索這些應用。我們發現的樣本在Windows 10上運行,包括Windows 10 S。
一旦下載並啟動了應用程序,他們就會通過在其域名伺服器中觸發Google跟蹤代碼管理器(GTM)來獲取貨幣挖掘JavaScript庫。然後,挖掘腳本被激活並開始使用計算機的大部分CPU來為運營商挖掘Monero。雖然這些應用提供隱私政策,但在應用商店的描述中沒有提到貨幣挖掘。
這些應用程序於2018年4月至12月期間發布,其中大部分都是在去年年底發布的。儘管應用程序在商店中存在的時間相對較短,但仍有大量用戶下載了這些應用程序。雖然我們無法獲得準確的下載或安裝計數,但我們可以看到這些應用程序已擁有近1,900個評級。但是,應用程序評級可能會被欺騙性地誇大,因此很難知道有多少用戶真正下載了這些應用程序。
挖礦腳本
這些應用程序的域名在其應用程序清單文件中硬編碼,如圖2所示。
圖2.「Fast-search.tk」 - Fast-search Lite應用程序的域名 - 在應用程序的清單文件中硬編碼
每個應用程序啟動後,將在後台靜默訪問域名,並使用密鑰GTM-PRFLJPX觸發GTM,此密鑰在所有這八個應用程序中共享。
GTM是一個合法的工具,允許開發人員將JavaScript動態注入其應用程序。但是,GTM可能會被濫用以隱藏惡意或危險行為,因為存儲在GTM中的JavaScript鏈接是https://www.googletagmanager.com/gtm.js?id=,並不表示該函數調用的代碼。
圖3. GTM腳本,應用程序訪問該腳本以激活挖掘腳本
通過監控來自這些應用程序的網路流量,我們發現它們都連接到以下遠程位置,這是一個加密貨幣挖掘JavaScript庫:http://statdynamic.com/lib/crypta.js。
然後,應用程序訪問自己的GTM並激活挖掘腳本。
Crypta.js是一個加密的JavaScript庫,如圖4所示。
圖4.加密的JavaScript庫Crypta.js
解碼之後,我們發現它是Coinhive庫的一個版本。Coinhive是一個挖掘Monero的腳本。自從Coinhive服務於2017年9月推出以來,已有許多報道稱其在網站訪問者不知情的情況下被用於加密貨幣挖掘劫持。
我們還研究了GTM上的礦工激活碼,關鍵源代碼如圖5所示。
圖5. 解密後的Crypta.js
我們觀察到該礦工用密鑰da8c1ffb984d0c24acc5f8b966d6f218fc3ca6bda661,該密鑰為Coinhive的錢包。
這些應用程序屬於漸進式Web應用程序類,它們作為獨立於瀏覽器運行的Windows 10應用程序安裝在獨立(WWAHost.exe進程)窗口中。
共享域名伺服器
從應用程序的網路流量中,我們找到了每個應用程序的託管伺服器。通過Whois查詢,我們發現所有這些伺服器實際上都具有相同的來源。因此,這些應用程序很可能是由使用不同域名的相同開發人員發布的。
圖6.Whois查找顯示應用程序的伺服器具有相同的來源
我們已向微軟和谷歌通報了這些應用的行為。 Microsoft已從其商店中刪除了這些應用程序。挖掘貨幣的JavaScript庫也已從Google跟蹤代碼管理器中刪除。
緩解
採取以下預防措施,保護其免受在線威脅和風險的影響:
·保持軟體是最新版本。
·不要從不熟悉的網站下載應用程序。
·僅從受信任的來源安裝應用程序。
·密切關注應用程序請求的許可權。
·密切關注計算機或設備的CPU和內存使用情況。
·安裝合適的安全應用程序(如Norton或Symantec Endpoint Protection)以保護設備和數據。
·經常備份重要數據。
保護
Symantec和Norton產品分別檢測應用程序和JavaScript加密貨幣挖掘程序,如下所示:
·PUA.Downloader
·Miner.Jswebcoin
※這條能看到騷擾電話末日的簡訊,你收到了嗎?
※新型密碼竊取軟體AcridRain的分析
TAG:嘶吼RoarTalk |