文档章节

记一次Linux 病毒清理

LisonSong
 LisonSong
发布于 2015/11/23 10:15
字数 859
阅读 66
收藏 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为什么比windows做服务器更好

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

evil_01
2016/03/17
132
1
Linux操作系统为何会对计算机病毒免疫

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

learningloong
2010/09/24
0
0
云服务器中挖矿程序,隐藏进程偷偷的挖之一路赚钱~

阿里云云监控到有两台redis服务器CPU被某进程消耗400%cpu资源 系统查看Top 情况并未找到高消耗进程X7但CPU100%ni Netstat 查找到了一些异常请求,初步判断出组件被提权入侵了 尝试查找异常进...

平头哥他爸
09/26
0
0
十字叉病毒,杀不死的小强,一次云服务器沦陷实录

一、现象 接到客户的电话,说自己的云服务器被提供商禁止访问了,原因是监测到网络流量暴满,服务器不停的向外发包,在确认客户没有业务量突增的情况下,初步判断可能服务器遭受了流量攻&击(...

南非蚂蚁
08/22
0
0
RepairTools 2.0 版本升级至 2.2

RepairTools 2.0 升级至 2.2 版本:2.2 大小:5 MB(压缩包2M) 授权:免费 语言:简体中文 安装方式:绿色版 系统环境:For Windows 2000/xp/2003/vista 下载地址:http://pickup.mofile.co...

达摩院法师
2007/11/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java JDK动态代理

本篇随笔是对java动态代理中的JDK代理方式的具体实现。 首先需要定义一个接口,为其定义了两个方法:   public interface UserService { public void add(); public void delete(); } 然后需...

编程SHA
9分钟前
0
0
轻松理解Dubbo分布式服务框架

Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的...

别打我会飞
17分钟前
0
0
TypeScript基础入门之JSX(一)

转发 TypeScript基础入门之JSX(一) 介绍 JSX是一种可嵌入的类似XML的语法。 它旨在转换为有效的JavaScript,尽管该转换的语义是特定于实现的。 JSX在React框架中越来越受欢迎,但此后也看到了...

durban
41分钟前
0
0
JavaScript使用原型判断对象类型

1. constructor属性 在JavaScript创建对象(二)——构造函数模式中,我们说过可以使用对象的constructor属性判断对象的类型:p1.constructor === Person,可能当时就有细心的读者会想,我们...

Bob2100
43分钟前
1
0
10-《深度拆解JVM》JVM是怎么实现invokedynamic的?(下)

一、问题引入 上回讲到,为了让所有的动物都能参加赛马,Java 7 引入了 invokedynamic 机制,允许调用任意类的“赛跑”方法。不过,我们并没有讲解 invokedynamic,而是深入地探讨了它所依赖...

飞鱼说编程
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部