Linux下 XordDos(BillGates)木马查杀记录
最近朋友的一台服务器突然网络异常,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属性
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 |
# |
07 |
01 /etc/cron .hourly |
08 |
02 /etc/cron .daily |
09 |
22 /etc/cron .weekly |
10 |
42 /etc/cron .monthly |
11 |
* /3 * /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 |
3.4 删除服务里面的异常服务
1 |
chkconfig grep :on |
2 |
chkconfig |
3 |
cat /etc/rc . local #这里无异常 |
3.5 使用clamav进行病毒查杀
01 |
#安装 |
02 |
yum install -y |
03 |
yum install -y |
04 |
#更新病毒库 |
05 |
freshclam |
06 |
#扫描方法 |
07 |
clamscan /etc --max- dir -recursion=5 /root/etcclamav .log |
08 |
clamscan /bin --max- dir -recursion=5 /root/binclamav .log |
09 |
clamscan /usr --max- dir -recursion=5 /root/usrclamav .log |
10 |
#扫描并杀毒 |
11 |
clamscan /usr/bin/bsd-port |
12 |
clamscan /usr/bin/ |
13 |
clamscan /usr/local/zabbix/sbin |
14 |
#查看日志发现 |
15 |
cat /root/usrclamav .log grep FOUND |
16 |
/usr/bin/ohhnzdjent : |
17 |
/usr/bin/oracle : |
18 |
/usr/bin/tgbtrjldlq : |
19 |
/usr/bin/wcwghpgruw : |
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 /lib/libudev4 .so |
2) 通过关联文件清除服务里面的异常服务
1 |
grep -r /etc/ |
写一个脚本,批量清除异常服务
1 |
#! |
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
Linux下 XordDos(BillGates)木马查杀记录的更多相关文章
- 病毒木马查杀实战第011篇:QQ盗号木马之专杀工具的编写
前言 由于我已经在<病毒木马查杀第004篇:熊猫烧香之专杀工具的编写>中编写了一个比较通用的专杀工具的框架,而这个框架对于本病毒来说,经过简单修改也是基本适用的,所以本文就不讨论那些重叠的 ...
- 病毒木马查杀实战第010篇:QQ盗号木马之十六进制代码分析
前言 按照我的个人习惯,在运用诸如IDA Pro与OllyDBG对病毒进行逆向分析之前,我都会利用一些自动化的工具,通过静态或动态的分析方法(参见<病毒木马查杀第008篇:熊猫烧香之病毒查杀总结 ...
- 病毒木马查杀实战第009篇:QQ盗号木马之手动查杀
前言 之前在<病毒木马查杀第002篇:熊猫烧香之手动查杀>中,我在不借助任何工具的情况下,基本实现了对于"熊猫烧香"病毒的查杀.但是毕竟"熊猫烧香" ...
- 病毒木马查杀实战第025篇:JS下载者脚本木马的分析与防御
前言 这次我与大家分享的是我所总结的关于JS下载者脚本木马的分析与防御技术.之所以要选择这样的一个题目,是因为在日常的病毒分析工作中,每天都会遇到这类病毒样本,少则几个,多则几十个(当然了,更多的样本 ...
- linux下history命令显示历史指令记录的使用方法
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...
- 360软件的木马查杀、漏洞修复等组件不能使用,提示runtime error
一.故障现象:1.360软件的木马查杀.漏洞修复等组件不能使用,提示runtime error2.暴风影音等很多软件不能正常使用3.设备管理器不能打开,提示“MMC 不能打开文件”4.部分https安 ...
- Linux下搭建tomcat集群全记录
(转) Linux下搭建tomcat集群全记录 2011-10-12 10:23 6133人阅读 评论(1) 收藏 举报 tomcatlinuxapacheinterceptorsession集群 1 ...
- Linux下XordDos木马的清除
朋友的阿里云服务器一早上报木马入侵,找我处理,登陆阿里云查看警告信息“恶意进程(云查杀)-XorDDoS木马”, 本文也可以作为服务器处理木马排查的步骤的参考文章 排查原则: 1.一般的木马都有多个守 ...
- linux服务器上使用find查杀webshell木马方法
本文转自:http://ju.outofmemory.cn/entry/256317 只要从事互联网web开发的,都会碰上web站点被入侵的情况.这里我把查杀的一些方法采用随记的形式记录一下,一是方便 ...
随机推荐
- APP接口调用流程
- linux学习笔记-解决google-chrome打开后弹出输入密码以解锁您的登录密钥环的提示
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.理论知识 1.密钥的作用 google-chrome存储了网站登录时使用的账号和密码信息,这个密钥是用来保护这些信息的 2. ...
- Android 系统工具类
系统工具类 public class systemUtil { //隐藏ipad底部虚拟按键栏 @RequiresApi(api = Build.VERSION_CODES.KITKAT) publi ...
- Android 震动模式
震动类 public class VibratorUtil { private static final long DEFAULT_VIBRATOR = 100; private static Vib ...
- 9.4、__del__、__doc__、__dict__、__module__、__getitem__、__setitem__、__delitem__、__str__、__repr__、__call__
相关内容: __del__.__doc__.__dict__.__module__.__getitem__.__setitem__.__delitem__.__str__.__repr__.__cal ...
- javascript中的异步编程
正常情况下js都是顺序执行的,但是也有很多场景下实际上是异步操作: 1.定时器都是异步操作 2.事件绑定都是异步操作 3.AJAX中一般我们都采取异步操作(也可以同步) 4.回调函数可以理解为异步(不 ...
- [20171225]没有备份数据文件的恢复.txt
[20171225]没有备份数据文件的恢复.txt --//别人问的问题,增加了数据文件没有备份,如何恢复,实际上很简单,因为当前控制文件有记录建立时间只要从建立数据文件开始的--//归档日志都存在恢 ...
- [20170625]12c Extended statistics.txt
[20170625]12c Extended statistics.txt --//别人的系统12c,awr报表出现大量调用执行如下sql语句.select default$ from col$ wh ...
- python自动发送测试报告(五)
python实现自动发送邮件具体步骤参考笔者的另一篇博文,python实现邮件的发送 本次只展示发送附件的代码,MIMEApplication支持常用格式文档(.jpg..mp3.zip等)当做附件上 ...
- 使用linq语句进行联表查询
假设你有一个父表(例如:汽车),其关联一个子表,例如轮子(一对多).现在你想对于所有的父表汽车,遍历所有汽车,然后打印出来所有轮子的信息.默认的做法将是: SELECT CarId FROM Cars ...