Unix.Trojan.DDoS_XOR-1木马症状及清理办法

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

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

问题原因

数字校园应用的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、查找运行病毒进程名称,病毒为了防止被删除,通常用父进程在检测到病毒文件被物理删除后,自动生成新的病毒文件。可通过下列指令找出病毒父进程

[[email protected] 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目录启动的父进程可发现病毒进程已消失

[[email protected] etc]# lsof -R |grep "/usr/bin"
python    2197    1  root  txt       REG              253,0       4864    2099101 /usr/bin/python
[[email protected] 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 /
时间: 2024-12-15 07:17:59

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

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

开篇前言 Linux服务器一直给我们的印象是安全.稳定.可靠,性能卓越.由于一来Linux本身的安全机制,Linux上的病毒.木马较少,二则由于宣称 Linux是最安全的操作系统,导致很多人对Linux的安全性有个误解:以为它永远不会感染病毒.木马:以为它没有安全漏洞.所以很多Linux服务器 都是裸奔的.其实在这次事件之前,我对Linux的安全性方面的认识.重视程度也是有所不足的.系统的安全性是相对而言的,没有绝对的安全,风险无处不 在. 案例描述 我 们在云端(中信国际电讯CPC)的一台Li

木马编程-手把手带你进入木马的世界之木马编程

前言 前面我们已经学习了病毒免杀技术的特征码免杀了,但是木马大家是不是感觉还是很神秘呢,接下来就让我为大家揭开木马的神秘面纱. 一.基础知识 1.1.木马病毒 木马(Trojan)这个名字来源于古希腊传说(荷马史诗中木马计的故事,Trojan一词的本意是特洛伊的,即代指特洛伊木马,也就是木马计的故事).木马会想尽一切办法隐藏自己,主要途径有:在任务栏中隐藏自己,这是最基本的办法.只要把Form的Visible属性设为False,ShowInTaskBar设为False,程序运行时就不会出现在任务

minerd挖矿木马

由于用的是临时服务器,安全性上疏忽了,导致受到了minerd木马攻击,清理的时候,遇到了ntp这个很具有迷惑性的服务,费了一番功夫才敢彻底清理. 现状描述 1 top可以看到,这个minerd 程序把cpu跑满了 2 ps aux | grep minerd 可知是这个程序: /opt/minerd --- 这个不是我们自己启动的,可以断定服务器被黑了 这个进程是root用户启动的,代码有漏洞可能性不大(web服务是www用户启动的),多半黑客已经登录服务器了 3 有可能是免密登录了,去/roo

Linux下XordDos木马的清除

朋友的阿里云服务器一早上报木马入侵,找我处理,登陆阿里云查看警告信息"恶意进程(云查杀)-XorDDoS木马", 排查原则: 1.一般的木马都有多个守护进程,不一定可以短时间停掉,或者处理好,要注意备份业务数据 2.如果木马运行影响到业务运行,首先要恢复业务的访问,同时进行排查处理,但是并不建议 3.如果没有太大影响,可以先停掉相关业务进程,防止查杀过程的操作对业务产生影响 生产环境注意根据实际情况决策 处理木马病毒的顺序:1.关闭对外访问2.停止定时任务3.关闭木马的守护进程4.禁止

/var/spool/postfix/maildrop/ 是否可清理

故障原因: 今天查看硬盘剩余的容量,发现'/'目录下占用了大量的空间:可我在这个目录下面没有放什么东西:仔细查看在/var/spool/postfix/maildrop/ 中发现了大量的文件.怎么会有这么多的文件呢,先删除. 在网上搜索之后明白是mail没有成功的邮件.由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者, 而我的服务器中关闭了postfix,导致邮件发送不成功,全部小文件堆积在了maildrop目录下面.如

unix网络编程笔记(二)

第四章笔记 1. 基本Tcp客户端/服务器程序的套接字函数 2. socket函数: int socket(int family,int type,int protocol); (1)socket有三个函数,除了tcp udp外还支持许多协议. (2)对于tcp协议:三个参数分别为AF_INET/AF_INET6.SOCK_STREAM.0 (3)对于udp协议:三个参数分别为AF_INET/AF_INET6.SOCK_DGRAM.0 (4)其他协议和参数含义,先pass 3. connect函

docker 清理容器和镜像

在docker运行过程中,会不知不觉造出很多容器,很多都是不用的,需要清理. 下面就是一些清理办法,一个个清理肯定很低效,批量清理很有意思. 查看正在运行的容器 # docker ps -q 9b9f97905e36 停用全部运行的容器 # docker stop $(docker ps -q) 9b9f97905e36 删除全部容器 # docker rm $(docker ps -aq) 9b9f97905e36 ce255ba7637e f126bad55cac c10a4c3541f5

病毒基本常识

病毒常识(一) 怎样推断计算机感染了病毒: 计算机感染病毒后会有一些明显特征,假设您发现一些异常情况,比方: ? 屏幕上显示一些奇怪的信息和图片 ? 光驱托盘莫名其妙的弹出 ? 程序自己主动打开 ? 在未经您授权的情况下,有程序试图訪问互联网 假设出现这样的情况,您的计算机上非常有可能是感染了病毒. 电子邮件类病毒感染后,也会有一些明显的特征: ? 朋友或熟人告诉您收到了您从来没有发送过的电子邮件. ? 您的收件箱内收到了大量没有发送地址和主题的邮件. 但须要注意的是,有些异常情况并不都是由病毒

程序员眼中的英语单词

英语中一个单词可能有很多不同的意思.很多中国开发者外语本来就不好,概念是往往先入为主.甚至在不清楚一般意义的情况下,先记住了特定环境中的意思.? 单词 普通人眼中 开发者眼中 socket 插座 套接字 performance 演出 性能 ATM 自动取款机 异步传输模式 memory 记忆 内存 eclipse 日蚀 一种 IDE oracle 神谕 甲骨文公司 cookie 小甜点 一种 web session 机制 stack 堆 堆栈 port 港口 端口 cardboard 纸盒 Go