本次学习利用Windows环境变量配置错误进行提权
实验原理
系统在执行用户命令时,若用户未给出绝对路径,则首先在当前目录下寻找相应的可执行文件、批处理文件等。若找不到,再依次在PATH保存的这些路径中寻找相应的可执行程序文件(windows环境变量的查找顺序是按照文件的录入顺序从前往后寻找的,最前面一条的优先级最高,如果找到命令就不会再向后找了)。
如果由于配置不当把不安全的文件路径放在环境变量最前面,那么执行系统命令时会先从不安全的文件路径里查找,由此将会产生一些安全隐患。
实验过程
首先我们已经获取了目标服务器的webshell,但当前用户权限为iis的低权限用户
由于命令行里面执行程序需要根据环境变量来查找执行路径
先看一下当前的环境变量
发现环境变量首位是我们可以操作的web文件目录,如果我们伪造一个恶意系统程序(例如ipconfig)放在此目录下
那么当管理员用户使用ipconfig命令时,就会执行我们的恶意程序
编写创建用户并添加管理员用户的恶意代码
通过gcc编译成可执行程序,并下载到桌面
本地测试运行一下,发现不兼容
查找解决方法
重新生成,本地测试成功执行
通过webshell上传ipconfig.exe,由于当前权限较低,只能在iC:/intepub/wwwroot文件夹下进行操作
等待目标设备管理员用户运行ipconfig,当目标管理员用户执行后,成功生成新的管理员用户
攻击机通过新生成的用户远程桌面登录到目标服务器
成功获取目标服务器管理员权限
不过此方案较为繁琐,而且利用条件受限制,一般实战过程中不建议使用
标签:windows,ipconfig,用户,提权,查找,管理员,环境变量 From: https://www.cnblogs.com/byzd/p/17867696.html