linux服务器中木马,手工清除方法

由于自己也碰到过这种情况,刚好看到这篇文章,先转载过来。的确蛮有用的哦。

首先剧透一下后门木马如下:

(当然这是事后平静下来后慢慢搜出来的,那个时候喝着咖啡感觉像个自由人)

木马名称

Linux.BackDoor.Gates.5

http://forum.antichat.ru/threads/413337/

首先是下午14点左右有几台服务器出现流量超高,平时只有几百M的流量,那时候发现流量上G了,达到这个量第一感觉就是遭受了DDOS流量攻击,那时候手上的服务器比较多,出现几台并没

有放在眼里,觉得查查就可以出来结果。随便说一句为了达到最好的性能,我们这些服务器都没有开防火墙(包括硬件及iptables),也就是服务器一直处于裸奔的状态。这些服务器裸奔了

几年一直没有出现问题,看来linux服务器安全这块还是挺让人满意的。

开始也没有什么头绪,就是ps查进程啊,netstat查端口号,iftop查流量,估计大家一开始出现这种情况都是这样操作,又得剧透下(这样做估计也是黑客希望的,显然他们对我等非常了解

哈),一时也没发现什么异常,只是iftop发现我们的服务器一直向外大量发包,对某个IP的流量能到达600多M,这时我们意识到服务器被黑了,但是只是当成了肉鸡,去攻击别的服务器,当

然攻击的IP也是一直在变化的,就好像有人在远程控制一样。

转眼都快到下班时间了,这时大概有3台服务器有这种的情况,此时大家把各自了解的情况汇总了一下:

a、/bin/ps,/bin/netsta程序都是1.2M的大小,显然是被人掉包了

b、/usr/bin/.dbus-daemon--system 进程还带了一个点,跟哪个不带点的很像,但终归是假的,你咋不给真的删掉替换呢,看来写这种程序的人法律意识很强,要不然程序推广起来了,死了

一大片CIA会放过他吗

c、/etc/rc.local权限改了,而且添加了一个开机启动项

d、lsattr、chattr命令删除了

e 、进程杀掉了立即又起来了这点很让人头痛

f、找到了一些最近修改的文件,显然这些都是黑客留下的

g、开机自动启动文件增加2个启动项

刚开始进程杀了又起来,文件删了又自动生成,线上环境又没有防火墙配置,无奈之下只好想了一个怪招,把/bin/bash重命名一下,果然流量下来了,这种杀敌1万自损8千的招果然有用。

其实这时候还没有找到真正的木马,但是已经有时间去分析查找病毒源了,这3台其中两台修改了bash名字,突然断开了,这样就登陆不了,只好重装系统了。后来这台我就慢慢查找了,差不

多都找到了,然后删除。这时心情大好,准备写博文记录一下,毕竟这是线上环境第一次遭遇木马。

大概22点的时候,博文写了一半,突然又接到故障,这次一下子又7台服务器出故障了,好心情一下子没了,原来那3台只是个开场白,真正的战斗还没有开始。所以后面的博客是续上的,调

调要是有些不一样将就的看吧。

由于这段时间网上查了些资料,慢慢的对这个木马熟悉起来了。这时我上传了一些正常的二进制程序如:ls,netstat,chattr,lsattr这样用自动的程序一下子就查到了木马程序,我分析了一

下,这些木马程序名字变着花样来,但万变不离其宗,名字都写在/etc/rc.d/init.d/DbSecuritySpt和/etc/rc.d/init.d/selinux里面,而且名字和正常的服务很像。

有/usr/local/zabbix/sbin/zabbix_AgentD、/usr/bin/bsd-port/getty、/usr
/bin/dpkgd/ps、/usr/bin/.dbus-daemon--system、/usr/bin/.sshd、/usr/bin/sshd
反正你系统有什么类似的

进程在运行,他就改成差不多的来迷惑你,其实他们都是一个程序大小也一样。

