Linux服务器中毒事件(libudev.so)
今天机房管理人员反馈公司的某台服务器在防火墙上的连接数超限,登陆服务器时发现非常卡顿,远程登录后查看,CPU持续100%,且有一长度为10的随机字符串进程,kill掉,会重新生成另外长度为10的字符串进程。删除文件也会重复生成,非常痛苦。查阅crontab,并没有发现相关定时任务,整个排查思路如下:
1、查看主机负载,确认可疑进程
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13784 root 20 0 31652 548 204 S 101.9 0.0 39:57.21 fknnknlajk
1 root 20 0 19364 812 616 S 2.0 0.0 4:35.69 init
10060 root 20 0 2739m 162m 9320 S 2.0 4.1 288:20.81 asterisk
11105 oracle 20 0 1931m 17m 16m S 2.0 0.4 4:01.23 ora_gen0_orcl
29775 root 20 0 1352 884 160 S 2.0 0.0 0:00.02 camrgawfg
2、确认可疑进程尝试杀掉,但是发现一会儿就会出现新的10位随机字符串进程,怀疑有定时任务
3、排查定时任务
no crontab for root
每个用户都查了,都是上面的提示,没有定时任务,什么鬼?
4、尝试查找最近3天内更新的文件
find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -mtime -3
/bin
/bin/wfukohsuk
/bin/wfukohsuk.sh
/bin/kushokufw
/usr/bin
/usr/bin/fknnknlajk
/usr/sbin
发现可以文件,其中/bin/wfukohsuk.sh的内容如下:
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
cp "/bin/wfukohsuk" "/bin/pqzllxphin"
"/bin/pqzllxphin"
看脚本的样子,也不像是问题的源头,手动删除这些文件也还是会生成。
5、因为现象是肯定有一个任务定时的检查生成,后来抱着怀疑的态度去看了crontab的日志
tail -f /var/log/cron
Jun 21 12:01:01 localhost run-parts(/etc/cron.hourly)[14504]: finished gcc.sh
Jun 21 12:01:01 localhost run-parts(/etc/cron.hourly)[14479]: starting wfukohsuk.sh
Jun 21 12:01:01 localhost run-parts(/etc/cron.hourly)[14516]: finished wfukohsuk.sh
Jun 21 12:03:01 localhost CROND[15290]: (root) CMD (/etc/cron.hourly/gcc.sh)
Jun 21 12:06:01 localhost CROND[16444]: (root) CMD (/etc/cron.hourly/gcc.sh)
Jun 21 12:09:01 localhost CROND[17615]: (root) CMD (/etc/cron.hourly/gcc.sh)
Jun 21 12:10:01 localhost CROND[18013]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Jun 21 12:12:01 localhost CROND[18806]: (root) CMD (/etc/cron.hourly/gcc.sh)
Jun 21 12:15:01 localhost CROND[19962]: (root) CMD (/etc/cron.hourly/gcc.sh)
竟然发现有定时任务在执行,这是什么情况?crontab -l中明明没有。后来才发现原来:
- crontab -l 检查的是 /var/spool/cron
- 定时任务不规范的路径还有一个 /etc/crontab
6、查看/etc/crontab文件,发现可疑定时任务
# tail /etc/crontab
*/3 * * * * root /etc/cron.hourly/gcc.sh
7、看到定时任务我就放心了,终于找到问题所在了
cat /etc/cron.hourly/gcc.sh
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
for i in `cat /proc/net/dev|grep :|awk -F: {'print $1'}`; do ifconfig $i up& done
cp /lib/libudev.so /lib/libudev.so.6
/lib/libudev.so.6
发现是一个叫libudev.so.6的病毒,我做了如下处理
8、杀毒
#删除定时任务,给crontab加锁
rm -f /etc/cron.hourly/gcc.sh ; chattr +i /etc/crontab #删除找到的启动脚本
find /etc -name 'fknnknlajk'
/etc/rc.d/init.d/fknnknlajk
find /etc -name 'fknnknlajk' | xargs rm -f #找到可能的病毒文件,并删除
find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -mtime -3
以为已经杀了毒了,但是删完一查,病毒文件有出来了,在cron.hourly/下产生了其他的病毒文件
# ls
0anacron dcyeuoisnrumrj.sh
# tail -f dcyeuoisnrumrj.sh
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
cp "/bin/dcyeuoisnrumrj" "/bin/mlucxcxfda"
"/bin/mlucxcxfda"
才发现并没有那么简单。
9、反查
- 病毒母文件已经删除
- 定时任务已经清理
- 感染的文件/etc/init.d,/bin,/usr/bin 已经清理干净了
然后下意识用ps查了下进程发现没有异常进程了,top看了下负载,哦? 出现了可疑进程,怀疑是没有停掉的进程新创建了新文件
#停止病毒进程,确认病毒PID
kill -STOP 16452 #查找启动脚本,删除文件(发现病毒的启动文件为S90/K90)
find /etc -name '*90*' | xargs rm -f #删除病毒文件
rm -rf /etc/cron.hourly/itfitufnyqsvg.sh #删除病毒文件
find /bin -mtime -1 | xargs rm -f #杀掉进程
pkill 16452
10、总结
1、首先肯定是root密码过弱,因为是用来测试的,就没注意。
2、处理的过程中还是有一些思路不是特别清晰,还需要梳理
Linux服务器中毒事件(libudev.so)的更多相关文章
- Linux服务器应急事件溯源报告
Linux服务器应急事件溯源报告 小博博 · 2016/02/18 17:43 Author:Inn0team 0x00 目录 关于目标环境的中间进度检测报告 一:情况概述 二:取证情况 2.1 目标 ...
- linux服务器中毒可疑进程sfewfesfs CPU80%
我用的是wdlinux, 难免会有漏洞,不知怎么就被莫名其妙地给入侵了,而且还频繁发包.下面是我查看攻击机器的整个过程. 首先跟客户要了root密码登录看,第一个命令是就top cd /proc/25 ...
- (分享)Linux服务器如何防止中木马
大家的windows机器可能经常装一些杀毒软件或者什么的来防止中毒,然而在Linux上我们应该怎么防止这些呢? 在面试过程中我们也经常遇到该类问题,那么我们应该怎么回答才显得既有逻辑又有深度呢? 首先 ...
- 记一次Linux服务器上查杀木马经历
开篇前言 Linux服务器一直给我们的印象是安全.稳定.可靠,性能卓越.由于一来Linux本身的安全机制,Linux上的病毒.木马较少,二则由于宣称Linux是最安全的操作系统,导致很多人对Linux ...
- Linux服务器的那些性能参数指标
Linux服务器的那些性能参数指标 一个基于Linux操作系统的服务器运行的同时,也会表征出各种各样参数信息.通常来说运维人员.系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要, ...
- 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群
高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...
- 线上Linux服务器运维安全策略经验分享
线上Linux服务器运维安全策略经验分享 https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&a ...
- jboss漏洞导致服务器中毒
中毒现象 1. 网络出现拥塞,访问延迟增加. 2. 系统定时任务表中出现异常的定时任务. 3. 出现异常进程. 4. $JBOSS_HOME/bin或/root目录下出现大量的异常文件. 现象 ...
- Linux服务器集群技术的概述
目前,越来越多的网站采用Linux操作系统,提供邮件.Web.文件存储.数据库等服务.也有非常多的公司在企业内部网中利用Linux服务器提供这些服务.随着人们对Linux服务器依赖的加深,对其可靠性. ...
随机推荐
- fiddler抓包-简单易操作(二)
Fiddler抓包简介 原理:fiddler是通过改写HTTP代理,客户端和服务器进行交互时,数据会从他那里通过,来监控和截取数据.我是这样理解的,如果不对,欢迎指正.如下图: 如果想要抓到数据包,首 ...
- Django 运行Admin 页面时出现 UnicodeDecodeError: 'gbk' codec can't decode byte XXXX解决方法
具体报错信息 Traceback (most recent call last): File "D:\Anaconda3\lib\site-packages\django\core\hand ...
- 机器学习实战一:kNN手写识别系统
实战一:kNN手写识别系统 本文将一步步地构造使用K-近邻分类器的手写识别系统.由于能力有限,这里构造的系统只能识别0-9.需要识别的数字已经使用图形处理软件,处理成具有相同的色彩和大小:32像素*3 ...
- 可以随着SeekBar滑块滑动显示的Demo
//关于Seek的自定义样式,之前也有总结过,但是,一直做不出随着滑块移动的效果,查询了很多资料终于解决了这个问题,现在把代码写出来有bug的地方 希望大家批评指正. Step 1 :自定义一个Vie ...
- Linux arm64的虚拟内存布局
原创翻译,转载请注明出处. 页表转换arm64在硬件体系结构上支持4级的每页大小为4K的页表转换,也支持3级的页大小64KB的页表转换.在linux arm64中,如果页的大小为4KB,使用3级页表转 ...
- 基于网络的 Red Hat 无人值守安装
基于网络的 Red Hat 无人值守安装 本文介绍了 PC 平台上的一种快速 Red Hat Linux 安装方案.它具有很高的自动化程度--用户只需手工启动机器并选择从网络启动,就可以完成整个安装过 ...
- WebKit 渲染过程
webkit笔记,主要来自 朱永盛 <WebKit技术内幕> 学习笔记,转载就注明原著,该书是国内仅有的Webkit内核的书籍,学习的好导师,推荐有兴趣的朋友可以购买 Webkit渲染过程 ...
- 【bzoj4009】[HNOI2015]接水果 DFS序+树上倍增+整体二分+树状数组
题目描述 给出一棵n个点的树,给定m条路径,每条路径有一个权值.q次询问求一个路径包含的所有给定路径中权值第k小的. 输入 第一行三个数 n和P 和Q,表示树的大小和盘子的个数和水果的个数. 接下来n ...
- BZOJ4563 HAOI2016放棋子(高精度)
没看清题还以为是要求数最大匹配数量……注意到任意障碍不在同一行同一列,且恰好有n个障碍,不妨通过交换列使得第i行第i列均有障碍.那么就是个错排了.居然wa了一发简直没救. #include<io ...
- Xinetd服务的安装与配置
Xinetd服务的安装与配置 http://blog.chinaunix.net/uid-21411227-id-1826885.html 1.什么是xinetd xinetd即extended in ...