无法删除 Linux 上的损坏文件

无法删除 Linux 上的损坏文件

所以我被一个脚本工具包击中了...幸运的是,这个盒子是 Ubuntu,能够用类似系统中的二进制文件替换,然而

有些文件我无法删除,我仍然对此感到困惑。被劫持的文件位于可由以下人员/_bin写入的目录中:

nathan@db-0:~$ ls -ld !$
ls -ld /_bin
drwxr-xr-x 2 root root 4096 Mar 12 18:00 /_bin

好的,这些是目录的权限,现在针对其中的文件:

nathan@db-0:~$ ls -l /_bin
total 268
-rwxr-xr-x 1 root root  39696 Nov 19 22:25 ls
-rwxr-xr-x 1 root root 119800 Mar 31  2012 netstat
-rwxr-xr-x 1 root root 101240 Dec 12  2011 ps

现在,当我尝试删除其中一个文件(以 root 身份)时:

root@db-0:/home/nathan# rm /_bin/ls
rm: cannot remove `/_bin/ls': Operation not permitted

或者如果我尝试删除整个_bin目录(再次以 root 身份):

root@db-0:/home/nathan# rm -rf /_bin
rm: cannot remove `/_bin/ls': Operation not permitted
rm: cannot remove `/_bin/netstat': Operation not permitted
rm: cannot remove `/_bin/ps': Operation not permitted

那么我该如何删除这些文件呢?

编辑:

确实,不可变位已设置,但是,删除它并不允许我删除文件。

root@db-0:/home/nathan# lsattr /_bin
s---ia--------- /_bin/ls
s---ia--------- /_bin/netstat
s---ia--------- /_bin/ps

root@db-0:/home/nathan# chattr -R -i /_bin
root@db-0:/home/nathan# lsattr /_bin
s----a--------- /_bin/ls
s----a--------- /_bin/netstat
s----a--------- /_bin/ps

root@db-0:/home/nathan# rm -rf /_bin
rm: cannot remove `/_bin/ls': Operation not permitted
rm: cannot remove `/_bin/netstat': Operation not permitted
rm: cannot remove `/_bin/ps': Operation not permitted

还验证了/_bin没有不可变的位:

root@db-0:/home/nathan# lsattr -d /_bin
--------------- /_bin

答案1

最有可能的是,攻击者已将文件和目录设置为不可改变的属性。rootkit 通常这样做,以使清理变得更加困难。

为了确认这一点,请尝试:

lsattr /_bin

要删除不可变属性,请使用:

chattr -R -i /_bin

您还需要清除as属性,因为这些可能会影响您删除文件的能力。

chattr -R -i -a -s /_bin

请参阅chattr手册页来完整了解所有属性的含义和作用。

答案2

看起来粘性位仍在那里。

chmod -t /_bin

相关内容