惡意挖礦木馬防範指南(nán)

發布日期:2024-01-17首頁 > 安全資(zī)訊

 

一(yī)、挖礦誕生(shēng)背景

近幾年随着全球對虛拟貨币的不斷炒作,虛拟貨币價格水漲船高,除主流比特币外(wài),市場上湧現出了以太坊、萊特币、泰達币、艾達币等多個加密貨币。“挖礦”的概念最早出現于中(zhōng)本聰2008年發布的論文《比特币:一(yī)種點對點電(diàn)子貨币系統》,意爲通過消耗CPU的計算時間和電(diàn)力,以類似于黃金開(kāi)采商(shāng)消耗資(zī)源的方式,穩定獲得一(yī)定數量的電(diàn)子貨币,是用算力(哈希)處理交易并獲得獎勵的過程。由于“挖礦”過程中(zhōng)需要消耗大(dà)量的計算機資(zī)源,爲了提高算力,國内市場上相繼出現了CPU挖礦、GPU挖礦、FPGA挖礦、ASIC挖礦。随着礦工(gōng)越來越多,算力越來越大(dà),單個設備挖礦很難再獲得加密貨币獎勵,此時開(kāi)始出現礦池,通過礦池挖礦所産生(shēng)的加密貨币獎勵會按照每個礦工(gōng)貢獻算力的占比進行利益分(fēn)配。爲了進一(yī)步縮減成本,一(yī)些網絡犯罪分(fēn)子自2013年開(kāi)始便利用挖礦木馬控制成千上萬台機器組建僵屍網絡進行惡意挖礦,緻使挖礦木馬一(yī)度成爲全球最大(dà)的網絡安全威脅之一(yī)。自2021年以來,國家發展改革委等部門一(yī)直在嚴厲打擊虛拟貨币相關非法金融活動和涉虛拟貨币犯罪活動,在強監管之下(xià),國内挖礦産業已迅速降溫。

二、挖礦木馬家族

(一(yī))MyKings

MyKings僵屍網絡于2017年開(kāi)始出現,是由多個子僵屍網絡構成的多重僵屍網絡,集成了Mirai、Masscan、暗雲III等多種惡意程序功能。該僵屍網絡通過口令爆破、永恒之藍(lán)漏洞在局域網内快速擴散,傳播的惡意代碼包括DDoS、Proxy(代理服務)、RAT(遠程控制木馬)、Miner(挖礦木馬)。由于MyKings僵屍網絡代碼被公開(kāi)至Github,導緻被多個網絡黑産團夥瘋狂利用。

(二)8220

8220是一(yī)個長期活躍的利用多個漏洞進行攻擊的國内挖礦團夥,因早期惡意程序版本與C2[5]服務器通信使用8220端口而得名。該團夥擅長利用WebLogic、Jboss反序列化漏洞,Redis、Hadoop未授權訪問漏洞等漏洞進行攻擊,攻擊目标覆蓋Windows和Linux系統。該團夥在釋放(fàng)挖礦木馬時,會檢查并終止服務器中(zhōng)的所有競争挖礦木馬進程,以獨占服務器資(zī)源。

(三)WannaMine

WannaMine挖礦家族最早活躍于2017年9月,早期使用“永恒之藍(lán)”漏洞攻擊武器與“Mimikatz”憑證竊取工(gōng)具來攻擊服務器,并植入挖礦木馬,目前已經曆四代變種,WannaMine4.0沿用早期WannaMine家族的套路,依舊(jiù)利用“永恒之藍(lán)”漏洞進行傳播。

(四)H2Miner

H2Miner組織最早在2019年底使用kinsing僵屍網絡發起攻擊,因守護進程爲kinsing而得名,支持同時向Linux與Windows雙平台傳播惡意XMR挖礦腳本,該組織尤其擅長使用漏洞攻擊。

(五)WatchDogsMiner

WatchDogsMiner于2019年被發現,由于其會在/tmp/目錄下(xià)釋放(fàng)一(yī)個叫watchdogs的母體(tǐ)文件而得名。WatchDogsMiner病毒程序由go語言編寫,程序包含了網絡通信模塊、加密算法、Redis攻擊、SSH暴力破解、挖礦等功能。

(六)DTLMiner

DTLMiner挖礦木馬在2018年12月爆發,主要傳播方式包括“永恒之藍(lán)”漏洞、U盤傳播、SMB共享(域賬戶弱口令)、MSSQL弱口令、RDP弱口令、SSH弱口令、SSH公鑰登錄、Redis未授權訪問,2020年曾經利用“疫情”熱點進行釣魚傳播,該病毒在執行過程中(zhōng)會抓取系統内密碼來擴充自己的弱密碼庫,從而提高弱口令入侵成功率。

