今天个大家介绍一个linux下利用环境变量提权的方法。
这个方法呢,首先是你要有一个sudo权限的账户。
比如,我这里有个www账户,拥有sudo权限,然后我就利用这个www账户,提权到root权限。
欧克,下面开始提权。
首先第一步,先登陆www账户,并在家目录下创建script文件夹
然后在家目录下创建c文件,文件名称随便你愿意,比如test.c,该文件内容如下:
保存文件内容后,用sudo权限gcc编译该文件
可以看到,编译初一个可执行文件,给该文件的suid提权
提权之后,通过find命令查询具有SUID权限的文件,确认
可以看到,刚才添加suid生效,然后我们就可以利用环境变量来提权了。
首先尝试用echo命令来做
可以看到,一通操作之后,已经提权到root用户了。
我们在前面编写的.c文件中是利用了系统root账户,也即是uid和gid为0的账户,来执行ps命令,而这一步中,我们通过echo命令,讲ps命令已经切换成了/bin/bash,所以通过export将tmp目录加入环境变量后,执行刚才gcc编译的test命令,就相当于执行/bin/bash命令,就直接切换到root账户了。
同样的原理,我们还可以用cp、ln命令来进行提权
另外c文件里,我们除了用ps命令,还可以用其他命令,比如
或者你想可执行的命令,都可以试。
公众号ID:运维实谈
最实用的运维知识