现在就是删除这些文件,杀死这些进程,说个小插曲由于某台服务器漏掉了一些没有删,第二天有激活了,这些东西当你用上面的命令时就可以激活,所以要千万小心仔细。在大概凌晨4点多

的时候这7台服务器的木马清理了差不多了,现在综合总结了大概步骤如下:

0,简单判断有无木马

有无下列文件

cat /etc/rc.d/init.d/selinux

cat /etc/rc.d/init.d/DbSecuritySpt

ls /usr/bin/bsd-port

ls /usr/bin/dpkgd

查看大小是否正常

ls -lh /bin/netstat

ls -lh /bin/ps

ls -lh /usr/sbin/lsof

ls -lh /usr/sbin/ss

1,上传如下命令到/root下

lsattr   chattr  ps  netstat  ss lsof

2,删除如下目录及文件

rm -rf /usr/bin/dpkgd  (ps netstat lsof ss)

rm -rf /usr/bin/bsd-port  (木马程序)

rm -f  /usr/local/zabbix/sbin/zabbix_AgentD (木马程序)

rm -f  /usr/local/zabbix/sbin/conf.n

rm -f  /usr/bin/.sshd

rm -f  /usr/bin/sshd

rm -f  /root/cmd.n

rm -f  /root/conf.n

rm -f  /root/IP

rm -f  /tmp/gates.lod

rm -f  /tmp/moni.lod

rm -f  /tmp/notify.file  程序

rm -f  /tmp/gates.lock   进程号

rm -f  /etc/rc.d/init.d/DbSecuritySpt(启动上述描述的那些木马变种程序)

rm -f  /etc/rc.d/rc1.d/S97DbSecuritySpt

rm -f  /etc/rc.d/rc2.d/S97DbSecuritySpt

rm -f  /etc/rc.d/rc3.d/S97DbSecuritySpt

rm -f  /etc/rc.d/rc4.d/S97DbSecuritySpt

rm -f  /etc/rc.d/rc5.d/S97DbSecuritySpt

rm -f  /etc/rc.d/init.d/selinux(默认是启动/usr/bin/bsd-port/getty)

rm -f  /etc/rc.d/rc1.d/S99selinux

rm -f  /etc/rc.d/rc2.d/S99selinux

rm -f  /etc/rc.d/rc3.d/S99selinux

rm -f  /etc/rc.d/rc4.d/S99selinux

rm -f  /etc/rc.d/rc5.d/S99selinux

3,找出下列程序进程号并杀死

top 一眼就看到那个木马cpu利用率特高

/root/ps aux |grep -i jul29(主要是最近开启的进程)

/root/ps aux |grep -i jul30

/root/ps aux |grep -i jul31

/root/ps aux |grep sshd

/root/ps aux |grep ps

/root/ps aux |grep getty

/root/ps aux |grep netstat

/root/ps aux |grep lsof

/root/ps aux |grep ss

/root/ps aux |grep zabbix_Agetntd

/root/ps aux |grep .dbus

举例如下:

/root/ps aux |grep getty

root      6215  0.0  0.0  93636   868 ?        Ssl  20:54   0:05 /usr/bin/bsd-port/getty

kill 6215

/root/ps aux |grep zabbix_AgentD

root      2558 71.0  0.0 106052  1048 ?        Ssl  20:54 117:29 ./zabbix_AgentD

kill 2558

/root/ps aux |grep "/dpkgd/ps"

root     11173 67.8  0.0 105924  1020 ?        Ssl  01:39   8:00 /usr/bin/dpkgd/ps -p 11148 -o comm=

kill 11173

注意如果kill后删除后还会再出现就这样操作(破坏木马程序)

>/usr/bin/dpkgd/ps && /root/chattr +i /usr/bin/dpkgd/ps

>/usr/bin/bsd-port/getty && /root/chattr +i /usr/bin/bsd-port/getty