(七)SystemdMiner

SystemdMiner在2019年被首次發現,因運行進程爲systemd-而得名,早期SystemdMiner通過入侵DDG挖礦僵屍網絡進行快速擴張,該木馬存在多次變種,最新變種通過SSH暴力破解、SSH免密登錄利用、HadoopYarn未授權訪問漏洞和自動化運維工(gōng)具在内網擴散,且該木馬在感染主機後,會清除主機上的其他挖礦木馬,以達到資(zī)源獨占的目的。

(八)DDG

DDG是一(yī)款在Linux系統下(xià)運行的惡意挖礦木馬,因程序運行進程名稱含有關鍵字“ddg*”字樣得名,前期其主要通過SSH爆破、Redis未授權訪問漏洞等方式進行傳播,近年來其更新非常頻(pín)繁。

三、挖礦木馬産生(shēng)源頭與表現類型

 

挖礦木馬能夠在各種平台上運行,包括Windows、Linux、Android、物(wù)聯網(IOT)等,其産生(shēng)源頭有兩類,第一(yī)類是黑客攻擊網站、PC、服務器或雲主機後非法植入惡意挖礦程序,第二類是企業内部人員(yuán)利用内部網絡和機器私自安裝部署挖礦木馬程序。

挖礦木馬的表現類型主要有三種:一(yī)是可執行挖礦木馬文件,此類挖礦木馬程序一(yī)般都是基于XMRig、CNRig、XMR-Stak等開(kāi)源挖礦代碼進行定制,通過設置計劃任務或者修改注冊表,實現長期挖礦作業。二是無文件挖礦木馬,利用PowerShell等合法工(gōng)具在系統内存中(zhōng)運行挖礦程序,具有不落地、難檢測、隐蔽性高等特點。三是嵌入惡意JS腳本的挖礦網站,黑客通過在網站中(zhōng)植入JavaScript惡意挖礦腳本,實現利用浏覽該網站的用戶計算機資(zī)源進行挖礦。

四、挖礦木馬運行機制

 

通過分(fēn)析主要挖礦木馬家族的行爲特征,不難發現挖礦木馬的主要入侵方式爲弱口令、系統漏洞和捆綁軟件方式,其中(zhōng),部分(fēn)挖礦木馬也使用了諸如網頁挂馬、釣魚郵件、供應鏈污染等攻擊方式。

 

挖礦木馬程序在運行後,一(yī)般會主動連接C2服務器以獲取工(gōng)作指令,執行正式挖礦任務前,會主動連接礦池地址獲取相應的挖礦任務。挖礦機器與礦池之間的通信需要遵循特定的協議,目前主流的挖礦協議是Stratum協議,早期的挖礦協議有getblocktemplate和getwork協議。标準的Stratum協議有四個階段,分(fēn)别是礦機任務訂閱、礦機認證、挖礦任務下(xià)發和挖礦結果提交,個别加密貨币采用的通信協議會有部分(fēn)不同,比如常見的XMR門羅币挖礦程序,其将前3個階段合并爲一(yī)個階段,大(dà)大(dà)簡化通信過程。

爲了實現長期駐留隐蔽挖礦的目标,挖礦木馬會采用多種隐蔽技巧,如創建挖礦守護進程,設置後門賬号、使用任務計劃(Windows)或者Crontab(Linux)設置周期性執行任務、設置文件或目錄爲隐藏屬性、将自身程序寫入啓動項、劫持替換ls、netstat、ps、lsof等系統命令文件、修改/etc/ld.so.preload文件實現惡意so文件預加載。爲了實現系統資(zī)源的獨占性,部分(fēn)挖礦木馬程序在感染主機後會選擇清理CPU占用高的進程或其他競争挖礦程序的進程,并屏蔽其他競争挖礦程序的域名訪問。爲了避免被防毒軟件查殺,大(dà)部分(fēn)挖礦木馬程序會自動關閉或卸載常見防毒軟件的相關進程以實現安防對抗。爲了獲取更多的計算資(zī)源,挖礦木馬程序基本上都集成了蠕蟲模塊,除暴力破解外(wài),還會利用大(dà)量0day/Nday漏洞獲取内網主機權限,實現内網快速橫向移動。

五、挖礦木馬防範措施

(一(yī))事前階段

一(yī)是要杜絕系統服務弱口令。對于RDP、SSH、Mssql、Redis等系統服務,必須設置高強度的登錄密碼口令,并保持定期更新,具備條件的企業,應該考慮将上述服務接入堡壘機或者4A進行有效管控。

