龙空技术网

Linux操作系统木马病毒清除实战

股古惑仔 924

前言:

当前看官们对“centos7fuser不能用”可能比较看重,朋友们都需要剖析一些“centos7fuser不能用”的相关知识。那么小编同时在网络上网罗了一些对于“centos7fuser不能用””的相关内容,希望咱们能喜欢,小伙伴们一起来了解一下吧!

【关键词】:木马、ps、netstat、chmod、chattr、lsattr、ssh、Cipher、MACs、S99selinux、getty、.x、knerl、pythno、linux漏洞

一、故障环境

Centos7,云虚拟主机,公网ssh访问。

二、故障现象

一直可以正常ssh登录的系统,突然无法登录,提示密码错误。

三、处理过程

1、通知虚拟机提供商,通过管理控制台操作重新找回密码,登录成功。由于都没修改过密码,所以怀疑被恶意攻击修改了。

2、运行ps查看进程,无任何结果输出。

3、运行netstat查看端口,无任何结果输出。

4、运行which,确定ps、netstat命令位置,发现都是在/usr/bin目录下,在/usr/bin目录下运行ls –a lot|more,发现ps、nestat、pythno这三个文件最近修改时间是前一天,而且三个文件大小完全相同。但对比正常的主机的这些文件,大小不一样。可以确定这此文件被替换过了。另外,pythno这个文件在正常的主机上找不到,而业务应用也没有此文件,初步判断此文件是新增的。5、运行top查看系统信息,发现有一个.x进程,而这个进程在正常主机上是没有的。再查找发现该进程在/etc目录下,文件最新修改时间也是跟ps文件相同,都是前一天。

6、从正常的主机上复制ps、netstat文件到故障机上,同时删除pythno文件,运行ps、netstat正常了。

7、偿试强制杀.x进程:kill -9 10442。

8、运行ps查看进程,结果ps又无任何输出。

9、运行top观察,无.x进程,但又多一个knerl进程。

10、杀knerl进程后,又多一个pythno进程。

11、再杀pythno进程后,又出现.x进程。

12、如此反复,自我复制。

13、检查定时任务,也没发现其它未知的定时任务。

14、查找knerl,发现在/usr/bin/bsd-port目录下,而此目录下正常主机还有一个getty文件,但故障机没有。

15、杀掉knerl后可以直接删除knerl文件,杀掉pythno后也可以直接删除pythno文件,但.x文件不管进程是否存在,都一直无法删除,提示:

[root@dbs2 etc]# rm -f .x

rm: cannot remove ‘.x’: Operation not permitted

16、木马需要运行,肯定需要在启动文件或定时任务中配置,定时任务未发现,那就可能在启动配置吧。

检查/etc/rc.d目录下所有文件,发现有两个文件是最近被修改的S97VsystemsshMdt、S99selinux,正常的主机上没有S97VsystemsshMdt这个文件,查看这两个文件内容发现,一个是调用/etc/.x,一个是调用/usr/bin/bsd-port/knerl,正是不断杀都不断出现的文件。可以确定S97VsystemsshMdt是新增的,而正常主机的S99selinux文件内容为/usr/bin/bsd-port/getty。

17、删除/etc/rc.d下rc1.d、rc2.d、rc3.d、rc4.d、rc5.d下多余的S97VsystemsshMdt:

18、删除/usr/bin/bsd-port下knerl文件、/usr/bin/pythno文件。

19、修改/etc/init.d下的S99selinux文件内容为:/usr/bin/bsd-port/getty。

20、从正常主机复制getty文件到/usr/bin/bsd-port目录下,复制正常主机的ps netstat文件到/usr/bin目录下。

21、运行ps查看/etc/.x进程还在运行。

22、为了防止木马自我复制创建文件,限制相关目录权限:

chmod 0000 /usr/bin #关闭/usr/bin目录所有权限

chattr +i /etc/rc.d #关闭/etc/rc.d目录创建文件权限

chattr +i /usr/bin #关闭/usr/bin目录创建文件权限

强制杀三个木马进程:

ps -ef|grep /etc/.x|grep -v grep|awk '{print "kill -9 "$2}'|sh

ps -ef|grep knerl|grep -v grep|awk '{print "kill -9 "$2}'|sh

ps -ef|grep pythno|grep -v grep|awk '{print "kill -9 "$2}'|sh

【注意】此处为了防止木马创建文件太快,需要同时连续不断执行至少3次(在进程还未稳定时就杀掉),然后过一段时间再看进程中已无这几个进程了。

23、检查确认恢复情况

再检查/usr/bin目录下的ps netstat 正常,无pythno文件。/usr/bin/bsd-port下无knerl文件。/etc/rc.d下所有目录下无S97VsystemsshMdt等其它新建的文件,/etc/init.d目录下的S99selinux文件内容也正常。

24、.x文件处理

再偿试删除/etc/.x文件,结果还是失败

[root@dbs2 etc]# rm -f .x

rm: cannot remove ‘.x’: Operation not permitted

检查是否有用户在使用,确定没有任何用户使用:

[root@dbs2 etc]# fuser .x

检查文件权限属性:

[root@dbs2 etc]# lsattr .x

----i----------- .x

发现有i标志,所以删除失败,修改此文件i属性:

chattr -i /etc/.x

再次删除:

[root@dbs2 etc]# rm -f .x

删除成功。

25、恢复相关权限:

chmod 0555 /usr/bin

chattr -i /usr/bin

chattr -i /etc/rc.d

四、感染木马原因分析

由于主机暴露在公网上,每天都面临各种不断变化的ip偿试登录入侵或利用系统漏洞进行攻击。所以,在保证密码复杂度、周期性修改、只限定需要访问的ip等安全配置外,还需要从根本上封堵系统漏洞。

五、漏洞检查及整改。

用安全扫描工具扫描发现两中危漏洞。

1、mDNS Detection (Remote Network)

系统上有5353 udp端口在运行,该端口是avahi-daemon在使用。

[root@dbs2 ~]# netstat -anp|grep 5353

udp 0 0 0.0.0.0:5353 0.0.0.0:* 614/avahi-daemon: r

解决措施:关闭avahi-daemon进程:

[root@dbs2 ~]# service avahi-daemon.socket stop

Redirecting to /bin/systemctl stop avahi-daemon.socket.service

[root@dbs2 ~]# service avahi-daemon stop

Redirecting to /bin/systemctl stop avahi-daemon.service

[root@dbs2 ~]# chkconfig avahi-daemon off

Note: Forwarding request to 'systemctl disable avahi-daemon.service'.

Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.

Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.

Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service.

[root@dbs2 ~]# chkconfig avahi-daemon.socket off

再检查5353端口已关闭

[root@dbs2 ~]# netstat -anp|grep 5353

[root@dbs2 ~]#

2、SSH Weak Algorithms Supported、SSH Server CBC Mode Ciphers Enabled、SSH Weak MAC Algorithms Enabled

解决措施:在/etc/ssh/sshd_config中增加或修改为:

Ciphers aes128-ctr,aes192-ctr,aes256-ctr

MACs hmac-sha1,umac-64@openssh.com,hmac-ripemd160

重起sshd:service sshd restart

3、再次扫描,已无漏洞。

标签: #centos7fuser不能用