首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

[权限提升] Windows 提权 & 维持 — 系统错误配置提权 - PATH 环境变量提权

  • 25-02-20 14:41
  • 3244
  • 10810
blog.csdn.net

关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客

0x01:PATH 环境变量提权原理

在 Windows 操作系统中,Path 环境变量是一个包含多个目录路径的列表,系统通过这些路径来查找可执行文件(如 .exe、.bat 等)。当你在命令提示符或运行对话框中输入命令时,系统会按照 Path 变量中的路径顺序搜索对应的可执行文件。

简单的来说,就是当用户在 CMD 命令行中运行一个命令时,若是没有使用绝对路径运行,比如 "C:\Windows\System32\ipconfig.exe",而是直接在 CMD 中输入 ipconfig 的话,那么 Windows 会先在当前目录下寻找 ipconfig.exe,若是没找到,则会根据 Path 环境变量中的目录依次去寻找:

我们通常新增 Path 环境变量都是在最后面添加,若是由于配置不当,导致在最前面新增了 Path 环境变量,那么在此目录下新建的与常用系统命令一样名字的 exe 程序就会被优先执行,若是执行命令的是一个高权限用户,则很可能会被攻击者获取权限:

0x02:PATH 环境变量提权环境配置

复现环境

  • 靶机 Windows 7:IP 192.168.0.126

  • 攻击机 Kali Linux:IP 192.168.0.100,安装了 Cobalt Strike 服务端

  • 攻击机 Windows 11:IP 192.168.0.1,安装了 Cobalt Strike 客户端,还配备了 C++ 环境

PATH 环境变量提权的环境比较好配置,使用管理员账号添加一条环境变量即可:

0x03:PATH 环境变量提权漏洞复现

0x0301:拿到靶机低权限用户 Shell

首先让靶机的一个普通用户上线 CS,笔者是通过 Windows 恶意程序上线靶机的:

如上,拿到靶机的一个 Users 用户组中的 Shell,下面我们就开始通过 PATH 环境变量进行提权。

0x0302:查找可利用的环境变量

输入下面的命令,查看目标系统中可以进行利用的环境变量:

 wmic ENVIRONMENT where "name='path'" get UserName, VariableValue

如上,发现 %SystemRoot% 前面有一个用户自己配置的 Python 环境变量目录。

0x0303:查看用户有写入权限

确定了可利用的目录后,我们还要确定当前用户对目标目录有无写入文件的权限,我们可以尝试性的往目标目录写入一个 txt 文件看看:

  1.  echo 123 > C:\Users\Public\Python3.10\test.txt # 写入指定文件
  2.  del C:\Users\Public\Python3.10\test.txt # 删除指定文件

通过如上测试,可以确定我们对目标目录存在读写权限,可以进行进一步的漏洞利用。

0x0304:制作恶意程序

接下来,我们制作一个劫持 ipconfig.exe 的程序,下面是其对应的 C++ 代码(记住保存的文件名是 ipconfig.cpp 哦):

  1.  #include
  2.  #include
  3.  ​
  4.  int main() {
  5.   system("cmd.exe /c C:\\Users\\test01\\Desktop\\artifact.exe");
  6.   return 0;
  7.  }

上面这个程序在运行后,会自动调用 CMD 去执行我们用 CS 制作的 Windows 反弹 Shell 的木马程序。

0x0305:上传恶意程序

接下来,我们将由上面代码生成的 ipconfig.exe 上传到靶机的 C:\Users\Public\Python3.10 目录下:

0x0306:等待管理员执行 & 提权成功

接下来,我们登录靶机,切换到 Administered 用户,执行 ipconfig 命令看看结果:

如上,当管理员执行 ipconfig 后,由于 PATH 环境变量的劫持,它执行了我们实现制作的恶意程序,导致将自己的权限直接移交给攻击者,攻击者成功提权。

Hack3rX
微信公众号
这里是探索网络安全与黑客技术的秘密基地
注:本文转载自blog.csdn.net的Blue17 :: Hack3rX的文章"https://blog.csdn.net/m0_73360524/article/details/145420923"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top