qui*_*tin 1 linux filesystems hacking command-line-interface rm
所以我被一个脚本小猫击中了......幸运的是,这个盒子是 Ubuntu 并且能够替换来自类似系统的二进制文件,但是,
我无法删除的一些文件,仍然难倒这个。被劫持的文件位于root/_bin可写的目录中。
nathan@db-0:~$ ls -ld !$
ls -ld /_bin
drwxr-xr-x 2 root root 4096 Mar 12 18:00 /_bin
Run Code Online (Sandbox Code Playgroud)
好的,这些是目录上的权限,现在是其中的文件:
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
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试删除这些文件之一(以 root 身份)时:
root@db-0:/home/nathan# rm /_bin/ls
rm: cannot remove `/_bin/ls': Operation not permitted
Run Code Online (Sandbox Code Playgroud)
或者,如果我尝试删除整个_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
Run Code Online (Sandbox Code Playgroud)
那么如何删除这些文件呢?
编辑:
果然不可变位已经设置,但是,删除它不会让我删除文件。
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
Run Code Online (Sandbox Code Playgroud)
还验证/_bin没有不可变位:
root@db-0:/home/nathan# lsattr -d /_bin
--------------- /_bin
Run Code Online (Sandbox Code Playgroud)
Mic*_*ton 10
攻击者很可能在文件和目录上设置了不可变属性。这通常由 rootkit 完成,以使清理更加困难。
要确认这一点,请尝试:
lsattr /_bin
Run Code Online (Sandbox Code Playgroud)
要删除不可变属性,请使用:
chattr -R -i /_bin
Run Code Online (Sandbox Code Playgroud)
您还需要清除a和s属性,因为它们可能会影响您删除文件的能力。
chattr -R -i -a -s /_bin
Run Code Online (Sandbox Code Playgroud)
有关chattr所有属性是什么以及它们的作用的完整说明,请参见手册页。
| 归档时间: |
|
| 查看次数: |
5367 次 |
| 最近记录: |