最近朋友的一台服务器突然网络异常,cpu占用率暴表,登录上去一查,cpu占用300% 左右,流量异常,经过看查进程,获取信息最终确认为中了dos木马,经过几天的研究,基本上已经清除,以下是清理记录。

一、现象

1、CPU占用超高。

2、网络流量异常。

3、对外ddos攻击

4、服务器卡顿。

二、文件异常

1、系统主要命令文件被替换:

ps,netstat,lsof,ss命令被替换

chattr,lsattr文件被删除。

1) top 可以看见一个随机的文件名,占用资源较高

2) ps -ef 可以看见很多收集系统信息的命令,是木马脚本自动执行的

3) 系统的chattr被删除,无法修改文件的i属性

 恢复以上命令,可以使用yum重装以下rpm包:
1    ps 属于 procps
2    ss 属于 iproute
3    netstat 属于 net-tools
4    使用yum重装可恢复
5    yum -y reinstall procps lsof iproute net-tools

三、查杀过程

3.1 暂停木马进程,主要不能kill掉

  1    kill -9 木马进程

不能杀完,杀掉以后自动生成,文件名随机

3.2 删除计划任务/etc/crontab下的异常计划任务

01 cat /etc/crontab
02 SHELL=/bin/bash
03 PATH=/sbin:/bin:/usr/sbin:/usr/bin
04 MAILTO=root
05 HOME=/
06 #
run-parts
07 01
* * * * root run-parts 
/etc/cron.hourly
08 02
4 * * * root run-parts 
/etc/cron.daily
09 22
4 * * 0 root run-parts 
/etc/cron.weekly
10 42
4 1 * * root run-parts 
/etc/cron.monthly
11 */3 *
* * * root 
/etc/cron.hourly/gcc4.sh  #异常的

删除/etc/crontab下面最后一行计划任务,然后再删除/etc/cron.hourly下面的文件

gcc4.sh文件内容如上图。

3.3 删除如下目录和文件

根据网上面的操作指引,删除下面的文件,有些可能目录不同。

01 rm -rf /usr/bin/dpkgd  ps netstat lsof ss)
02 rm -rf /usr/bin/bsd-port  (木马程序)
03 rm -f  /usr/local/zabbix/sbin/zabbix_AgentD (木马程序)
04 rm -f  /usr/local/zabbix/sbin/conf.n
05 rm -f  /usr/bin/.sshd
06 rm -f  /usr/bin/sshd
07 rm -f  /root/cmd.n
08 rm -f  /root/conf.n
09 rm -f  /root/IP
10 rm -f  /tmp/gates.lod  
11 rm -f  /tmp/moni.lod
12 rm -f  /tmp/notify.file  程序
13 rm -f  /tmp/gates.lock  
进程号
14 rm -f  /etc/rc.d/init.d/DbSecuritySpt(启动上述描述的那些木马变种程序)
15 rm -f  /etc/rc.d/rc1.d/S97DbSecuritySpt
16 rm -f  /etc/rc.d/rc2.d/S97DbSecuritySpt
17 rm -f  /etc/rc.d/rc3.d/S97DbSecuritySpt
18 rm -f  /etc/rc.d/rc4.d/S97DbSecuritySpt
19 rm -f  /etc/rc.d/rc5.d/S97DbSecuritySpt
20 rm -f  /etc/rc.d/init.d/selinux(默认是启动/usr/bin/bsd-port/getty
21 rm -f  /etc/rc.d/rc1.d/S99selinux
22 rm -f  /etc/rc.d/rc2.d/S99selinux
23 rm -f  /etc/rc.d/rc3.d/S99selinux
24 rm -f  /etc/rc.d/rc4.d/S99selinux
25 rm -f  /etc/rc.d/rc5.d/S99selinux

如果无法删除以上文件,可能是文件被附加了i属性,使用chattr -i 去掉文件的i属性,若chattr命令被木马删除,则从其他地方拷贝一个放在/usr/bin下。使用下面的命令也可以完成安装。

1 yum install e2fsprogs #可以恢复chattr
lsattr

3.4 删除服务里面的异常服务

1 chkconfig
--list|
grep :on
2 chkconfig
--del 异常服务名
3 cat /etc/rc.local #这里无异常

3.5 使用clamav进行病毒查杀

01 #安装
02 yum install -y
epel-release
03 yum install -y
clamav
04 #更新病毒库
05 freshclam
06 #扫描方法
07 clamscan
-r 
/etc --max-dir-recursion=5
-l 
/root/etcclamav.log
08 clamscan
-r 
/bin --max-dir-recursion=5
-l 
/root/binclamav.log
09 clamscan
-r 
/usr --max-dir-recursion=5
-l 
/root/usrclamav.log
10 #扫描并杀毒
11 clamscan
-r  --remove  
/usr/bin/bsd-port
12 clamscan
-r  --remove  
/usr/bin/
13 clamscan
-r --remove  
/usr/local/zabbix/sbin
14 #查看日志发现
15 cat /root/usrclamav.log
|
grep FOUND
16 /usr/bin/ohhnzdjent:
Unix.Trojan.DDoS_XOR-1 FOUND
17 /usr/bin/oracle:
Legacy.Trojan.Agent-1388639 FOUND
18 /usr/bin/tgbtrjldlq:
Unix.Trojan.DDoS_XOR-1 FOUND
19 /usr/bin/wcwghpgruw:
Unix.Trojan.DDoS_XOR-1 FOUND

3.6 彻底查杀木马

经过上面的查杀以后,基本上消灭了大部分的病毒文件,但是使用top,htop命令会发现,病毒会不断的自动生成,相互守护,导致无法彻底杀完,经过多次的分析与尝试,发现可能是/lib/libudev4.so文件导致的。

1) 尝试破坏病毒文件

