文档章节

记一次Linux 病毒清理

LisonSong
 LisonSong
发布于 2015/11/23 10:15
字数 859
阅读 61
收藏 1

总结:

1、病毒程序每次生成的文件都是 10个随机的字母字符  

2、删除/etc/init.d 下的病毒启动文件 不会触发病毒再生成

3、没有排查思路时,多看看系统日志

最基本的中毒现象:

网卡流量暴增、CPU持续超过100%,发现有一长度为10的随机字符串进程,kill掉,会重新生成另外长度为10的字符串进程。删除文件也会重复生成,非常痛苦。


事后利用病毒的关键词检索发现网上已经有人遇到过类似问题,网上发现源文件的方法:

A、查阅crond相关日志,发现实际执行的内容为/lib/libudev.so ,以此为关键字进行查询

B、strace -tt -p PID  跟踪病毒文件 发现 /lib/libudev.so  然后关键次查询找到 gcc.sh


我在排查中发现病毒源文件的过程:

病毒会开机自启动,开始检查开机自启动的入口


A、cron 定时计划

        发现 gcc.sh 可疑但是不能确定,咨询研发人员,也不能确认。

        找了2个多小时病毒源文件后还是找不到,

        只能find 24 小时内被操作过的文件,过滤掉系统文件,大海捞针。

        最后还是怀疑gcc.sh  尝试将此文件mv 到其他目录,重启服务器后居然会自动生成一个,所以确认是病毒文件。接下来就是顺藤摸瓜了。

B、rc.local

      都是正常的业务启动命令

C、可疑的系统服务  

        发现可疑对象,通过脚本文件定位到  /usr/bin下的病毒文件,但是删除后会立即生成,确认这个只是病毒衍生文件。


排查过程中发现机器在频繁和一个固定IP通讯:

lsof  -p PID 发现就是病毒程序发起的通讯

使用 hosts.deny

或者 iptables封禁此 IP  

网络流量锐减


下面是处理细节:


  1. 网络流量暴增,使用 top 观察有至少一個 10 个随机字母組成的程序執行,佔用大量 CPU 使用率。刪除這些程序,马上产生新的。


    kill掉这个进程或者 rm 掉 /usr/bin/下的病毒文件

       会生成新的进程文件在 /usr/bin 下 同时 生成 服务文件在 init.d/下



  2. 檢查 /etc/crontab 每三分执行 gcc.sh


  3. 查看病毒脚本 gcc.sh,可以看到病毒本体是 /lib/libudev.so。



  4. 刪除上一行例行工作 gcc.sh,並設定 /etc/crontab 无法变动,否則馬上又会产生。

    [root@deyu ~]# rm -f /etc/cron.hourly/gcc.sh ; chattr +i /etc/crontab
  5. 使用 top 查看病毒 mtyxkeaofa,id  16621,不要直接殺掉程序,否则会再产生,而是停止其运行。

    [root@deyu ~]# kill -STOP 16621
  6. 刪除 /etc/init.d 內的服务文件。

    [root@deyu ~]# find /etc -name '*mtyxkeaofa*' | xargs rm -f
  7. 刪除 /usr/bin 內的文件。

    [root@deyu ~]# rm -f /usr/bin/mtyxkeaofa
  8. 查看 /usr/bin 最近变动的文件,如果是病毒删除掉。

    [root@deyu ~]# ls -lt /usr/bin | head
  9. 現在殺掉病毒程序,就不会再产生。

    [root@deyu ~]# pkill mtyxkeaofa
  10. 刪除病毒本体。

    [root@deyu ~]# rm -f /lib/libudev.so


© 著作权归作者所有

共有 人打赏支持
LisonSong
粉丝 0
博文 1
码字总数 859
作品 0
技术主管
Linux操作系统为何会对计算机病毒免疫

可能不少人持这样一种观点,认为 Linux 病毒少是因为Linux不像Windows那么普及,其实这种观点很早已经被人批驳过了,一个最有力的论据是:如果写病毒的人写 Windows 病毒是因为 Windows 用户...

learningloong
2010/09/24
0
0
linux为什么比windows做服务器更好

1.linux本身是网络操作系统,支持所有TCP/IP协议,网络功能是内核中六大模块之一 2.linux和unix兼容,unix是早期的服务器霸主,现在份额逐渐让给linux了 3.linux是多用户多进程系统,windows...

evil_01
2016/03/17
132
1
认识Linux病毒 做好操作系统防护工程

对使用Windows的人来说,病毒无处不在,各种各样的新型病毒层出不穷,近年来,一种类似Unix的操作系统也在发展壮大,开始走进我们的视野,并在各领域内得到应用,它就是Linux系统,对于受病毒...

learningloong
2010/09/24
0
0
Linux培训基地,Linux培训哪个好?

Linux自诞生以来,已经超过15年,在这风风雨雨的15年里它受到了全世界优秀程序员的宠爱与关注,成为了绝大多数服务器必备的系统。曾经,Linux似乎离我们非常遥远;而现在,越来越多的人听说了...

长沙千锋
05/11
0
0
sfewfesfs病毒,你中了么?

本文作者: Kin 本文标题: sfewfesfs病毒,你中了么? 本文地址: http://www.jinlijun.com/sfewfesfs.html 本文标签: linux病毒, sfewfesfs, 暴力破解 尼玛!Linux都会中毒?可不是么,这...

大道无形
2014/10/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Go语言_通神之路(2)

1、包 每个Go程序都是由包构成,从main包开始运行,就是我上一篇讲到的,都是从main函数开始执行,但是必须在main包下面! package mainimport ( "fmt" "math/rand")func ...

木九天
昨天
2
0
51.php-fpm的pool 慢日志 open_basedir 进程管理

12.21 php-fpm的pool 12.22 php-fpm慢执行日志(测试时报错) 12.23 open_basedir 12.24 php-fpm进程管理 12.21 php-fpm的pool: php-fpm里的pool也叫池子,咱们之前加入过www的配置,这个w...

王鑫linux
昨天
0
0
java内存模型概述

1、Java虚拟机运行时数据分区图 程序计数器:线程私有,是一块较小的内存空间,它是当前线程所执行的字节码文件的行号指示器 java虚拟机栈:线程私有,其生命周期与线程相同,这也就是我们平...

京一
昨天
0
0
shell学习之test语法

因为if-then语句不能测试退出状态码之外的条件,所以提供了test, 如果test命令中列出的条件成立,test命令就会退出并返回退出状态码0;如果条件不成立,test命令就会退出并返回非零的退出状态...

woshixin
昨天
0
0
openJDK之如何下载各个版本的openJDK源码

如果我们需要阅读openJDK的源码,那么需要下载,那么该去哪下载呢? 现在JDK已经发展到版本10了,11已经处于计划中,如果需要特定版本的openJDK,它们的下载链接在哪呢? 1.openJDK的项目 链接...

汉斯-冯-拉特
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部