周六告警一個接一個重窟,感覺極不尋常
netstat -anpd執(zhí)行結果如下
久違的中毒感覺浸颓,查看一下各用戶下的crontab
cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}
嗯愤钾,這個pastebin很眼熟蛙讥,又是那個病毒
再來用這個命令查詢一下惡意進程
perf top -s pid,comm,dso,symbol
可以發(fā)現很多的ksoftirqds進程
聯(lián)系研發(fā)薪丁,讓他們檢查jenkins里面的問題腳本
不久之后研發(fā)發(fā)來這樣一個截圖遇西,表示這段代碼不是他們寫的
確認完畢,開始為進一步處理做一些準備工作
cd/bin/
wget https://busybox.net/downloads/binaries/1.30.0-i686/busybox
chmod 755 busybox
這個病毒會偽裝成trace严嗜,通過find命令粱檀,在jenkins下面找到了這個trace文件
/var/lib/jenkins/jobs/Jenkins-Update/workspace/trace
去掉該文件的x權限(但實際上這樣操作了也沒什么卵用)
開始最后的大招之前,聯(lián)系研發(fā)阻问,讓他們干掉jenkins里面被植入的腳本梧税,然后備份一些需要的crontab任務,準備上腳本干了
(感謝默安科技提供的腳本)
vim rm_DGG.sh
#!/bin/bash
#? ? ? 處理2019-2-23XXXX服務器DDG病毒的腳本
#LANG=zh_CN.UTF-8
# 關閉crontab
service crond stop
systemctl stop crond
# 寫hosts, 屏蔽病毒腳本下載
busybox echo -e "\n0.0.0.0 pastebin.com\n0.0.0.0 thyrsi.com" >> /etc/hosts
# 刪除称近,創(chuàng)建,并鎖定 crontab相關文件
busybox rm /var/spool/cron/root && busybox touch /var/spool/cron/root && busybox chattr +i? /var/spool/cron/root
busybox rm /var/spool/cron/crontabs/root && busybox touch /var/spool/cron/crontabs/root && busybox chattr +i /var/spool/cron/crontabs/root
busybox rm /etc/cron.d/root && busybox touch /etc/cron.d/root && busybox chattr +i /etc/cron.d/root
# 刪除cron.d目錄的其他文件
busybox rm /etc/cron.d/*
# 刪除病毒相關執(zhí)行文件和啟動腳
busybox find / -type f -name '*watchdogs*'|busybox xargs rm -f
# 刪除病毒進程
busybox pkill watchdogs
busybox pkill ksoftirqds
# 刪除被preload的so庫
chattr -i /etc/ld.so.preload
chattr -i /usr/local/lib/libioset.so
busybox rm -f /usr/local/lib/libioset.so
busybox rm -f /etc/ld.so.preload
busybox rm -f /etc/ld.so.cache
# 驗證libioset.so被卸載
# lsof |grep /usr/local/lib/libioset.so
# 無輸出, 則該動態(tài)鏈接庫被卸載, 直接執(zhí)行驗證步驟; 有輸出, kill掉占用的進程, 重復執(zhí)行該步驟;
# 再次清理異常進程
busybox ps -ef | busybox grep -v grep | busybox egrep 'ksoftirqds' | busybox awk '{print $1}' | busybox xargs kill -9
busybox ps -ef | busybox grep -v grep | busybox egrep 'watchdogs' | busybox awk '{print $1}' | busybox xargs kill -9
# 刪除相關惡意文件
busybox rm -f /tmp/watchdogs
busybox rm -f /etc/cron.d/tomcat
busybox rm -f /etc/cron.d/root
busybox rm -f /var/spool/cron/root
busybox rm -f /var/spool/cron/crontabs/root
busybox rm -f /usr/sbin/watchdogs
busybox rm -f /run/systemd/generator.late/watchdogs.service
busybox rm -f /etc/rc.d/init.d/watchdogs
busybox rm -f /etc/rc.d/init.d/watchdogs-bak
ldconfig
# 清理開機啟動項
chkconfig watchdogs off
chkconfig --del watchdogs
service crond start
echo "Done, Please reboot!"
此外哮塞,這個病毒的作者為了讓自己的木馬能獨占礦機刨秆,還寫了一些清除別的木馬的語句
ps auxf | grep -v grep | grep hwlh3wlh44lh | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep hashvault.pro | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep nanopool.org | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep /usr/bin/.sshd | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep /usr/bin/bsd-port | awk '{print $2}' | xargs kill -9
ps auxf|grep -v grep|grep "xmr" | awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "xig" | awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "ddgs" | awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "qW3xT" | awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "wnTKYg" | awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "t00ls.ru" | awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "sustes" | awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "thisxxs" | awk '{print $2}' | xargs kill -9
ps auxf|grep -v grep|grep "hashfish" | awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "kworkerds" | awk '{print $2}'|xargs kill -9
參考文檔
https://www.tuicool.com/articles/U3UBjeN (此次處理的主要參考對象)
http://www.reibang.com/p/1497ddd4410c
后續(xù)操作
1.之前在切換jenkins的時候,意外發(fā)現了之前一次登陸忆畅,ip來自南韓衡未;試了一下仍然能ping通該IP,且該IP與業(yè)務無關;在防火墻中禁用該IP段
2.redis統(tǒng)統(tǒng)加上密碼
后續(xù)之后續(xù)
ksoftirqds和watchdogs干掉之后至今沒有再發(fā)現缓醋,由于jenkins的漏洞問題如失,該服務器再次被攻擊
在jenkins上可以找到一個update的任務(病毒本體),會在下面的路徑下持續(xù)給trace腳本添加x權限送粱,在進程里面也可以發(fā)現這個trace褪贵,殺掉后會自動啟動
/var/lib/jenkins/jobs/Jenkins-Update/workspace/trace
在jenkins上將該腳本設置為禁用后問題得以解決
OS層面需要采取的措施
1.確保遠程root登錄處于關閉狀態(tài)
2.echo "root" >> /etc/cron.allow
3.修改root賬戶密碼