1 echo slkfhrl,kfhs
/lib/libudev4.so
2 rm -f /lib/libudev4.so
3 touch /lib/libudev4.so
4 chattr
+i 
/lib/libudev4.so

2) 通过关联文件清除服务里面的异常服务

1 grep -r
scon.sh 
/etc/

写一个脚本,批量清除异常服务

1 #!
/bin/bash
2 rm -f /etc/rc0.d/K90ohhnzdjent
3 rm -f /etc/rc0.d/K90mpmhvgceym
4 rm -f /etc/rc0.d/K90xcswyyarmo
5 rm -f /etc/rc0.d/K90jjonjuuhvj
6 rm -f /etc/rc0.d/K90smucwhghwq
7 rm -f /etc/rc0.d/K90qfdmatbsmw
8 rm -f /etc/rc0.d/K90vxlrotywez
9 ......

经过观察,发现病毒进行已经成功清除。

参考URL:

http://www.freebuf.com/articles/system/119374.html

https://sebastianblade.com/linux-xorddos-trojan-removal/

http://www.2cto.com/article/201508/428264.html

http://www.myhack58.com/Article/48/66/2016/71075_2.htm

https://www.baidufe.com/item/e972015c88715fd8cd52.html

http://blog.csdn.net/linux7985/article/details/51153246

http://www.cnblogs.com/shiyiwen/p/5191869.html