二是要減少互聯網暴露面。必須按照“最小(xiǎo)化原則”開(kāi)放(fàng)必要的端口及服務,盡量不要在互聯網中(zhōng)開(kāi)放(fàng)135(Windows)、139(Windows)、445(Windows)、3389(RDP)、3306(Mysql)、1433(Mssql)、1521(Oracle)、2181(Zookeeper)、6379(Redis)、27017(MongoDB)、9200/9300(ElasticSearch)、9092(Kafka)等高危端口。對于必須在公網上直接開(kāi)放(fàng)的高危端口,必須提前做好安全基線配置,并在防火(huǒ)牆上設置IP白(bái)名單保護。

三是要及時更新系統漏洞補丁。目前,大(dà)部分(fēn)挖礦木馬均會借助系統漏洞進行傳播。2021年,ApacheLog4j“核彈級漏洞”僅曝光1天,挖礦木馬家族就将其加入至漏洞武器庫,可見挖礦木馬程序的漏洞武器庫更新較爲迅速。因此,在監測發現系統或者服務存在重大(dà)安全漏洞後,必須在最短的時間内開(kāi)展漏洞影響評估,在不影響業務連續性的前提下(xià),穩妥開(kāi)展漏洞升級工(gōng)作,降低感染挖礦木馬的風險。

四是要設置網絡出向訪問白(bái)名單。通過分(fēn)析挖礦木馬的運行機制後發現,挖礦木馬運行後不僅會連接外(wài)部礦池,還可能會連接C2服務器以接收C2指令,通過設置網絡出向訪問白(bái)名單,可以有效阻斷挖礦木馬與互聯網的通信,此安全控制措施對于通過代理中(zhōng)轉方式間接訪問礦池或C2域名的變種挖礦木馬也具有非常好的防護作用。

五是要啓用主機防火(huǒ)牆。由于主機防火(huǒ)牆是最後一(yī)道安全防線,通過啓用主機防火(huǒ)牆,可以實現入站和出站訪問流量的精細化控制,有效封堵某些攻擊漏洞的入口,從而避免被惡意挖礦木馬攻擊利用。

六是引入部署安全防護産品。從挖礦木馬的運行機制來看,挖礦木馬在進行挖礦時,會對礦池進行DNS查詢和IP連接,且感染主機後還會産生(shēng)一(yī)系列異常行爲,因此可以從進程特征、網絡連接、文件特征等維度進行事前檢測和事中(zhōng)防護。通過部署主機Hids、網絡流量監測産品、IOC威脅情報類産品以及防病毒産品,可以實現挖礦木馬從植入到内網擴散的全過程檢測與防護。

(二)事中(zhōng)階段

由于挖礦程序一(yī)般會消耗大(dà)量的CPU或者GPU資(zī)源,同時,會占用大(dà)量的系統資(zī)源和網絡帶寬,極可能造成系統運行卡頓或服務運行異常,因此很容易被日常監控軟件發現,如不幸中(zhōng)招挖礦木馬,可以采取以下(xià)措施進行事中(zhōng)處置。

一(yī)是采取斷網或關機的方式隔離(lí)問題主機。目前,大(dà)部分(fēn)挖礦木馬均具有蠕蟲傳播特性,在感染主機後,挖礦木馬會進一(yī)步以本機作爲跳闆,通過口令爆破或漏洞掃描等方式在整個局域網内快速傳播,因此爲了避免挖礦木馬程序的擴散,使受感染主機離(lí)線是最好的方案。

二是快速定位事件原因,還原網絡攻擊鏈。通過提取系統網絡日志(zhì)、安全産品告警日志(zhì)以及挖礦木馬樣本文件,結合互聯網公開(kāi)威脅情報數據,綜合研判當前挖礦木馬程序是否與已知(zhī)公開(kāi)樣本具有同源性,如感染變種挖礦木馬程序,應通知(zhī)專業安全機構參與攻擊溯源工(gōng)作,确保挖礦攻擊鏈能夠被有效還原。

三是封堵漏洞入口,根除挖礦木馬程序。在完整摸清挖礦木馬程序的攻擊鏈後,可以着手實施挖礦木馬程序的清理工(gōng)作。在停止挖礦木馬程序進程,删除相關落地文件之後,必須需要重點檢查定時任務、系統啓動項、公鑰文件、關鍵系統命令是否被修改。如有必要,建議對相關受感染的系統進行重裝,以保證惡意程序清理的徹底性。此外(wài),系統重新入網上線前,必須要對漏洞入口進行有效處置。

(三)事後階段

完成挖礦木馬事件應急響應後,企業必須及時更新内部知(zhī)識庫,并且舉一(yī)反三,針對相關事件過程開(kāi)展全面複盤,通過總結經驗與教訓,不斷強化企業自身網絡安全能力短闆建設。

 

 

 

轉載自freebuf.com