如何在 Windows Server 2012 中查询所有 IUSR 权限以防止黑客 shell 访问 IIS 8 网站

How to query all IUSR privileges in Windows Server 2012 to protect against hacker shell access on an IIS 8 website

我在一个网站上将一些恶意 javascript 附加到我的 .js 文件中,并在我的日志中跟踪到一个旧的 FCKEditor 漏洞。

作为一个相对新手,我已经阅读了一些关于这是如何完成的以及我如何防止它的内容,但我有几个具体的问题,列在下面。

如果有帮助,这是 Windows Server 2012、IIS 8 和 SQL Server,而且,我不好意思说出来,但这仍然是一个旧站点 运行宁经典ASP。这是我的问题:

  1. 我在 IIS 中将 IUSR 作为我的匿名用户。当黑客上传 .asp 文件以获得 shell 访问权限时,我假设他们只有通过 IUSR 授予他们的权限,对吗?如果服务器得到了适当的强化,他们就无法提升权限以获得比 IUSR 拥有的更多的访问权限,对吗?

  2. 我已将我的匿名用户更改为应用程序池身份。由于黑客的 grab-shell-access ASP 程序现在将没有 IUSR 的特权并且只有应用程序池身份,是否可以安全地假设他们无法获得 运行 类似 WHOAMI 或任何其他此类命令的命令?应用程序池标识(以及我的任何提供网页的 .asp 程序)有什么权利?

  3. 最后一个问题。好的,所以我显然在这个盒子上给了 IUSR 太多的权力,因为 IIS 的匿名用户可以 运行 一个 .asp 程序并获得 shell 访问权限。那么如何查询IUSR在整台电脑上有哪些权限呢?我知道我可以,例如,右键单击我的 inetpub 文件夹并查看安全性以查看 IUSR 可以做什么,但是有没有办法获取整个服务器的报告以了解该特定用户的全部权利和特权。

我对这些问题的关注更多是关于一般学习而不是保护这个盒子。我敢肯定有些人可能倾向于说你的盒子可能是烤面包和后门,所以把它扔掉并从一个新服务器开始,但我知道这一点。我也知道我应该做一些我没有做的强化。感谢您对以上问题的回答,这将帮助我学习和提高。非常感谢。

1.IUSR 将决定您使用什么身份查看您的网页,而应用程序池身份将决定应用程序或 shell 是否可以执行。所以你需要最小化app pool identity和iusr的权限。

2.By 默认应用程序池标识无权访问诸如 powershell 或 cmd 之类的内容。这样你就不用担心会执行whoami之类的命令了。

3.I恐怕没有简单的权限遍历方法。但是你只需要确保你已经最小化了你的应用程序池身份权限。