前言

上传文件的时候发现总是失败,查看top发现有个进程一直cpu占用80%以上,而且名称还是随机数。kill之后,一会儿又重新生成了。突然发现居然没有在服务端杀毒的经历。在此处补齐。

安装clamav

http://www.linuxdiyf.com/linux/18635.html

http://www.linuxidc.com/Linux/2013-09/90021.htm

http://www.linuxidc.com/Linux/2013-08/88981.htm

扫描

clamscan -r /usr/bin -l /home/clamav.log --remove
  • -r表示文件夹递归
  • /usr/bin是病毒扫描目录
  • -l 是小写的L,后面是日志文件
  • --remove是删除掉病毒,但如果害怕误删除应该--move.不过我就直接删除了。

结果:

----------- SCAN SUMMARY -----------
Known viruses: 5180110
Engine version: 0.99.2
Scanned directories: 29655
Scanned files: 167613
Infected files: 9
Total errors: 22919
Data scanned: 8238.96 MB
Data read: 11093.36 MB (ratio 0.74:1)
Time: 1264.429 sec (21 m 4 s)

然后查看日志:

[root@121 bin]# more /home/clamav.log | grep Removed
/usr/bin/cnndpyizhj: Removed.
/usr/bin/nrklkyfekn: Removed.
/usr/bin/gdyyzgtmlj: Removed.
/usr/bin/ledzqwnycy: Removed.
/usr/bin/idtzyjxhxe: Removed.
/usr/bin/ikeabglldp: Removed.
/usr/bin/qbfqilhtiw: Removed.
/usr/bin/chwrmovzsx: Removed.
/usr/lib/libudev.so: Removed.

看到几个病毒文件给删除。然后病毒原体libudev.so也删除。还以为皆大欢喜,可以睡觉了。谁知道过了没多久,又看到病毒肆虐了。第一次这么仇恨病毒。于是百度 libudev.so找到很多随机10字母病毒的文章。按照顺序删除文件,效果还不错。

问题

上传文件到服务器,发现总是卡着。以为是网路问题,结果表明是系统繁忙。罪魁祸首是一个随机英文10字母的病毒。会在/etc/init.d下生成启动文件,会在/usr/bin/xxxx下生成xxxx文件。kill后会重新生成新的进程和文件。所以,必须找到病毒原体。

解决

首先,查看定时任务。

crontab -l

没有任何任务。

[root@121 init.d]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root # 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

发现一个gcc脚本,不是我们创建的,显然是病毒。查看发现原来在执行一个叫做libudev.so的脚本。

删除病毒

我手动删除了crontab里的任务,但发现很快又被创建了。所以必须停止掉进程。参考的几篇文章在最后,采用了如下做法:

  • kill -stop {pid} #查看top的pid,停止它而不是-9
  • chmod 000 /usr/bin/xxxxxxx && chattr +i /usr/bin 最后一个锁定目录,不允许添加。不允许添加很重要
  • cd /etc/init.d 然后删除不认识的启动项目
  • 删除gcc.sh
  • 删除crontab任务
  • 删除 /lib/libude.so /lib/libudev.so.6
  • 删除产生的文件
  • 最后再删除一遍crontab里重新生成的任务
[root@121 bin]# ls -lt | head
total 205196
-rwxr-xr-x. 1 root root 0 Dec 3 17:57 mtexjsonvz
-rwxr-xr-x. 1 root root 4096 Dec 3 17:30 jqgcppiqrt
-rwxr-xr-x. 1 root root 0 Dec 3 17:18 nchnwflgyw
-rwxr-xr-x. 1 root root 0 Dec 3 17:11 orymfmjitf
-rwxr-xr-x. 1 root root 4096 Dec 3 17:07 sbzqxjzvyk
-rwxr-xr-x. 1 root root 4096 Dec 3 17:04 mmmyfojril
-rwxr-xr-x. 1 root root 4096 Dec 3 16:48 dfkcgwfuff
-rwxr-xr-x. 1 root root 0 Dec 3 16:43 psuiwjkapn
-rwxr-xr-x. 1 root root 36864 Dec 3 16:43 lnovkdrabl
[root@121 bin]# rm -rf mtexjsonvz jqgcppiqrt nchnwflgyw orymfmjitf sbzqxjzvyk mmmyfojril dfkcgwfuff psuiwjkapn lnovkdrabl

