挖礦病毒攻擊的排查處置手冊

一、背景
在用戶不知情或未經允許的情況下,佔用系統資源和網絡資源進行挖礦,影響用戶的網絡和資源,從而獲取虛擬幣牟利。
爲了幫助應對惡意挖礦程序攻擊,發現和清除惡意挖礦程序,防護和避免感染惡意挖礦程序,整理了如下針對挖礦活動相關的現狀分析和檢測處置建議。

二、爲什麼會感染惡意挖礦程序
通常遇到企業內網主機感染惡意挖礦程序,或者網站、服務器以及使用的雲服務被植入惡意挖礦程序的時候,都不免提出“爲什麼會感染惡意挖礦程序,以及是如何感染的”諸如此類的問題,目前感染惡意挖礦程序的主要方式:
2.1.利用類似其他病毒木馬程序的傳播方式。
例如釣魚欺詐,色情內容誘導,僞裝成熱門內容的圖片或文檔,捆綁正常應用程序等,當用戶被誘導內容迷惑並雙擊打開惡意的文件或程序後,惡意挖礦程序會在後臺執行並悄悄的進行挖礦行爲。
2.2.暴露在公網上的主機、服務器、網站和Web服務、雲服務等被入侵。
通常由於暴露在公網上的主機和服務由於未及時更新系統或組件補丁,導致存在一些可利用的遠程利用漏洞,或由於錯誤的配置和設置了較弱的口令導致被登錄憑據被暴力破解或繞過認證和校驗過程。
2.3.內部人員私自安裝和運行挖礦程序
企業內部人員帶來的安全風險往往不可忽視,需要防止企業機構內部人員私自利用內部網絡和機器進行挖礦牟利,避免出現類似“湖南某中學校長利用校園網絡進行挖礦”的事件。
三、惡意挖礦會造成哪些影響
3.1.CPU極高,耗電,造成網絡擁堵
由於挖礦程序會消耗大量的CPU或GPU資源,佔用大量的系統資源和網絡資源,其造成內部網絡擁堵。
3.2.影響業務運行。
可能造成系統運行卡頓,系統或在線服務運行狀態異常,嚴重的可能造成線上業務和在線服務的拒絕服務,以及對使用相關服務的用戶造成安全風險。

四、惡意挖礦攻擊是如何實現的
那麼惡意挖礦攻擊具體是如何實現的呢,這裏我們總結了常見的惡意挖礦攻擊中重要攻擊鏈環節主要使用的攻擊戰術和技術。
4.1.初始攻擊入口
針對企業和機構的服務器、主機和相關Web服務的惡意挖礦攻擊通常使用的初始攻擊入口分爲如下三類:
1.遠程代碼執行漏洞
實施惡意挖礦攻擊的黑客團伙通常會利用1-day或N-day的漏洞利用程序或成熟的商業漏洞利用包對公網上存在漏洞的主機和服務進行遠程攻擊利用並執行相關命令達到植入惡意挖礦程序的目的。
下表是結合近一年來公開的惡意挖礦攻擊中使用的漏洞信息:
漏洞名稱 相關漏洞編號 相關惡意挖礦攻擊
永恆之藍 CVE-2017-0144 MsraMiner,WannaMiner,CoinMiner
Drupal Drupalgeddon 2遠程代碼執行 CVE-2018-7600 8220挖礦團伙[1]
VBScript引擎遠程代碼執行漏洞 CVE-2018-8174 Rig Exploit Kit利用該漏洞分發門羅比挖礦代碼[3]
Apache Struts 遠程代碼執行 CVE-2018-11776 利用Struts漏洞執行CNRig挖礦程序[5]
WebLogic XMLDecoder反序列化漏洞 CVE-2017-10271 8220挖礦團伙[1]
JBoss反序列化命令執行漏洞 CVE-2017-12149 8220挖礦團伙[1]
Jenkins Java反序列化遠程代碼執行漏洞 CVE-2017-1000353 JenkinsMiner[4]

