攻防演練丨Coinhive網頁挖礦詳解
近期“網頁挖礦”出現在了我們的視野。網頁挖礦是一種利用網站前端javascript進行挖礦的一種行為,目前主要利用CoinHive和JSEcoin這兩個手段進行網頁挖礦,除此之外還有利用Webmine,Cryptoloot,Webmine等進行挖礦。
通過對近期出現的“網頁挖礦”事件的分析,發現幾乎都是利用手機麻將外掛。
整個攻擊過程一般都是通過某些web漏洞對網站的檔案進行麻將作弊外掛軟體篡改,這個操作往往不需要太高的系統許可權,整個過程也非常容易操作。
到這一步就完成了整個網頁挖礦病毒麻將外掛軟體的構建。
這種挖礦與普通的挖礦不同,採用coinhive網頁挖礦是攻擊者將自己的錢包地址給了第三方,然後通過與第三方的代理礦池互動去實現的網頁挖礦。第三方會收取一定的比率的算力,是一種代理挖礦的模式。
流程:
1.受害者訪問了被黑客掛了怎麼訓練狗狗大小便訓練狗教程手機捕魚外掛作弊軟體星力捕魚程式刷分軟體的網站;
2.之後,受害者的瀏覽器會請求coinhive伺服器中的coinhive.min.js檔案;
3.執行coinhive的JS程式碼,會去請求代理礦池;
4.開始與代理礦池互動;
5.代理礦池會與總礦池互動;
6.在代理礦池中挖取的門羅幣幣會弄到黑客提交的錢包地址裡面;
一、攻防演練
為了清楚瞭解coinhive網頁挖礦的攻擊過程,我們搭建瞭如下的拓撲圖:
PS.部署AF,僅啟用訪問控制,模擬真實環境,其他功能及安全感知平臺僅做監控。
目標某日訪問量400+IP站點,各種掃描探測工具一通掃描,發現了目標站點存在Struts2漏洞:
一下子就發現可以直接命令執行的漏洞,趕緊看看目標站點的具體資訊,方便等會修改POC指令碼使用。
網上找了一個s2-045的Poc,動手修改後就將攻擊指令碼上傳到之前抓到的肉雞上。
啟動攻擊指令碼,輸入存在漏洞的目標URL開始攻擊:
指令碼執行完後的成功後,打開了火狐瀏覽器確認一下是否已經植入成功,訪問目標站點的任意頁面可以看到文字末尾添加了coinhive的js程式碼,這時候就可以等待收穫了:
小白作為這個網站的常客,經常在這個網站觀看視訊,最近發現瀏覽網站的時候電腦非常卡,CPU利用率很高:
但只要關閉網站,CPU就恢復正常了:
02攻擊詳解
漏洞利用分析
Str2_045漏洞的利用程式碼,構造了相應的exp,能夠通過輸入存在漏洞頁面,然後執行cmd指令:
執行指令分析
寫入covin.js檔案的base64編碼,寫入的檔案為evil.txt,為下一步做準備:
對evil.txt進行base64解碼,解碼檔案為evil.ps2,這是一個可執行的shell檔案:
最後使用powershell執行shell檔案,對網站下的檔案植入挖礦程式碼:
Powershell指令碼檔案如下:
植入的挖礦程式碼如下:
網站運營方:
定時對網站進行掃描;
及時修復網站漏洞;
及時給電腦打補丁,修復漏洞;
安裝專業的伺服器安全防護軟體;
關閉不必要的目錄許可權。
網站瀏覽者:
開啟瀏覽器內建攔截功能;
安裝攔截外掛進行防範;
安裝“反挖礦”安全防護軟體。