清除挖矿木马流程

一. 及时隔离主机,避免影响内网

iptables -A INPUT -s 内网地址 -j DROP
iptables -A OUTPUT -s 内网地址 -j DROP
#或者使用云安全组隔离

二.阻断异常通信

#查看可疑ip和端口
iptables -nL
#从iptables规则清除可疑地址端口
vim /etc/sysconfig/iptables
#阻断木马通信
iptables -A INPUT -s 可疑地址 -j DROP
iptables -A OUTPUT -d 可疑地址 -j DROP

三.清除任务计划

#查看任务计划日志
tail -f /var/log/cron
#查看任务计划
crontab -l
#查看其他任务文件

cat /etc/crontab
cat /var/spool/cron
cat /etc/anacrontab
cat /etc/cron.d/
cat /etc/cron.daily/
cat /etc/cron.hourly/
cat /etc/cron.weekly/
cat /etc/cron.monthly/
cat /var/spool/cron/

四.清除启动项目

#查看启动项
systemctl list-unit-files
#删除启动项
systemctl disable 服务名
#还需要排查可疑目录文件
/usr/lib/systemd/system
/usr/lib/systemd/system/multi-user.target.wants
/etc/rc.local
/etc/inittab
/etc/rc0.d/
/etc/rc1.d/
/etc/rc2.d/
/etc/rc3.d/
/etc/rc4.d/
/etc/rc5.d/
/etc/rc6.d/
/etc/rc.d/
/etc/profile
#如果发现可疑启动项目,进行删除
cat /usr/lib/systemd/system/xxx.service
删除ExecStart对应的文件

五.清除预载so

#默认为空
cat /etc/ld.so.preload
#如果不为空可以清除
>/etc/ld.so.preload

六.清除ssh公钥

# 查看公钥清除未知 
cat ~/.ssh/authoruzed_keys

七.清除挖矿进程

#查看cpu占的比较高的进程
top -c
ps -ef
#获取并记录进程的文件路径:
ls -l /proc/$PID/exe
#杀死进程
kill -9 $PID
#删除进程执行文件
rm -rf  路径
#可以看下tmp目录下是否有未知文件
#清除其他相关恶意进程
netstat -antp  发现未知的监听端口的进程
ls -l /proc/$PID/exe
kill -9 $PID
#可以通过如下命令排查近期新增的文件,清除相关木马
find /etc -ctime -2 (这里指定目录为/etc,获取近2天内的新增文件)
 lsof -c kinsing (这里要查看文件名为kinsing的相关进程信息)

八.其他情况

8.1刚清理木马,没过多久cpu仍然很高

排查思路 任务计划 ---启动项---守护进程---在清理恶意进程

8.2 如何判定进程为恶意进程

#查看恶意进程对应的文件
ls -al /proc/$PID/ex
#如果文件未被删除,直接上传文件到virustoal进行检测或者md5过后进行查询(https://www.virustotal.com/gui/search)
#如果文件已经删除,将进程dump到特定目录,在对文件进行md5到virustotal进行查询
cat /proc/$PID/exe > /tmp/t.bin

8.3cpu接近100%,但是看不到哪个进程导致的

#系统命令被木马篡改,隐藏了木马进程痕迹
top.original $@|grep -v "zzh\|pnscan"  //top.original真正的top命令
#恢复命令
rm -rf /usr/bin/top && mv /usr/bin/top.original /usr/bin/top

#2.篡改加载so文件,,ls、top、ps等命令已经被木马的动态链接库劫持,无法获得木马进程相关的信息
> /etc/ld.so.preload && rm -rf 恶意so文件路径

#3.通过其他未知手段篡改命令
#3.1从其他系统拷贝命令到系统当前未知覆盖
#3.2 安装busybox对系统进行排查
yum -y install wget make gcc perl glibc-static ncurses-devel libgcrypt-devel
wget http://busybox.net/downloads/busybox-1.33.0.tar.bz2
tar -jxvf busybox-1.33.0.tar.bz2
cd busybox-1.33.0 && make defconfig && make install
#配置busybox环境变量
vim /etc/profile
export PATH=/root/busybox-1.33.0/_install/bin:$PATH
#使环境变量生效
source /etc/profile
#命令使用
busybox ls