前言:
当前看官们对“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不能用