Linux之在CentOS上一次艰难的木马查杀过程
今天朋友说他一台要准备上线的生产服务器被挂马,特征ps命令找不到进程,top能看到负载最高的一个程序是一个随机的10位字母的东西,kill掉之后自动再次出现一个随机10位字母的进程。
我让他关闭这个机器的外网,内网放开,在局域网中给我一个跳板。等我拿到权限之后进入机器,先按照朋友说的验证了一遍,果然是那样,木马有自我保护自我恢复。
这时候我想到一个问题居然是能自我开机启动,要么/etc/rc.d/{init.d,rc{1,2,3,4,5}.d}/下有启动脚本,要么有cron计划任务。
于是我发现crontab -l是正常,来到/etc/rc.d/init.d下发现了异常有10位字母的启动脚本,脚本内容如下
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 |
[root@Xd9BdoAkG ~]# cat /etc/rc.d/init.d/fregonnzkq #!/bin/sh # chkconfig: 12345 90 90 # description: fregonnzkq ### BEGIN INIT INFO # Provides: fregonnzkq # Required-Start: # Required-Stop: # Default-Start: 1 2 3 4 5 # Default-Stop: # Short-Description: fregonnzkq ### END INIT INFO case $1 in start) /usr/bin/fregonnzkq ;; stop) ;; *) /usr/bin/fregonnzkq ;; esac |
看到这我真是佩服这帮人单用户启动模式都不放过啊,尼玛,你这是赶尽杀绝啊。。。。。。。
到了这里我天真的删除了几个这样的启动脚本,然后重启服务器,问题依旧。。。。。。。。。你妹啊。。。不带这样玩的。。。。
到了这时候我多想了下,是不是还有启动脚本?仔细核查发现/etc/rc.d/rc3.d/下还有问题
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[root@Xd9BdoAkG rc3.d]# ls total 0 lrwxrwxrwx 1 root root lrwxrwxrwx 1 root root lrwxrwxrwx 1 root root lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 24 lrwxrwxrwx. 1 root root 19 lrwxrwxrwx. 1 root root 19 lrwxrwxrwx. 1 root root 20 lrwxrwxrwx. 1 root root 14 lrwxrwxrwx. 1 root root 18 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 19 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 19 lrwxrwxrwx. 1 root root 22 lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 18 lrwxrwxrwx. 1 root root 19 lrwxrwxrwx. 1 root root 20 lrwxrwxrwx. 1 root root 26 lrwxrwxrwx. 1 root root 16 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 20 lrwxrwxrwx. 1 root root 11 lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 21 |
看到后我只想把这个木马的作者找到然后说收我做徒弟吧。。。。。。。。
于是我又很傻很天真的删除了这些启动脚本,并且kill了相关进程,希望的太阳没有升起,沉重的打击再次来临,木马再次自我复制自我运行了。。。。启动脚本再次出现了。。
我知道我进入了误区,重新想思路。。。
不知道为什么我瞬间想到了我遗漏了一个地方,cron,对。。。我是crontab -l 来查看的,还有个地方的cron任务不会在这个命令下出现/etc/cron.*
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 |
[root@Xd9BdoAkG ~]# cat SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # For details see man 4 # Example of job definition: # .---------------- minute # | .------------- # | | # | | | # | | | # | | | # * * * */3 * * * * |
你妹啊 啊 啊 啊,不带这样玩的
|
1 2 3 4 5 6 |
[root@Xd9BdoAkG ~]# cat #!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin for i in `cat /proc/net/dev|grep :|awk -F: {'print $1'}`; do ifconfig $i up& done cp /lib/libudev.so /lib/libudev.so.6 |
|
1 2 3 4 5 6 |
[root@Xd9BdoAkG ~]# cat lo em1 em2 em3 em4 |
我擦,看到这,再次shit,你还知道主动启动网络和外面联系啊。。。。
|
1 2 |
[root@Xd9BdoAkG ~]# file /lib/libudev.so: ELF 32-bit |
居然不是脚本什么的,想看文件具体内容暂时是没时间了。。。。。。。
到了这里我们可以确认有几个地方有问题/lib/libudev.so /etc/cron.hourly/gcc.sh /etc/crontab
/etc/rc.d/init.d/ /etc/rc.d/rc3.d/
由于对方发送大量数据包,所以开始采取iptables来封禁,发现这玩意直接把output是 state 为new的drop掉。。。。。。。。不想说了,已经被他玩够了,不在乎多一次。。
通过排查可以肯定/lib/libudev.so是主体。其他是协助运行和自我保护自我复制的实现。既然你是个程序还在系统上,我有root,还搞不定么。为了不再多拖时间,直接查杀了。。
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 |
[root@Xd9BdoAkG ~]# chmod #在一步一点要这样运行,不然赶不上木马的自我恢复速度。。。。。我在这里坑了很长时间。 [root@Xd9BdoAkG ~]# ls /lib/ cpp firmware [root@Xd9BdoAkG ~]# ls /lib/ cpp firmware [root@Xd9BdoAkG ~]# ls /lib/ cpp firmware [root@Xd9BdoAkG ~]# ls /lib/ cpp firmware [root@Xd9BdoAkG ~]# ls /lib/ cpp firmware [root@Xd9BdoAkG ~]# ls /lib/ cpp firmware ##貌似主体被控制住了,不能再次自我恢复了。。。 [root@Xd9BdoAkG ~]# ls chmod 0000 /etc/rc.d/rc3.d/ && chmod 0000 #删除启动脚本 awk '$7>=8 && #且控制目录不能写东西了 |
|
1 2 |
[root@Xd9BdoAkG ~]# sed #删除计划任务且控制计划任务不能写东西 |
到了这里基本就差不多了。。。。。现在去重启服务器,
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
[root@Xd9BdoAkG ~]# top -b top - Tasks: 178 Cpu(s): 1.4%us, Mem: 32827160k Swap: 16482300k PID 1 2 3 [root@Xd9BdoAkG ~]# top -b top - Tasks: 178 Cpu(s): 1.3%us, Mem: 32827160k Swap: 16482300k PID 1414 1 2 [root@Xd9BdoAkG ~]# top -b top - Tasks: 178 Cpu(s): 0.8%us, Mem: 32827160k Swap: 16482300k PID 1 2 3 |
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
[root@Xd9BdoAkG ~]# ls 0anacron [root@Xd9BdoAkG ~]# ls -lt total 0 lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 24 lrwxrwxrwx. 1 root root 19 lrwxrwxrwx. 1 root root 19 lrwxrwxrwx. 1 root root 20 lrwxrwxrwx. 1 root root 14 lrwxrwxrwx. 1 root root 18 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 19 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 19 lrwxrwxrwx. 1 root root 22 lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 18 lrwxrwxrwx. 1 root root 19 lrwxrwxrwx. 1 root root 26 lrwxrwxrwx. 1 root root 16 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 20 lrwxrwxrwx. 1 root root 11 lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 21 |
开机后发现进程没异常了,世界貌似平静了。。。。
然后再次恢复/etc/crontab /etc/rc.d/init.d/ /etc/rc.d/rc3.d/ /lib文件夹的权限。然后再次重启。。。。。世界真的清静。。。。
Linux之在CentOS上一次艰难的木马查杀过程的更多相关文章
- Linux下 XordDos(BillGates)木马查杀记录
最近朋友的一台服务器突然网络异常,cpu占用率暴表,登录上去一查,cpu占用300% 左右,流量异常,经过看查进程,获取信息最终确认为中了dos木马,经过几天的研究,基本上已经清除,以下是清理记录. ...
- 木马入侵查杀 linux
目 录: 一.问题现象: 二.问题排查: 1.netstat 排查: 2.top查看: 3.lsof -c 命令排查: 4.确定中木马了. 三.木马查杀: 木马1,清除: 木马2,清除: 四.后续处 ...
- NoSql1 在Linux(CentOS)上安装memcached及使用
前言: 今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...
- 在Linux CentOS上编译并安装Clang 3.5.0
编译CoreCLR需要Clang 3.5,而CentOS上安装的是Clang 3.4.2(yum repos中最新版也是这个),只能自己手工编译LLVM的源代码进行安装. (注:CentOS的版本是6 ...
- Linux系统入门学习:在CentOS上安装phpMyAdmin
问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...
- linux CentOS 安装rz和sz命令 lrzsz 实现windows和linux之间的文件上传 下载
https://blog.nbhao.org/1902.html https://bbs.csdn.net/topics/391989523 https://www.cnblogs.com/zhoul ...
- Azure的CentOS上安装LIS (Linux Integration Service)
Azure上虚拟化技术都是采用的Hyper-v,每台Linux虚拟机都安装了LIS(Linux Integration Service).LIS的功能是为VM提供各种虚拟设备的驱动.所以LIS直接影响 ...
- 如何在linux CentOS 上安装chrome 谷歌浏览器?
获得linux命令的root权限:http://blog.csdn.net/mddy2001/article/details/76521101. 更改密码在终端中输入:sudo passwd root ...
- 在Linux CentOS上编译CoreCLR
经过几天的努力,终于解决了在CentOS上编译CoreCLR的问题.最终发现问题是CMAKE_C_FLAGS的设置引起的. 只要在“src/pal/tools/clang-compiler-overr ...
随机推荐
- mysql 开启记录慢查询记录
以下操作,基于 mysql 5.5.31 版本源码安装配置. 修改 /etc/my.cnf 中 [mysqld] 中添加如下行 # 5.3 一下的配置 log-slow-queries=/var/lo ...
- virtualbox 创建com对象失败
其实这个错误是因为VirtualBox不兼容Win7引起的,只要把VirtualBox的兼容模式改为出Win7以外的就行了.. 右键VirtualBox的桌面快捷方式,选择属性,选到兼容性选项卡,勾选 ...
- MFC——从实现角度分析微云界面
在云计算时代之风吹来,很多互联网公司都在建云,提出云盘.云储存.云平台.云空间等等,骤然间,天下皆云.云是啥?有用户量,就有云,没有用户量,你的系统,你的云,也就是一朵白云. 最近研究了下微云的界面, ...
- python抓取伯乐在线的全部文章,对标题分词后存入mongodb中
依赖包: 1.pymongo 2.jieba # -*- coding: utf-8 -*- """ @author: jiangfuqiang "" ...
- SAP进销存难点分析及对策
1.基本需求: 业务部门提出如上表格式进销存需求,并且金额要和总账中存货科目保持一致,如果要实现上表格式进校存,可以通过SAP标准程序(MC.9.MB51.MB5B)加工繁琐而成.现分析一下SAP标准 ...
- C#_IComparer实例 - 实现ID或者yearOfscv排序
调用LIST的Sort的时候会调用IComparer的默认实现,quicksort会调用每个元素的CompareTo的IComparable实现 using System; using System. ...
- keyStore vs trustStore--转载
原文:http://lukejin.iteye.com/blog/605634 今天有同事向我问起这两个概念,所以我就记录下.首先我们得澄清一些概念.一个web应用如果需要提供以https的方式访问的 ...
- SQL 编码规范
1. 必须对表起别名,方便调查表用了哪些列 比如 select owner,object_id,name from a,b where a.id=b.id; 如果不对表取别名,我怎么知道你访问的列是哪 ...
- Elasticsearch aggregations API
聚合能力 Aggregation API 类似 SQL 中的 GROUP BY 语句,可以以某个字段来进行分组. Aggregation API 支持分级分组,多级的分组过程是由外到里的. Aggre ...
- JAXB - XML Schema Types, Defining an Enumeration
If you want a data type that enumerates discrete values you should use a restriction of the schema t ...