Microsoft发布了新版本的PowerShell Core来修复漏洞,该漏洞允许本地攻击者绕过Windows Defender应用程序控制(WDAC)强制执行。即使启用了WDAC,这也可能允许攻击者执行不受信任的程序。
Windows Defender Application Control是Microsoft提供的一种安全产品,只允许在Windows中运行受信任的应用程序和驱动程序。这种白名单方法提供了显着的安全性改进,因为只有受信任的应用程序才能运行,而恶意软件等未知应用程序永远不会被允许。
在Windows中启用系统范围的应用程序控制解决方案(如Device Guard和WDAC)时,PowerShell将自动进入约束语言模式,这限制了对某些Windows API的访问。
Microsoft今天披露了一个名为“Windows Defender应用程序控制安全功能绕过漏洞”并分配了ID CVE-2019-1167的新漏洞。此漏洞允许本地攻击者绕过PowerShell核心约束语言模式绕过WDAC强制执行。
“Windows Defender应用程序控制(WDAC)中存在一个安全功能绕过漏洞,可能允许攻击者绕过WDAC强制执行。成功利用此漏洞的攻击者可以绕过计算机上的PowerShell核心约束语言模式。
要利用此漏洞,攻击者首先可以访问PowerShell以约束语言模式运行的本地计算机。通过这样做,攻击者可以利用脚本调试以无意的方式滥用已签名的模块。
此更新通过更正PowerShell在约束语言模式下的运行方式来解决漏洞。“
强烈建议管理员更新到最新版本的PowerShell Core以解决此漏洞。
如何判断您是否受此漏洞影响
此漏洞会影响6.1.5之前的所有PowerShell Core 6.0,PowerShell Core 6.1版本和6.2.2之前的PowerShell Core 6.2版本。
要检查正在运行的PowerShell版本并确定您是否容易受到攻击,可以pwsh -v
从命令提示符执行该命令。
如果您运行的是受影响的版本,则可以转到PowerShell核心版本页面(https://github.com/PowerShell/PowerShell/releases)并下载最新版本(6.2.2或6.1.5)。
如果您知道安装了PowerShell Core,但pwsh.exe命令不起作用,那么您使用的是PowerShell Core 6.0,并且需要更新到更新的版本。