Linux挖礦病毒StartMiner突變來襲
今年2月發(fā)現(xiàn)了StartMiner采礦病毒。 他之所以被任命是因?yàn)樗牧鞒毯陀?jì)劃中的任務(wù)包括2start.jpg鏈。 該病毒通過ssh傳播。 它的功能是創(chuàng)建幾個包含2start.jpg字符串的字符串。 惡意同步任務(wù)。 亞信繼續(xù)監(jiān)控挖礦病毒,發(fā)現(xiàn)挖礦病毒最近相對活躍,頻繁更新和持續(xù)共享C&C站點(diǎn)。 亞信安全地攔截了最新版的StartMiner挖掘病毒,該病毒終止了其他挖掘過程,創(chuàng)建了多個計(jì)劃任務(wù),下載并執(zhí)行了海嘯挖掘和僵尸網(wǎng)絡(luò)。
判斷是否存在Known_hosts和SSH公鑰,如存在則遍歷known_hosts中的IP地址并連接,同時執(zhí)行惡意進(jìn)程。除了執(zhí)行2start.jpg外,其還會下載執(zhí)行hxxp[:]//107[.]189[.]11[.]170/d.py,同時,在SSH時,會調(diào)用-oStrictHostKeyChecking=no參數(shù)以修改ssh_config。
downloadIfNeed函數(shù),判斷/tmp/x86_64是否存在,不存在則執(zhí)行download函數(shù);如果存在但是MD5校驗(yàn)錯誤,同樣執(zhí)行download函數(shù)。此外,其會計(jì)算下載前后的MD5及文件大小并寫入到tmp/tmp.txt文件。
Download函數(shù),校驗(yàn)/tmp/x86_643文件MD5,如果正常則拷貝至/tmp/x86_64;如果錯誤則執(zhí)行download2函數(shù)。
Download2函數(shù),從多個URL下載樣本(x86_64、i686、go)至本地/tmp目錄,完成后校驗(yàn)/tmp/x86_64的MD5值,如果正常則拷貝至/tmp/x86_643。
judge函數(shù),判斷網(wǎng)絡(luò)連接中是否存在與134.122.17.13:8080的連接,如果不存在則執(zhí)行如下操作:
中止所有CPU>30的進(jìn)程;
執(zhí)行downloadIfNeed函數(shù);
從多個URL下載樣本(x86_64、i686、go)至本地/tmp目錄;
增加文件執(zhí)行權(quán)限并運(yùn)行g(shù)o文件;
解密運(yùn)行Base64加密的python腳本。
Judge2函數(shù),判斷進(jìn)程中是否有dbused或dbusted名稱的進(jìn)程,如果沒有則執(zhí)行如下操作:
downloadIfNeed函數(shù);
從多個URL下載樣本(x86_64、i686、go)至本地/tmp目錄;
增加文件執(zhí)行權(quán)限并運(yùn)行g(shù)o文件;
解密運(yùn)行Base64加密的python腳本。
判斷是否存在與134.122.17.13:8080的連接,如果不存在則執(zhí)行judge函數(shù),存在則執(zhí)行judge2函數(shù)。
判斷是否存在與104.244.75.25:443的連接,如果不存在則根據(jù)位數(shù)下載x64b/x32b樣本;保存到/tmp,提升文件權(quán)限并執(zhí)行。
惡意定時任務(wù),查詢Crontab中是否存在107.189.11.170字符串,如果不存在則先清空Crontab并寫入惡意定時任務(wù),以定期下載執(zhí)行2start.jpg。2start.jpg的所有邏輯執(zhí)行完畢后,刪除/tmp/2start.jpg。
Go.sh分析
新建一個bash文件/tmp/dbusted,用于拷貝x86_64至/tmp/.dbusted/dbusted,執(zhí)行并刪除。
D.py分析
D.py根據(jù)位數(shù)下載對應(yīng)樣本,并執(zhí)行d.py、b.py和go2.sh。
B.py分析
B.py下載并執(zhí)行x64b或x32b樣本,內(nèi)容為Tsunami僵尸后門程序,亞信安全近期曾披露過關(guān)于該僵尸后門的相關(guān)情報。
ELF文件
X86_64和i686為Pwnrig挖礦程序,x64b\x32b為Tsunami僵尸網(wǎng)絡(luò)木馬,均已在之前的病毒通告中做過分析,在此不再重復(fù)。
手動清除方案
保存并執(zhí)行以下bash:
#!/bin/bash
rm -f /etc/cron.d/apache 2>/dev/null
rm -f /etc/cron.d/nginx 2>/dev/null
rm -f /etc/cron.d/root 2>/dev/null
rm -f /etc/cron.hourly/oanacroner1 2>/dev/null
cp /var/spool/cron/crontabs/root /root/root.crontab.bak 2>/dev/null
cp /var/spool/cron/root /root/cron.bak 2>/dev/null
cat /dev/null >/var/spool/cron/crontabs/root 2>/dev/null
cat /dev/null >/var/spool/cron/root 2>/dev/null
rm -f /var/tmp/.xo 2>/dev/null
rm -f /var/tmp/x64b 2>/dev/null
rm -f /tmp/x86_64 2>/dev/null
rm -f /tmp/dbusted 2>/dev/null
rm -f /tmp/i686 2>/dev/null
rm -f /var/tmp/hxx 2>/dev/null
rm -f /var/tmp/scan.log 2>/dev/null
rm -f /tmp/hxx 2>/dev/null
rm -f /var/tmp/dbusetd 2>/dev/null
rm -f /var/tmp/p 2>/dev/null
rm -f /var/tmp/.sh/x86_64 2>/dev/null
rm -f /var/tmp/x86_64 2>/dev/null
rm -f /var/tmp/i686 2>/dev/null
rm -f /var/tmp/go 2>/dev/null
rm -f /var/tmp/x86_643 2>/dev/null
rm -f /var/tmp/x64b 2>/dev/null
rm -f /var/tmp/x32b 2>/dev/null
rm -f /var/tmp/ip.sh 2>/dev/null
rm -f /tmp/.sh/x86_64 2>/dev/null
rm -f /tmp/x86_64 2>/dev/null
rm -f /tmp/i686 2>/dev/null
rm -f /tmp/go 2>/dev/null
rm -f /tmp/x86_643 2>/dev/null
rm -f /tmp/x64b 2>/dev/null
rm -f /tmp/x32b 2>/dev/null
rm -f /tmp/ip.sh 2>/dev/null
rm -f /var/tmp/d.py 2>/dev/null
rm -f /var/tmp/2start.jpg 2>/dev/null
rm -f /tmp/d.py 2>/dev/null
rm -f /tmp/2start.jpg 2>/dev/null
rm -f /var/tmp/go 2>/dev/null
rm -f /tmp/go 2>/dev/null
rm -f /tmp/p 2>/dev/null
rm -f /tmp/masscan 2>/dev/null
rm -f /tmp/ips.sh 2>/dev/null
rm -f /var/tmp/sparte 2>/dev/null
rm -f /tmp/scan.log 2>/dev/null
chattr -ia /bin/bprofr 2>/dev/null
chattr -ia /bin/crondr 2>/dev/null
chattr -ia /bin/initdr 2>/dev/null
rm -f /bin/initdr 2>/dev/null
rm -f /bin/crondr 2>/dev/null
rm -f /bin/bprofr 2>/dev/null
chattr -ia ~/.bash_profile 2>/dev/null
cp ~/.bash_profile ~/.bash_profile.bak 2>/dev/null
sed -i '/dbused/d' ~/.bash_profile 2>/dev/null
ps aux|grep dbused|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep hxx|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep "107.189"|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep "104.244"|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep "/tmp/go"|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep "/tmp/.xo"|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep "107.189"|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
ps aux|grep "104.244"|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
ps aux|grep "/tmp/go"|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
ps aux|grep "/tmp/.xo"|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
ps aux|grep dbused|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
ps aux|grep hxx|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
亞信安全教你如何防范
亞信安全病毒碼版本15.985.60,云病毒碼版本15.985.71,全球碼版本15.985.00已經(jīng)可以檢測,請用戶及時升級病毒碼版本。
亞信安全深度威脅發(fā)現(xiàn)設(shè)備TDA可以偵測到此威脅相關(guān)內(nèi)容:
IOCs
hxxp[:]//107[.]189[.]11[.]170/go
hxxp[:]//107[.]189[.]11[.]170/go2
hxxp[:]//107[.]189[.]11[.]170/d.py
Hxxp[:]//107[.]189[.]11[.]170/b.py
hxxp[:]//107[.]189[.]11[.]170/2start.jpg
hxxp[:]//104[.]244[.]74[.]248/x86_64
hxxp[:]//104[.]244[.]75[.]25/i686
hxxp[:]//107[.]189[.]11[.]170/x64b
hxxp[:]//107[.]189[.]11[.]170/x32b
hxxp[:]//205[.]185[.]113[.]151/go
Hxxp[:]//205[.]185[.]113[.]151/i686
Hxxp[:]//205[.]185[.]113[.]151/x86_64
Hxxp[:]//205[.]185[.]113[.]151/x64b
Hxxp[:]//205[.]185[.]113[.]151/x32b
Hxxp[:]//205[.]185[.]113[.]151/xmi
Hxxp[:]//205[.]185[.]113[.]151/d.py