在安装CentOS-6.9-x86_64-minimal.iso之后因为设置用户密码比较简单,并且没有修改默认的22远程端口,导致短时间被扫描入侵,然后服务器疯狂向外发包,因此被自己搞死过好几次别人的机房部分网络,当时我并未注意,还认为是获取的镜像源有问题,所以封锁向外发包就没事了,不过过了很久之后我发现服务器CPU一直100%但是并无异常,不过TOP查看进程后看到一个进程非常奇怪,是一个随机的10位字母进程,这就引起了我的注意,于是开始漫长折腾之路...

首先我kill掉该进程之后它会自动再次出现一个新的随机10位字母的进程,我确定是中毒了,而且这个木马有自我恢复能力。

TOP执行后查看到一个异常进程

[root@cloud cron.hourly]# top

top - 00:35:21 up 10 min, 1 user, load average: 2.68, 2.18, 1.19

Tasks: 484 total, 1 running, 483 sleeping, 0 stopped, 0 zombie

Cpu(s): 5.6%us, 3.1%sy, 0.0%ni, 90.8%id, 0.4%wa, 0.0%hi, 0.1%si, 0.0%st

Mem: 8026932k total, 1084296k used, 6942636k free, 80368k buffers

Swap: 8388604k total, 0k used, 8388604k free, 282692k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

2918 root 20 0 32664 580 200 S 136.3 0.0 10:37.95 LWnS6b6qrw

1743 root 20 0 66236 1200 484 S 5.5 0.0 0:40.08 sshd

74026 root 20 0 15288 1520 892 R 5.5 0.0 0:00.06 top

1644 root 16 -4 93132 872 608 S 3.7 0.0 0:18.06 auditd

1666 root 20 0 246m 8632 1116 S 1.8 0.1 0:16.20 rsyslogd

...

这时候我想到一个问题我都没执行过这个进程他怎么会一直存在呢?这玩意肯定是开机启动,要么/etc/rc.d/{init.d,rc{1,2,3,4,5}.d}/下有启动脚本,要么有cron计划任务。 于是我发现crontab -l是正常的,来到/etc/rc.d/init.d下发现了异常有10位字母的启动脚本,脚本内容如下:

[root@cloud ~]# cat /etc/rc.d/init.d/LWnS6b6qrw

#!/bin/sh

# chkconfig: 12345 90 90

# description: LWnS6b6qrw

### BEGIN INIT INFO

# Provides: LWnS6b6qrw

# Required-Start:

# Required-Stop:

# Default-Start: 1 2 3 4 5

# Default-Stop:

# Short-Description: LWnS6b6qrw

### END INIT INFO

case $1 in

start)

/usr/bin/LWnS6b6qrw

;;

stop)

;;

*)

/usr/bin/LWnS6b6qrw

;;

esac

经过查找

/etc/rc.d/rc1.d/

/etc/rc.d/rc2.d/

/etc/rc.d/rc3.d/

/etc/rc.d/rc4.d/

/etc/rc.d/rc5.d/

/etc/rc.d/rc6.d/

这些目录下均存在木马软链接

[root@cloud init.d]# cd /etc/rc.d/rc1.d/

[root@cloud rc3.d]# ll

total 0

lrwxrwxrwx. 1 root root 19 Nov 20 2016 K10saslauthd -> ../init.d/saslauthd

lrwxrwxrwx. 1 root root 18 Nov 23 2016 K15svnserve -> ../init.d/svnserve

lrwxrwxrwx. 1 root root 20 Nov 20 2016 K87multipathd -> ../init.d/multipathd

lrwxrwxrwx. 1 root root 21 Nov 20 2016 K87restorecond -> ../init.d/restorecond

lrwxrwxrwx. 1 root root 20 Nov 20 2016 K89netconsole -> ../init.d/netconsole

lrwxrwxrwx. 1 root root 15 Nov 20 2016 K89rdisc -> ../init.d/rdisc

lrwxrwxrwx. 1 root root 22 Nov 20 2016 S02lvm2-monitor -> ../init.d/lvm2-monitor

lrwxrwxrwx. 1 root root 16 Nov 20 2016 S07iscsid -> ../init.d/iscsid

