记一次Linux病毒处理

别说谁变了你拦得住时间么 提交于 2021-02-16 10:04:26

0 1
PART
病毒介绍

    

    XXX单位现场文员发现网络异常卡顿,经过查看数据包确定为XXXOA系统服务器大量上传数据从而占用网络。

    初步分析为服务器被感染挖矿病毒,被感染主机出现一个或多个十位随机字母病毒进程,主要目的消耗服务各项资源。此病毒会自我保护和自我恢复。此病毒会往外发送大量SYN数据包,造成网络堵塞。



03
PART
病毒分析


    病毒特征比较明显,进程列表中会出现十位随机字母病毒进程,并占用大量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下发现十位随机字符文件,内容如下:

内容为开机启动该木马。

总体,通过分析病毒本体和病毒释放文件如上所述。



04
PART
病毒处理


    输入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源创计划”,欢迎正在阅读的你也加入,一起分享。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!