IIS 提权修复
土豆提权是一个老生常谈的话题,近些年也衍生出了很多新的土豆提权方法,各种攻击方法层出不穷。但微软却并不认为这是漏洞,因此也一直没有修复。这里我给出两种修复的方法。mssql 也同理。
我们知道出现这个提权漏洞的原因是因为 IIS 服务有 seimpersonateprivilege 这个模拟特权,那我们把这个 IIS 服务用户的该特权删掉即可。
介绍一下 IIS 的权限配置。
IIS_IUSRS组是用于管理IIS应用程序池权限的用户组。IIS_IUSRS组的主要用途是为IIS应用程序池(Application Pools)中运行的应用程序提供必要的权限。当在IIS中创建一个新的应用程序池时,该应用程序池的身份标识(Identity)会自动被添加到IIS_IUSRS用户组中。
所以有了 2 种限制权限方法,分别针对用户组与应用程序池的身份标识。
1. 删除模拟特权
删除 IIS_IUSRS 组的特权即可
将 IIS_IUSRS 组的模拟特权删除,然后重启机器后重启 IIS 服务即可。
自动化方案
1 | $secpolcfg = "C:\Windows\Temp\secpol.cfg" |
2. 修改默认应用程序池的身份标识
https://learn.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities
默认网站的应用程序池的标识是 ApplicationPoolIdentity ,所以很多情况下攻击者在拿到 webshell 的情况下的权限是 DefaultAppPool/ApplicationPoolIdentity ,这个用户是有模拟特权的。
可以新建一个普通用户来替换该用户。
这时拿到的 webshell 权限即为 DefaultAppPool/test 。是默认普通用户组的权限。