Linux下 XordDos(BillGates)木马查杀记录的更多相关文章

  1. 病毒木马查杀实战第011篇:QQ盗号木马之专杀工具的编写

    前言 由于我已经在<病毒木马查杀第004篇:熊猫烧香之专杀工具的编写>中编写了一个比较通用的专杀工具的框架,而这个框架对于本病毒来说,经过简单修改也是基本适用的,所以本文就不讨论那些重叠的 ...

  2. 病毒木马查杀实战第010篇:QQ盗号木马之十六进制代码分析

    前言 按照我的个人习惯,在运用诸如IDA Pro与OllyDBG对病毒进行逆向分析之前,我都会利用一些自动化的工具,通过静态或动态的分析方法(参见<病毒木马查杀第008篇:熊猫烧香之病毒查杀总结 ...

  3. 病毒木马查杀实战第009篇:QQ盗号木马之手动查杀

    前言 之前在<病毒木马查杀第002篇:熊猫烧香之手动查杀>中,我在不借助任何工具的情况下,基本实现了对于"熊猫烧香"病毒的查杀.但是毕竟"熊猫烧香" ...

  4. 病毒木马查杀实战第025篇:JS下载者脚本木马的分析与防御

    前言 这次我与大家分享的是我所总结的关于JS下载者脚本木马的分析与防御技术.之所以要选择这样的一个题目,是因为在日常的病毒分析工作中,每天都会遇到这类病毒样本,少则几个,多则几十个(当然了,更多的样本 ...

  5. linux下history命令显示历史指令记录的使用方法

    Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...

  6. 360软件的木马查杀、漏洞修复等组件不能使用,提示runtime error

    一.故障现象:1.360软件的木马查杀.漏洞修复等组件不能使用,提示runtime error2.暴风影音等很多软件不能正常使用3.设备管理器不能打开,提示“MMC 不能打开文件”4.部分https安 ...

  7. Linux下搭建tomcat集群全记录

    (转) Linux下搭建tomcat集群全记录 2011-10-12 10:23 6133人阅读 评论(1) 收藏 举报 tomcatlinuxapacheinterceptorsession集群 1 ...

  8. Linux下XordDos木马的清除

    朋友的阿里云服务器一早上报木马入侵,找我处理,登陆阿里云查看警告信息“恶意进程(云查杀)-XorDDoS木马”, 本文也可以作为服务器处理木马排查的步骤的参考文章 排查原则: 1.一般的木马都有多个守 ...

  9. linux服务器上使用find查杀webshell木马方法

    本文转自:http://ju.outofmemory.cn/entry/256317 只要从事互联网web开发的,都会碰上web站点被入侵的情况.这里我把查杀的一些方法采用随记的形式记录一下,一是方便 ...

随机推荐

  1. T-SQL:CTE用法(十)

    CTE 也叫公用表表达式和派生表非常类似 先定义一个USACusts的CTE WITH USACusts AS ( SELECT custid, companyname FROM Sales.Cust ...

  2. [css] css3 中的新特性加强记忆

    css3被拆分成如下的小模块,选择器,盒模型,背景和边框,文字特效,2D/3D转换,动画,多列布局和用户界面 2D转换 使用transform:属性来为元素设置2D转换,兼容浏览器加前缀 –webki ...

  3. 深入理解JVM——虚拟机GC

    对象是否存活 Java的GC基于可达性分析算法(Python用引用计数法),通过可达性分析来判定对象是否存活.这个算法的基本思想是通过一系列"GC Roots"的对象作为起始点,从 ...

  4. 140 - The 12th Zhejiang Provincial Collegiate Programming Contest(浙江省赛2015)

      Ace of Aces Time Limit: 2 Seconds      Memory Limit: 65536 KB There is a mysterious organization c ...

  5. 【23】备忘录模式(Memento Pattern)

    一.引言 在上一篇博文分享了访问者模式,访问者模式的实现是把作用于某种数据结构上的操作封装到访问者中,使得操作和数据结构隔离.而今天要介绍的备忘者模式与命令模式有点相似,不同的是,命令模式保存的是发起 ...

  6. CSS之 :before && :after的用法,伪类和伪元素的区别

    一::before && :after的用法 :before 如同对伪元素的名称一样,:before 是用来给指定的元素的内容前面插入新的内容.举例说明: .before:before ...

  7. 【读书笔记】iOS-属性

    assign:简单的赋值. retain:赋值之后,会调用新的retain方法和旧值的release方法. copy:表示先将值拷贝一份,然后,将这个拷贝赋值给实例变量,这个修饰词只适用于实现了NSC ...

  8. java Name [jdbc/myjavadb] is not bound in this Context. Unable to find [jdbc].

    一.出错时的情况: 首先,这是一个servlet项目 1.项目的web.xml配置了:(后来发现不配置这个也行,但是tomcat一定要配置) <resource-ref> <desc ...

  9. system.transfer.list版本进化

    从android5.0开始之后,recovery升级包中不再升级system.img,而是升级system.new.dat+system.transfer.list的这种文件组合,经过android版 ...

  10. 使用windows命令和iconv.exe批量转换文件编码

    iconv是知名的开源跨平台编码转换库,iconv.exe是iconv库在windows下的命令行工具,iconv.exe的一般用法:iconv.exe -f gbk -t utf-8 gbk.txt ...