以明文显示的IIS应用程序池标识帐户密码

以明文显示的IIS应用程序池标识帐户密码,iis,appcmd,applicationhost,Iis,Appcmd,Applicationhost,当我使用appcmd list appool/text::命令时,它以明文形式向我显示应用程序池标识密码。我也可以在PowerShell中使用Get WMIObject以明文形式查看密码。这可能是一个严重的安全威胁,因为具有正确访问凭据的用户可以轻松查看密码 IIS(v7.5)中的应用程序池是使用域用户帐户/密码配置的。在applicationHost.config文件中,使用iisasonlyaesprovider加密提供程序对密码进行加密。不过,当我使用上述两种方法中的任何一种时,密码都以明

当我使用
appcmd list appool/text::
命令时,它以明文形式向我显示应用程序池标识密码。我也可以在PowerShell中使用
Get WMIObject
以明文形式查看密码。这可能是一个严重的安全威胁,因为具有正确访问凭据的用户可以轻松查看密码

IIS(v7.5)中的应用程序池是使用域用户帐户/密码配置的。在
applicationHost.config
文件中,使用
iisasonlyaesprovider
加密提供程序对密码进行加密。不过,当我使用上述两种方法中的任何一种时,密码都以明文显示


当我使用上述两种方法时,是否有任何方法可以加密密码,使其不会以明文形式显示?

除非发生了变化,否则答案是否定的。最好通过以下方式说明原理:

这就像说某人家的窗户不安全,因为窃贼只需从里面打开窗户就可以进入房子。(但如果窃贼必须进入室内才能打开窗户……)

总之,任何可以访问您的IIS服务器、可以远程对您的服务器执行WMI命令或可以对您的服务器执行powershell命令的人都有访问权限


他们被认为是管理员,并且被认为是受信任的,因为有时管理员需要获取密码以进行恢复,或者如果没有进行适当的笔记或密码管理,则需要将节点添加到共享池中[主要是在需要共享密码的域群集上进行基本身份验证时需要].

只有当您以管理员身份运行
appcmd
时,密码才会被解密。如果您以普通帐户运行,则会返回加密字符串


这类似于
[enc:IISSomethingProvider:…:enc]
,正如您在applicationHost.config中找到的那样。

我不是工作机器上的管理员,但Visual Studio是在管理员权限下启动的(这可能是使用某些软件配置的)。我被要求为同事导出我的iis配置。因此,我使用VS、文件、打开菜单,并以管理员权限打开命令提示符(因为VS拥有这些权限),我导出了配置,无意中看到了不允许看到的密码(我没有配置IIS)。我承认我的情况很少见。