lrwxrwxrwx. 1 root root 19 Nov 20 2016 S08ip6tables -> ../init.d/ip6tables

lrwxrwxrwx. 1 root root 18 Nov 20 2016 S08iptables -> ../init.d/iptables

lrwxrwxrwx. 1 root root 17 Nov 20 2016 S10network -> ../init.d/network

lrwxrwxrwx. 1 root root 16 Nov 20 2016 S11auditd -> ../init.d/auditd

lrwxrwxrwx. 1 root root 17 Nov 20 2016 S12rsyslog -> ../init.d/rsyslog

lrwxrwxrwx. 1 root root 15 Nov 20 2016 S13iscsi -> ../init.d/iscsi

lrwxrwxrwx. 1 root root 19 Nov 20 2016 S15mdmonitor -> ../init.d/mdmonitor

lrwxrwxrwx. 1 root root 26 Nov 20 2016 S25blk-availability -> ../init.d/blk-availability

lrwxrwxrwx. 1 root root 15 Nov 20 2016 S25netfs -> ../init.d/netfs

lrwxrwxrwx. 1 root root 19 Nov 20 2016 S26udev-post -> ../init.d/udev-post

lrwxrwxrwx. 1 root root 19 Nov 23 2016 S50php56-fpm -> ../init.d/php56-fpm

lrwxrwxrwx. 1 root root 14 Nov 20 2016 S55sshd -> ../init.d/sshd

lrwxrwxrwx. 1 root root 17 Nov 22 2016 S64mariadb -> ../init.d/mariadb

lrwxrwxrwx. 1 root root 17 Nov 20 2016 S80postfix -> ../init.d/postfix

lrwxrwxrwx. 1 root root 15 Nov 23 2016 S85httpd -> ../init.d/httpd

lrwxrwxrwx. 1 root root 15 Nov 20 2016 S90crond -> ../init.d/crond

lrwxrwxrwx. 1 root root 22 Jun 12 00:25 S90LWnS6b6qrw -> /etc/init.d/LWnS6b6qrw

lrwxrwxrwx. 1 root root 11 Nov 20 2016 S99local -> ../rc.local

同时想到计划任务是否会被串改,于是查看:

[root@cloud ~]# cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# For details see man 4 crontabs

# Example of job definition:

# .---------------- minute (0 - 59)

# | .------------- hour (0 - 23)

# | | .---------- day of month (1 - 31)

# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...

# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * user-name command to be executed

*/3 * * * * root /etc/cron.hourly/gcc.sh

果然被串改,最后一句是被增加上去的

再跟踪/etc/cron.hourly/gcc.sh后发现

[root@cloud ~]# 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

到了这里我们可以确认有几个地方有问题

/lib/libudev.so

/etc/cron.hourly/gcc.sh

/etc/crontab

/etc/rc.d/init.d/

/etc/rc.d/{init.d,rc{1,2,3,4,5}.d}/

最后处理方法:

搜索并删除所有病毒 LWnS6b6qrw (你的系统中可能名称不一样请仔细核对)

删掉所有启动目录下的 S90LWnS6b6qrw 病毒软链接(注意:如果你的服务器是其他病毒名称,请仔细核对)。

搜索并删除 libudev.so 和 libudev.so.6

删除计划任务多余的病毒代码 */3 * * * * root /etc/cron.hourly/gcc.sh

删除病毒配置文件 root /etc/cron.hourly/gcc.sh

重启后发现进程没异常了

如果你依然无法解决,请联系QQ:38585404电话:15308000360有偿帮助你解决