过一会,看看会不会产生信息的进程。如果没事了就解锁/usr/bin:

chattr -i /usr/bin

到目前为止,还没看到新的病毒产生。杀毒完成。

参考

在centos7上安装ClamAV杀毒,并杀毒(centos随机英文10字母)成功的更多相关文章

  1. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  2. 在 CentOS7 上安装 zookeeper-3.4.9 服务

    在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/service ...

  3. 在 CentOS7 上安装 MongoDB

    在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...

  4. 在 CentOS7 上安装 MySQL5.7

    在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...

  5. 在 CentOS7 上安装 Tomcat9

    在 CentOS7 上安装 Tomcat9 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目 ...

  6. 在CentOS7上安装JDK1.8

    在CentOS7上安装JDK1.8 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目录 to ...

  7. 在Centos7上安装漏洞扫描软件Nessus

    本文摘要:简单叙述了在Centos7上安装Nessus扫描器的过程   Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件,Nessus的用户界面是基于Web界面来访问Nessus漏洞扫描器 ...

  8. 如何在centos7上安装源码包

    在我们使用linux的过程中,有很多程序是通过红帽官网给的系统中安装的,但是一般来说,系统更新的速度比较慢,如果这个时候我们又想用最新版的该怎么办呢?总不能一直等系统升级吧╮(╯﹏╰)╭所以,我们可以 ...

  9. centos7上安装0penStack

    centos7上安装0penStack author:headsen chen 2017-10-09  20:41:54 个人原创,欢迎转载,请注明作者,出去,否则依法追究责任 一,准备工作(配置ip ...

随机推荐

  1. 高性能IO模型浅析

    高性能IO模型浅析 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型. (2)同步非阻塞IO(Non-blocking  ...

  2. app开发外包注意事项,2017最新资讯

    我们见过很多创业者,栽在这app外包上.很多创业者对于app外包这件事情不是特别重视,以为将事情交给app外包公司就完事了,实际上不是的.无论是从选择app外包公司还是签订合同.售后维护等各方面都有许 ...

  3. css实现单行,多行文本溢出显示省略号……

    1.单行文本溢出显示省略号我们可以直接用text-overflow: ellipsis 实现方法: <style> .div_text{width: 300px; padding:10px ...

  4. [C#] 剖析 AssemblyInfo.cs - 了解常用的特性 Attribute

    剖析 AssemblyInfo.cs - 了解常用的特性 Attribute [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5944391.html 序 ...

  5. C#中Length和Count的区别(个人观点)

    这篇文章将会很短...短到比你的JJ还短,当然开玩笑了.网上有说过Length和count的区别,都是很含糊的,我没有发现有 文章说得比较透彻的,所以,虽然这篇文章很短,我还是希望能留在首页,听听大家 ...

  6. javascript动画系列第二篇——磁性吸附

    × 目录 [1]范围限定 [2]拖拽范围 [3]磁性吸附 前面的话 上一篇,我们介绍了元素拖拽的实现.但在实际应用中,常常需要为拖拽的元素限定范围.而通过限定范围,再增加一些辅助的措施,就可以实现磁性 ...

  7. js刷新页面方法大全

    如何实现刷新当前页面呢?借助js你将无所不能. 1,reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet])   参数: bForceGet, ...

  8. TCP的数据传输小结

    TCP的交互数据流 交互式输入 通常每一个交互按键都会产生一个数据分组,也就是说,每次从客户传到服务器的是一个字节的按键(而不是每次一行) 经受时延的确认 通常TCP在接受到数据时并不立即发送ACK: ...

  9. bzoj1531: [POI2005]Bank notes

    Description Byteotian Bit Bank (BBB) 拥有一套先进的货币系统,这个系统一共有n种面值的硬币,面值分别为b1, b2,..., bn. 但是每种硬币有数量限制,现在我 ...

  10. 【初探Spring】------Spring IOC(三):初始化过程---Resource定位

    我们知道Spring的IoC起到了一个容器的作用,其中装得都是各种各样的Bean.同时在我们刚刚开始学习Spring的时候都是通过xml文件来定义Bean,Spring会某种方式加载这些xml文件,然 ...