XXX单位现场文员发现网络异常卡顿,经过查看数据包确定为XXXOA系统服务器大量上传数据从而占用网络。
初步分析为服务器被感染挖矿病毒,被感染主机出现一个或多个十位随机字母病毒进程,主要目的消耗服务各项资源。此病毒会自我保护和自我恢复。此病毒会往外发送大量SYN数据包,造成网络堵塞。
病毒特征比较明显,进程列表中会出现十位随机字母病毒进程,并占用大量CPU。
除此之外还会在修改 /etc/crontab 和新增文件/etc/cron.hourly/gcc.sh 来启动定时任务。/etc/cron.hourly/gcc.sh 内容如下
打开网卡,然后启动 libudev.so。
该程序还会同时启动多个进程来监控 libudev.so 进程是否被杀掉,如果被关掉了,会再把 libudev.so 拉起来,而且这个监控进程为了防止备关掉,还会不停的变换自己的进程名和进程号。
可以知道/lib/libkill.so是病原体,通过gcc.sh每隔3min自动检测一次,如果木马程序不存在,就从病原体复制一份儿到/lib/libkill.so.6 。
副本/lib/libkill.so.6执行,生成一个随机命名的程序,丢到/usr/bin/和/boot等目录
同时修改了自启动配置chkconfig –add xxx,同时修改自启动项/etc/rc.local。
在/etc/crontab下,有条计划任务为每三分钟执行gcc.sh。
在/etc/init.d下发现十位随机字符文件,内容如下:
内容为开机启动该木马。
总体,通过分析病毒本体和病毒释放文件如上所述。
输入top指令,发现十位随机字符串的进程占用CPU接近百分之百。
通过追踪病毒进程:strace -tt -p {端口号},确定了该进程为病毒进程。
通过命令:ls -l /proc/{PID},找到了病毒的释放文件。
删除病毒释放文件后后发现病毒文件会重复创建,通过观察.sh脚本,确认该文件只是释放文件,不是病毒源。
接着排查计划任务:crontab -l无发现病毒计划任务。
查看计划任务日志:more /var/log/cron log,找到其他病毒文件所在路径。
通过对/etc/cron.hourly/gcc.sh的查看,发现主要源头为/lib/libudev.so.6。
进入清理病毒步骤。
删除定时任务,给crontab加锁:rm -f /etc/cron.hourly/gcc.sh ; chattr +i /etc/crontab
终止病毒进程:kill -stop PID。
查找病毒文件并且删除: /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin /etc/cron.hourly etc/rc0.d-rc6.d这些目录有病毒文件,删除并加锁:chattr +i 路径
查找启动脚本,删除文件(发现病毒的启动文件为S90/K90):find /etc -name '*90*' | xargs rm -f
删除病毒进程。
完成处理,等待二十分钟无病毒复发,重启服务器无病毒复发。
本文分享自微信公众号 - 小啦的学习笔记(woshiguolala)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/3896378/blog/4445865