4,删除含木马命令并重新安装(或者把上传的正常程序复制过去也行)

ps

/root/chattr  -i -a /bin/ps && rm /bin/ps -f

yum reinstall procps -y

cp /root/ps /bin

netstat

/root/chattr -i -a /bin/netstat && rm /bin/netstat -f

yum reinstall net-tools    -y

cp /root/netstat /bin

lsof

/root/chattr  -i -a /bin/lsof && rm /usr/sbin/lsof -f

yum reinstall lsof -y

cp /root/lsof /usr/sbin

chattr && lsattr

yum -y reinstall e2fsprogs

ss

/root/chattr  -i -a /usr/sbin/ss && rm /usr/sbin/ss -f

yum -y reinstall iproute

cp /root/ss /usr/sbin

修改下面两个程序的权限,这个是意外发现有的改了这两个程序的权限,让你发现了木马既不能下载正常程序也不能杀进程

/usr/bin/killall

/usr/bin/wget

另外他们还修改了DNS怕我们识别不了有的域名吧,想得很周到哈

cat /etc/resolv.conf

nameserver 8.8.8.8

nameserver 8.8.4.4

5,工具扫描

安装杀毒工具

安装

yum -y install clamav*

启动

service clamd restart

更新病毒库

freshclam

扫描方法

clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log

clamscan -r /bin --max-dir-recursion=5 -l /root/binclamav.log

clamscan -r /usr --max-dir-recursion=5 -l /root/usrclamav.log

clamscan -r  --remove  /usr/bin/bsd-port

clamscan -r  --remove  /usr/bin/

clamscan -r --remove  /usr/local/zabbix/sbin

查看日志发现

/bin/netstat: Linux.Trojan.Agent FOUND为病毒

grep FOUND /root/usrclamav.log

/usr/bin/.sshd: Linux.Trojan.Agent FOUND

/usr/sbin/ss: Linux.Trojan.Agent FOUND

/usr/sbin/lsof: Linux.Trojan.Agent FOUND

6,加强自身安全

但是此时还不知道系统入侵的原因,只能从两个方面考虑:暴力破解和系统及服务漏洞

a、yum update  更新系统(特别是bash、openssh和openssl)

b、关闭一些不必要的服务

c、设置ssh普通用户登陆并用hosts.all、hosts.deny限制登陆的网段

d、记录登陆系统后操作的命令

发现有如下操作

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/messages

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/httpd/access_log

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/httpd/error_log

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/xferlog

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/secure

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/auth.log

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/user.log

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/wtmp

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/lastlog

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/btmp

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/run/utmp

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/spool/mail/root

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > ./.bash_history

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]rm -rf /root/.bash_history

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]

时间: 2024-08-07 12:35:26

linux服务器中木马,手工清除方法的相关文章

linux 服务器中木马及清除木马

一.背景 晚上看到有台服务器流量跑的很高,明显和平常不一样,流量达到了800Mbps,第一感觉应该是中木马了,被人当做肉鸡了,在大量发包.我们的服务器为了最好性能,防火墙(iptables)什么的都没有开启,但是服务器前面有物理防火墙,而且机器都是做的端口映射,也不是常见的端口,按理来说应该是满安全的,可能最近和木马有缘吧,老是让我遇到,也趁这次机会把发现过程记录一下. 二.发现并追踪处理 1.查看流量图发现问题 查看的时候网页非常卡,有的时候甚至没有响应 2.top动态查看进程 我马上远程登录

linux服务器中了一个liun2.3的木马

昨天公司一台服务器突然之间不能ping,ssh无法登陆,从IDC反馈说服务器往外发包,数量巨大,CPU状态显示200%.通过ps aux查看以下进程文件是异常文件: ./liun2.3 /tmp/liun2.3 /tmp/liun2.3h zzta.pl 刚开始以为kill掉这些进程和删掉执行文件就可以了,可是过了几分钟,这个程序又继续执行. 那好吧,就去crontab -l 看有没有定时任务,没有. more /etc/crontab 查看有没在这里定义定时任务.也没有 想了下,既然要执行文件