2.暴力破解
通常還會針對目標服務器和主機開放的Web服務和應用進行暴力破解獲得權限外,例如暴力破解Tomcat服務器或SQL Server服務器,對SSH、RDP登錄憑據的暴力猜解。
3.未正確配置導致未授權訪問漏洞
由於部署在服務器上的應用服務和組件未正確配置,導致存在未授權訪問的漏洞。黑客團伙對相關服務端口進行批量掃描,當探測到具有未授權訪問漏洞的主機和服務器時,通過注入執行腳本和命令實現進一步的下載植入惡意挖礦程序。
下表列舉了惡意挖礦攻擊中常用的未授權漏洞。
漏洞名稱 主要的惡意挖礦木馬
Redis未授權訪問漏洞 8220挖礦團伙[1]
Hadoop Yarn REST API未授權漏洞利用 8220挖礦團伙[1]
除了上述攻擊入口以外,惡意挖礦攻擊也會利用諸如 供應鏈攻擊,和病毒木馬類似的傳播方式實施攻擊。
4.2.植入,執行和持久性
惡意挖礦攻擊通常利用遠程代碼執行漏洞或未授權漏洞執行命令並下載釋放後續的惡意挖礦腳本或木馬程序。
惡意挖礦木馬程序通常會使用常見的一些攻擊技術進行植入,執行,持久化。例如使用WMIC執行命令植入,使用UAC Bypass相關技術,白利用,使用任務計劃持久性執行或在Linux環境下利用crontab定時任務執行等。
下圖爲在 8220挖礦團伙 一文[1]中分析的惡意挖礦腳本,其通過寫入crontab定時任務持久性執行,並執行wget或curl命令遠程下載惡意程序。
在這裏插入圖片描述
4.3.競爭與對抗
惡意挖礦攻擊會利用混淆,加密,加殼等手段對抗檢測,除此以外爲了保障目標主機用於自身挖礦的獨佔性,通常還會出現“黑喫”的行爲。例如:
修改host文件,屏蔽其他惡意挖礦程序的域名訪問
搜索並終止其他挖礦程序進程
通過iptables修改防火牆策略,甚至主動封堵某些攻擊漏洞入口以避免其他的惡意挖礦攻擊利用
4.4.惡意挖礦程序有哪些形態
當前惡意挖礦程序主要的形態分爲三種:
自開發的惡意挖礦程序,其內嵌了挖礦相關功能代碼,並通常附帶有其他的病毒、木馬惡意行爲
利用開源的挖礦代碼編譯實現,並通過PowerShell,Shell腳本或Downloader程序加載執行,如XMRig [7], CNRig [8],XMR-Stak[9]。
其中XMRig是一個開源的跨平臺的門羅算法挖礦項目,其主要針對CPU挖礦,並支持38種以上的幣種。由於其開源、跨平臺和挖礦幣種類別支持豐富,已經成爲各類挖礦病毒家族最主要的挖礦實現核心。
Javascript腳本挖礦,其主要是基於CoinHive[6]項目調用其提供的JS腳本接口實現挖礦功能。由於JS腳本實現的便利性,其可以方便的植入到入侵的網站網頁中,利用訪問用戶的終端設備實現挖礦行爲。
在這裏插入圖片描述
五、如何發現是否感染惡意挖礦程序
那麼如何發現是否感染惡意挖礦程序,本文提出幾種比較有效而又簡易的排查方法。
5.1.經驗排查法或“肉眼”排查
由於挖礦程序通常會佔用大量的系統資源和網絡資源,所以結合經驗是快速判斷企業內部是否遭受惡意挖礦攻擊的最簡易手段。
通常企業機構內部出現異常的多臺主機卡頓情況並且相關主機風扇狂響,在線業務或服務出現頻繁無響應,內部網絡出現擁堵,在反覆重啓,並排除系統和程序本身的問題後依然無法解決,那麼就需要考慮是否感染了惡意挖礦程序。
5.2.技術排查法

  1. 進程行爲
    top命令查看CPU佔用率情況,並按C鍵通過佔用率排序,查找CPU高的進程。
    在這裏插入圖片描述
  2. 網絡連接狀態
    netstat -anp命令查看主機網絡連接狀態和對應進程,查看是否存在異常的連接。
  3. 自啓動或任務計劃腳本
    查看自啓動或定時任務列表,例如通過crontab查看當前的定時任務。
    在這裏插入圖片描述
  4. 相關配置文件
    查看主機的例如/etc/hosts,iptables配置等是否異常。
  5. 日誌文件
    查看/var/log下的主機或應用日誌,例如這裏查看/var/log/cron*下的相關日誌。
    在這裏插入圖片描述
  6. 安全防護日誌
    查看內部網絡和主機的安全防護設備告警和日誌信息,查找異常。通常在企業安全人員發現惡意挖礦攻擊時,初始的攻擊入口和腳本程序可能已經被刪除,給事後追溯和還原攻擊過程帶來困難,所以更需要依賴於服務器和主機上的終端日誌信息以及企業內部部署的安全防護設備產生的日誌信息。

六、如何清除惡意挖礦程序

  1. 終止挖礦進程,刪除挖礦文件和服務。
  2. 檢查是否可疑計劃任務和可疑啓動項,刪除挖礦相關的任務、服務、啓動項。
  3. 檢查hosts、user等配置文件,刪除可疑新增的內容。

七、如何防護惡意挖礦攻擊

  1. 應該在其企業內部使用的相關係統,組件和服務出現公開的相關遠程利用漏洞時,儘快更新其到最新版本,或在爲推出安全更新時採取恰當的緩解措施。
  2. 對於在線系統和業務需要採用正確的安全配置策略,使用嚴格的認證和授權策略,並設置複雜的訪問憑證。
  3. 加強人員的安全意識,避免企業人員訪問帶有惡意挖礦程序的文件、網站。
  4. 制定相關安全條款,杜絕內部人員的主動挖礦行爲。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章