centos中bash占用cpu_Linux CentOS 进程CPU占用100%木马查杀过程相关推荐

  1. Linux之在CentOS上一次艰难的木马查杀过程

    原文地址:https://blog.csdn.net/xpb1980/article/details/76647355 今天朋友说他一台要准备上线的生产服务器被挂马,特征ps命令找不到进程,top能看 ...

  2. java进程cpu占用高如何排查

    问题: 公司参加HW期间,项目两台双活的jboss服务器频繁触发cpu利用率过高告警,cpu利用率长时间在90%以上. 排查思路: 第一步:在两台Linux服务器上,执行top命令,并按大写P以cpu ...

  3. linux kswapd0进程cpu占用一直居高不下

    发现kswapd0进程cpu占用一直居高不下,于是查询资料,总结如下. kswapd0占用CPU时, 说明机器的全部内存(物理内存+虚拟内存)已经用尽了. 机器不得不把内存里的内容卸载到硬盘, 然后才 ...

  4. linux ubuntu systemd-udevd进程 cpu占用过高 解决方法

    ubuntu 18.04 systemd-udevd进程CPU占用特别高,禁用WiFi可以解决,如下: 执行 udevadm monitor ,不断输出如下信息: UDEV [13756.376116 ...

  5. oracle rdbms 占CPU,求助,数据库某个进程cpu占用高

    客户管理员反映数据库cpu占用占用,查看后发现有个进程cpu占用特别高,有一条sql似乎进入了死循环,hanganalyzis分析文件: Trace file /oracle/diag/rdbms/o ...

  6. java进程CPU占用高如何排查-案例二

    近期项目新版本上线遇到cpu冲高现象,依据之前的经验,把这次排查过程记录下. 这次排查参考了之前记录的经验,还是很有用的:java进程cpu占用高如何排查_停5s的博客-CSDN博客_java进程cp ...

  7. 网站被中木马并跳转到恶意网站的查杀过程

    症状: 访问站点只要后面目录带apk(不管是文件还是目录),就会判断请求头,如果为手机移动端的请求头,就会跳转到恶意网站,如果是电脑PC浏览器,就会弹空白页访问站点,让你看不到跳转后的网址,最近也加上 ...

  8. centos中bash占用cpu_Docker 多种维度限制容器可用的 CPU

    来源:http://t.cn/EfDPgJi 默认情况下容器可以使用的主机 CPU 资源是不受限制的.和内存资源的使用一样,如果不对容器可以使用的 CPU 资源进行限制,一旦发生容器内程序异常使用 C ...

  9. centos中bash占用cpu,linux - 如何使用bash命令创建CPU峰值

    linux - 如何使用bash命令创建CPU峰值 我想在Linux机器上创建接近100%的负载. 它是四核系统,我希望所有内核全速运行. 理想情况下,CPU负载将持续指定的时间,然后停止. 我希望在 ...

最新文章

  1. 【阶段小结】协同开发——这学期的Git使用小结
  2. 浏览Github必备的5款神器级别的Chrome插件
  3. C++11新特性之新类型与初始化
  4. Matlab与C++混合编程(依赖OpenCV)
  5. java函数ao活动对象_JavaScript中的执行上下文和变量对象
  6. 盛语小智教育机器人是骗人的_武清区人民检察院未检工作室,开展普法机器人进校园宣讲活动...
  7. 机器学习之sklearn——主题模型
  8. win7 php mysql扩展名_Win7 配置Apache+PHP+Mysql环境
  9. pc 图片预览放大 端vue_安利一款简单好用的Vue图片预览插件
  10. echars显示折点数据_数据可视化的基础语法
  11. WPF中DatePiker值绑定以及精简查询
  12. 【Vue2.0】— 消息订阅与发布pubsub(二十)
  13. linux配置jupyterlab
  14. mongo 3.0 备份和还原数据库 ,及too many positional arguments错误
  15. excel的VBA编程环境VBE更换错误字体后设置闪退
  16. android 电视安装apk文件损坏,智能电视无法安装APK文件?原因都在这里!
  17. Unity 视频播放器插件 AVPro Video -- 360全景视频播放+暴风魔镜sdk
  18. 报错:For input string
  19. 【复杂网络系列】复杂网络研究常用载体集
  20. sendto()_Linux C函数

热门文章

  1. 举个栗子~Tableau 技巧(228):堆叠柱形图中同时显示类别值与总值
  2. chrome 桌面通知_如何在Chrome中为Google日历启用桌面通知
  3. JAVA接口案例(猫和狗、运动员和教练)
  4. FDTD script command(源/监视器)
  5. mongodb服务器怎么修改,MongoDB修改数据的2种方法
  6. 分发饼干Python解法
  7. 思科华为网络工程师必修-什么是trunk?带你快速了解trunk
  8. python是不是脚本_关于Python是不是脚本语言的探讨
  9. “SkyReach”对“待就业六人组”和“葫芦娃”的Beta产品测试报告
  10. session的删除