Linux服务器中限制FTP用户访问方式

FTP(File Transfer Protocol)协议:是一个用于在计算机间上传.下载文件的协议. FTP工作在客户端/服务器端的模式中. FTP服务器持续监听来自远处客户端的FTP需求,在收到远处客户端的需求后,它负责管理登陆及建立连接.建立会话期间,执行FTP客户端发过来的命令.进入FTP服务器可以用匿名或者鉴权两种方式来管理.出于安全考虑,LINUX中的大部分系统,会考虑采用鉴权模式,即进入/访问FTP服务器,必须用用户名或密码的方式. 因为FTP不是一个安全协议,所以必须尽量被限制.

如何在Linux服务器中隐藏PHP版本

通常,大多数默认设置安装的web服务器存在信息泄露,这其中之一就是PHP.PHP 是如今流行的服务端html嵌入式语言(之一?).在如今这个充满挑战的时代,有许多攻击者会尝试发现你服务端的漏洞.因此,我会简单描述如何在Linux服务器中隐藏PHP信息. 默认上expose_php默认是开的.关闭“expose_php”参数可以使php隐藏它的版本信息. [[email protected] ~]# vi /etc/php.ini 在你的php.ini, 定位到含有expose_php的那行把On

虚拟机上在Linux系统中安装JDK的方法

1.   mkdir /soft      (创建一个目录,用于存放安装软件 ) 2.     cd /soft      (切换到soft目录 ) 3. rz(从windows中选择安装包) 4.rmp  -ivh jdk-7u45-linux-x64.rpm   (安装JDK) 5.find / -name 'jdk' 6.vi /etc/profile  (编辑环境变量)  在profile的最后写下面的地址 export JAVA_HOME=/usr/java/jdk1.7.0_45ex

linux服务器中Jenkins集成git、Gradle持续构建Springboot项目

Jenkins是用java编写的开源持续集成工具,目前被国内外各公司广泛使用.本章教大家如何在linux服务器中使用Jenkins自动发布一个可作为linux服务发布的Springboot项目. 自动构建需要经过如下步骤:从git仓库下载代码.使用Gradle进行构建.使用SSH推送到另一台linux服务器.项目作为linux服务启动.本章将逐条仔细讲解. 一.获得一台linux服务器 要在linux下搞持续构建,首先你得先有一台linux服务器,作为小白,手头的机器肯定都是windows的,搞

linux服务器的Gzip文件压缩方法[转]

一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是1.2.4. Gzip主要用于Unix系统的文件压缩.我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的.现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式. 当应用Gzip压缩到一个纯

Linux服务器中安装Oracle

笔者手动安装成功 一,oracle安装前的准备与配置 1,修改stsctl.conf文件 Linux是为小文件设计的,Oracle数据库安装需要占用较多资源,要把各项参数调大. 使用vi编辑/etc/sysctl.conf文件.命令如下: vi /etc/sysctl.conf 按i进入插入模式,把光标移到文档最后,将以下一段文字(复制自Oracle 11g官方文档) 插入到文档最后. fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.sh

如何防止Linux系统中木马?

作为运维工程师,职责不紧要快速定位,并处理问题,而是防范于未然,这才是我们的价值,不是?? (一)解答战略 当面试与被面试的时候,我们需要注意答题的维度和高度,一定要直接秒杀竞争者,搞定BOSS. (二)解答战术 因为Linux下的木马常常是恶意者通过Web上传到目录这种方式来上传木马到Linux服务器的, 可根据从恶意者访问网站开始-->Linux系统-->HTTP服务-->中间件服务-->程序代码-->DB-->存储,层层设卡防护. (三)从用户访问角度解答参考 开